jQuery är den största öppen källkoden, cross-browser, CSS3-kompatibel, JavaScript-biblioteket runt och det har gjort en skript på klientsidorna.

Syntaxen är enkel och jQuery kan skapa vackra nästan Flash-liknande animeringar. Till skillnad från Flash är jQuery synlig på iOS och det producerar dynamiska webbsidor enkelt.

jQuery växer snabbt i popularitet och med den senaste jQuery-konferensen som hölls i San Francisco i slutet av juni verkar det vara en lämplig tid att starta en konversation om jQuery och specifikt några av för-och nackdelarna med att använda den för mer krävande jobb.

De goda

Kanske är det bästa med jQuery att du inte behöver vara ett programmeringsgeni till wow-klienter.

Det finns vanligtvis mer än ett sätt att skona en katt, men möjligheten att lägga till plugin-program ovanpå basbiblioteket gör jQuery till en otroligt flexibel och framförallt snabb lösning. Att använda CSS kan vara det bättre valet i vissa fall (se nedan) men om dina programmeringsförmågor är mer begränsade väljer du jQuery för att få jobbet gjort.

Webbutveckling är för ofta en process som är fastspänd för tid och spara minuter eller till och med timmar av arbete är ofta inte en lyx men en nödvändighet. John Resig och de andra utvecklarna bakom jQuery-projektet förstår verkligen tid / pengekvationen som möter webbutvecklare dagligen. Snabbt genomförande innebär vanligtvis fler dollar i fickan.

Javascript, den komplicerade implementeringen av CSS och de väl publicerade nackdelarna med Flash gör jQuery den mest praktiska lösningen för många vanliga problem, inklusive DOM-transverser, händelsehantering, AJAX-interaktioner och animering.

Microsoft och Nokia är båda bakom jQuery och planerar att bunta det i sina nya plattformar som föreslår en ljus framtid framöver. Dessutom är nästan alla i open source-communityen bakom jQuery eftersom:

  • Gemenskapens stöd är stort
  • Det gör DOM-manipulation smärtfri
  • Det spelar bra med AJAX
  • Det gör grundläggande animering en bit tårta
  • Set valet är smärtfritt
  • Det finns plug-ins
  • Buggar identifieras och fixas snabbt

Öppen källkod möjliggör snabb och dynamisk tillväxt. Det finns inga licenser att oroa sig för och det är gratis. Gratis faktiskt översätts till ett samhälle av sinnen som är mycket bredare och smartare än utvecklarna som hålls fängslade av ett företag.

Kärnan i jQuery har byggts av några av de mest lysande sinnena i verksamheten och utvecklingen exploaterar bokstavligen.

Community

Paper cut av affärsman på gammal bok via Shutterstock

Det dåliga

Open source har sina problem: till exempel är inte allt byggt till en gemensam standard. Det här är bra om din kund - eller mer sannolikt, du - har tid och pengar för att investera tweaking code. Men om tid, pengar, förmåga eller alla tre är bristfälliga kommer din rygg att vara upp mot väggen när något går fel.

Den senaste stabila versionen av jQuery (v1.7.2) släpptes den 21 mars 2012, så möjligheten att hitta vanliga lösningar för din exakta fråga, som dras från communitypoolen kommer sannolikt att vara bristvara under en tid framöver.

Ett annat stort problem med jQuery är att det finns flera versioner där ute. Vissa versioner spelar bra med andra och vissa gör det inte. Till exempel har webbläsarkompatibilitet med animeringar varit ett allvarligt problem med jQuery-animationer. Om du är säker på att du för närvarande kör den senaste jQuery-uppdateringen kommer du att åtgärda många av de kända problem som är relaterade till jQuery-animationer, men du får välja mellan att vara värd för biblioteket själv och kontinuerligt uppdatera eller ladda biblioteket från Google och riskera inkompatibilitet med din kod som nya versioner släpps.

AJAX-kontrollverktyget tillhandahåller kontroller på serverns sida. Detta ger en utvecklare mycket mer kraft och flexibilitet. Men AJAX-verktygssatsen är stor och skrymmande jämfört med jQuery. När jQuery fortsätter att utvecklas kommer den lätta koden säkert att vinna ut speciellt med Microsoft ombord - genom att stödja jQuery Microsoft dumpar i själva verket sin egen MicrosoftAjax.js. På ytan är resultaten av att använda jQuery för att hantera XML riktigt coola; det finns så få rader av kod, det verkar bara så enkelt ...

Hantering av AJAX och jQuery är emellertid ett vanligt område där nackdelarna med att inte vara en programmerare ofta blir uppenbara. Att förstå de grundläggande skillnaderna mellan GET och POST HTTP-förfrågningar är till exempel avgörande, och ändå är det så många designers som saknar denna kunskapsplov på, och förväntar sig att jQuery tar upp sin slöja. Det finns fallgropar som designers kanske inte är medvetna om, till exempel kan GET-förfrågningar begränsas i längd och många oerfarna programmörer växlar enkelt till POST för att lösa problemet. Detta kan vara en dålig idé, GET gör inga varaktiga ändringar på servern medan POST kan. POST är inte ett kommando som ska upprepas med godtyckligt men det används ibland ibland.

En annan vanlig serverkomplikation relaterad till jQuery ger sitt fula huvud om $ .get används istället för $ .getJSON (javascriptobjektnotation). Att inte använda $ .getJSON för dataöverföringsproblem kan orsaka alla slags kaos.

Don't run before you can walk

Ung pojke låtsas att driva en jätte jordmäklare via Shutterstock

Det är lätt att vara cool med jQuery, det är inte så lätt att vara cool och korrekt.

Att använda jQuery och speciellt cool jQuery kräver väl ett engagemang för samhället. Utvecklingen är snabb och det är spännande men det kan också leda till frågor som är relaterade till tiden. Utvecklingen är så snabb på vissa områden att om en utvecklare inte följer och deltar i samhället regelbundet är det lätt att komma till vänster i dammet. Det här är ett ytterligare engagemang för utvecklare som är fastspända för att försöka driva ett företag, ta hand om flera kunder, genomföra SEO och Content Marketing-kampanjer och fortfarande se sina barn.

Det är nödvändigt att realistiskt utvärdera din färdighetsnivå och den tid som krävs för att hålla sig på toppen av alla nya jQuery-utvecklingar.

Och den fula

De två stora elefanterna i garderoben som är relaterade till jQuery har lämnats förra: hastighet och spagetti-kod.

jQuery kan vara långsam, och för animering är det ibland mycket långsammare än att använda CSS. På en stor komplex plats räknas varje liten skiva av en sekund. Anledningen till detta är dubbelt: flera DOM-manipuleringar, en på toppen av en annan kan sakta ner en sida ner; För det andra använder CSS webbläsarsändningar för animeringar och skrivs i C ++. Detta gör det lite snabbare än JavaScript.

jQuery spaghetti, om du inte har kommit över det ändå, med tiden kommer du. jQuerys största attribut - hur lätt det är att använda - är också dess achillesläkning. jQuery är ett bibliotek som är utformat för att hjälpa till med DOM-transverser och CSS-väljare. Det gör detta med fantastisk effektivitet. Det är inte avsett att användas som ram för interaktion på klientsidan. När det används felaktigt, speciellt jQuery CSS selectors, kan slutresultatet vara kod som växer och växer i en monster-sized .js-fil tills det blir omöjligt att behålla. Kasta återkallelser, några kosmetiska designändringar och generisk namngivning och nere på vägen. Att upprätthålla en jQuery-webbplats kan bli en mardröm.

Eating spaghetti

Vintagefoto av två unga pojkar som äter spaghetti med sina händer via Shutterstock

JQuery-samhället hanterar problemen kring jQuery spaghetti. Cedric Dugas ökade medvetenheten om jQuery spaghetti på Confoo. Han är bland annat dedikerad till att påminna programmerare om att använda bästa praxis med jQuery för att förhindra mammutiskar av spagetti. Som en front-end-designer kommenterade, att verkligen använda jQuery, behöver du veta och förstå JavaScript. Klippning och pasta har definitivt sina nackdelar genom att det möjliggör resultat utan förståelse. Även om detta kan fungera ett tag kan det också orsaka alla slags långsiktiga underhållsproblem.

Att använda en bra ram kan hjälpa till att förhindra några av jQuery spaghetti. Tyvärr är ramverk verkligen ett nytt område och det tar tid att välja rätt ram (er) och få dem att leka snyggt med varandra. Återigen måste denna ytterligare tid inräknas i jQuery-ekvationen. För närvarande finns det många ramar som dominerar klientsidan MVS Framework Space. Backbone.js är den mest populära just nu men det har en viss allvarlig konkurrens.

Sammanfattningsvis

jQuery är ett av de bästa biblioteken där ute och det kan göra att skriva JavaScript mycket enklare. Men som många verktyg används jQuery på bästa sätt av en sakkunnig hantverkare. Faller vi alla under denna kategori? Självklart inte. Betyder det att vi inte ska använda jQuery? Självklart inte. Det föreslår bara att det är en bra idé att ha tillräckligt med känsla för att få hjälp när du är ute av ditt djup.

Använder du jQuery och känner du även JavaScript? Behöver du förstå programmering för att implementera jQuery? Låt oss veta vad du tycker i kommentarerna.