Principii esențiale ale maeștrilor Javascript

JavaScript este una dintre cele mai utilizate limbi în dezvoltarea web. Este simplu, dar foarte puternic, iar numărul de moduri în care poate fi folosit este aproape nelimitat. De aceea este atât de important să obții sfaturi de la cei care au plecat înaintea ta. Iată 10 sfaturi de la dezvoltatorii de web bine respectați în cadrul comunității JavaScript.

1. Nu lăsa la îndoială obligația - Christophe Porteneuve

Christophe Porteneuve are niște cotlete serioase. El dezvoltă site-uri Web încă din 1995, a condus departamentul de inginerie software al unei colegii IT importante și acum este CTO-ul Ciblio.net. Este atât de bun la ceea ce face el că echipa de la A List Apart ia oferit un imobil pe ecran pentru a-și împărtăși o parte din perspectivele sale.

Christophe lovește o fațetă foarte importantă a lui javascript: legături.

Aproape nici un limbaj de programare orientat obiect (OOP) nu te obligă să consideri obligatoriu. Adică, ei nu solicită să vă calificați în mod explicit accesul la membrii obiectului curent (metode și proprietăți) cu o referință cum ar fi aceasta sau de sine. Dacă apelați o metodă pe un anumit obiect, de obicei îl apelați pe obiectul curent. Același lucru se întâmplă când treceți o metodă pentru o invocare ulterioară: ea își va păstra obiectul curent. Pe scurt, pentru majoritatea limbilor OOP, legarea este implicită.

Christophe continuă să ofere exemple de legare adecvată și de recunoaștere a modelelor sensibile obligatorii. Iată patru puncte de preluare în articolul lui Christophe:

  • Orice acces membru trebuie să fie calificat cu obiectul la care se referă, chiar și atunci când este acest.
  • Orice tip de referință a funcției (atribuirea ca valoare, trecând ca argument) pierde obligația inițială a funcției.
  • JavaScript oferă două modalități echivalente de specificare explicită a unei obligații a unei funcții atunci când o apelați: aplica și apel.
  • Crearea unei "referințe a metodei ú" necesită o funcție anonimă de împachetare și un cost de apelare. În situații specifice, închiderea cu pârghie poate fi o alternativă mai bună.

2. Folosiți biblioteci JavaScript în loc de Flash sau alte animații - Dave Shea

Dave Shea este un dezvoltator și designer web respectat, probabil cel mai bine cunoscut pentru munca sa excelentă pe CSS Zen. Dave a arătat o capacitate incredibilă de a proiecta interfețe de utilizare excepționale și este un alt autor al excelentei A List Apart.

Bibliotecile JavaScript sunt ca un cuțit al armatei elvețiene pentru dezvoltatorul Web. Există nenumărate arome ale bibliotecilor JavaScript de a alege, iar numărul de dezvoltatori care dezvoltă plug-in-uri pentru aceste biblioteci crește zilnic. Puteți utiliza bibliotecile JavaScript pentru aproape orice funcționalitate.

Ia sprite de CSS, de exemplu. În loc să folosești machete grele pentru a obține un efect de rollover, Dave Shea crede că ar trebui să folosești mici biblioteci JavaScript ca jQuery pentru a scoate aceeași funcție. Dave afișează câteva dintre avantajele utilizării bibliotecilor JavaScript, în special a celor găzduite de Google.

Deoarece mulți alți dezvoltatori web vor fi conectați la codul Google, există șansa ca JavaScript să se afle deja în memoria cache a browserului. Folosirea bibliotecilor JavaScript vă va permite să vă concentrați mai mult timp asupra dezvoltării, cu mai puțin timp petrecut în scrierea codului JavaScript.

3. Scrie JavaScript cu micro-template-uri - John Resig

John Resig este unul dintre cei mai populari dezvoltatori JavaScript de pe planetă. El a creat jQuery biblioteca JavaScript extrem de populară. A scris o carte despre tehnicile Pro JavaScript și chiar și-a împărtășit cunoștințele de scripting pe blogul personal.

John oferă o metodă mai degrabă unică pentru accelerarea timpului de dezvoltare a JavaScript-ului prin utilizarea de micro-șabloane.

Am avut o mică utilitate pe care am dat-o pentru ceva timp acum, pe care mi-am găsit-o destul de utilă în eforturile mele de construire a aplicațiilor JavaScript. Este o funcție foarte simplă de template care este rapidă, cache rapid și este ușor de folosit. Am câteva trucuri pe care le folosesc pentru a face cu adevărat distracție să mă dezamăgesc.

În timp ce folosirea micro-șabloanelor nu este critică, poate accelera într-adevăr procesul de dezvoltare. Consultați câteva din exemplele lui John de micro-templating pentru a obține o mai bună simțire a beneficiilor funcției templante.

4. Legarea metodelor la obiecte - Ayman Hourieh

Ayman Hourieh este absolvent de informatică, angajat Google și autor al dezvoltării web Django. Ayman își cunoaște modul de programare elegant.

În articolul său prezentând nouă sfaturi JavaScript, Ayman atinge un aspect puțin mai avansat al metodelor de legare la obiecte.

Oricine lucrează cu evenimente JavaScript ar fi întâmpinat o situație în care trebuie să atribuie o metodă unui obiect unui manipulator de evenimente. Problema aici este că agenții de procesare a evenimentelor sunt chemați în contextul elementului lor HTML, chiar dacă au fost inițial legați de un alt obiect. Pentru a depăși acest lucru, folosesc o funcție care leagă o metodă unui obiect; este nevoie de un obiect și de o metodă și returnează o funcție care numește întotdeauna metoda în contextul acelui obiect.

Folosind Prototype și un mic cod personalizat, Ayman oferă un sfat excelent pentru metodele de legare la obiecte. Un truc mic, simplu și eficient.

5. Bazați-vă pe delegarea evenimentului - Andrew Tetlaw

Andrew Tetlaw dezvoltă site-uri Web încă din 1997 și este editorul tehnic pentru SitePoint. SitePoint nu ar fi angajat doar un coleg pentru a deveni editorul tehnic al acestora. Scrierea lui Andrew la SitePoint este o dovadă a acestui fapt.

Utilizarea interactivității JavaScript în planurile dvs. poate fi o sarcină descurajantă. Dar Andrew a arătat că utilizarea delegării de evenimente nu este doar mai ușoară decât ați putea crede, ci oferă și multe avantaje cum ar fi eliminarea scurgerilor de memorie.

Evenimentele JavaScript sunt fundalul tuturor interactivității pe paginile web (înțeleg interactivitatea serioasă, nu cele din meniul drop-down CSS dinamic). În cazul manipulării tradiționale a evenimentelor, adăugați sau eliminați manipulatori de evenimente din fiecare element, după cum este necesar. Cu toate acestea, manipulatorii de evenimente pot provoca scurgeri de memorie și degradare a performanței. "Cu cât aveți mai mult, cu atât este mai mare riscul. Delegarea evenimentelor cu JavaScript este o tehnică simplă prin care adăugați un singur handler de evenimente unui element părinte pentru a evita să adăugați agenți de manipulare a evenimentelor la mai multe elemente copil.

Multe dintre bibliotecile JavaScript majore au exemple de delegare a evenimentelor, deci nu va trebui să vă scrieți propriul scenariu personalizat.

  • jQuery
  • prototip
  • YUI

6. Știți când să utilizați delegarea evenimentului - Chris Heilmann

Chris Heilmann este un evanghelist de dezvoltare internațional care lucrează pentru Rețeaua de dezvoltatori Yahoo. Chris are câteva cuvinte cheie JavaScript importante și puteți vedea multe prezentări live de pe site-ul său personal.

Chris a dezvoltat un tutorial excelent care arată diferențele dintre delegarea evenimentului și manipularea evenimentelor.

Diferența dintre cei doi este că exemplul "Handlers" este destul de lent atunci când lista este foarte mare, în timp ce exemplul "Delegare" poate fi extins la fel de mult cât doriți, fără a adăuga mai multe cheltuieli generale. Ultimul exemplu este, de asemenea, mult mai ușor de schimbat.

Evenimentul Delegare este mai potrivit pentru aplicații mai mari, în timp ce Manipularea evenimentelor este mult mai potrivită pentru proiectele mici.

Pentru eforturi foarte mici de manevrare a evenimentului, soluția clasică vă oferă mai mult control și este ușor de predat altor dezvoltatori fără prea multe explicații. Cu toate acestea, delegația evenimentului este probabil singura modalitate de a păstra o aplicație mare cu o mulțime de elemente pentru a aplica manipularea (sau elemente încărcate dinamic).

7. Faceți răspunsurile AJAX cacheabile - echipa YUI

Dacă a existat vreodată o echipă de "maestri JavaScript", Yahoo! Rețeaua de dezvoltatori ar putea fi. Yahoo! Echipa de dezvoltatori a oferit un avantaj incredibil comunității de dezvoltare. Acestea conțin articole și sfaturi utile de la propriii lor dezvoltatori, astfel încât să putem fi siguri că toate cunoștințele pe care le împărtășesc trec printr-un standard foarte înalt.

Ajax poate fi un instrument minunat pentru a oferi o experiență mult mai bogată utilizatorilor unui site web. Cu toate acestea, compromisul la folosirea lui Ajax este că uneori se încarcă mai lent decât un site tradițional. Echipa de dezvoltatori Yahoo a dezvoltat câteva sfaturi despre lucrul cu JavaScript și Ajax, în special cu caching-ul Ajax, deci timpul de răspuns este mult mai rapid.

În multe aplicații, indiferent dacă utilizatorul este sau nu așteaptă să aștepte, depinde de modul în care este utilizat Ajax. De exemplu, într-un client de e-mail bazat pe web, utilizatorul va fi așteptat în așteptarea rezultatelor unei solicitări Ajax pentru a găsi toate mesajele de e-mail care corespund criteriilor lor de căutare. Este important să ne amintim că "asincron" nu implică "instantanee".

Pentru a îmbunătăți performanța, este important să optimizați aceste răspunsuri Ajax. Cea mai importantă modalitate de a îmbunătăți performanța Ajax-ului este de a face ca răspunsurile să poată fi cacheabile ...

Caching apelurile Ajax cu metode cum ar fi adăugarea unui Expires sau a unui Cache-Control Headercan accelerează foarte mult timpii de răspuns al aplicației.

8. Puneți scripturi în partea de jos a paginii - YUI

Nu este o surpriză faptul că echipa YUI va face această listă de două ori, cu baza largă de cunoștințe despre sfaturile JavaScript.

Un aspect simplu, dar cheie, al dezvoltării cu JavaScript, pe care mulți dezvoltatori o ignoră, este adăugarea codului JavaScript în partea de jos a paginii, spre deosebire de partea de sus. Prin adăugarea JavaScript include în partea de sus a paginii, blocați și descărcări paralele ale altor elemente din cadrul paginii, cum ar fi imaginile.

Nu este întotdeauna cea mai bună idee de a adăuga JavaScript include în partea de jos, dar de multe ori poți, iar performanța ta va crește din cauza asta.

9. Nu utilizați constructorul Eval - Julien Lecomte

Julien Lecomte este încă un Yahoo! Dezvoltator angajat în rețea. Este un om foarte priceput cand vine vorba de optimizarea codului JavaScript, deoarece a scris si compresorul YUI, precum si managerul de istorie YUI.

Într-o discuție oferită de Julien, el oferă câteva sfaturi excelente privind optimizarea JavaScript. În timpul prezentării, Julien afirmă că programatorii JavaScript ar trebui să rămână cât mai departe de constructorul Eval. Pe diapozitivul 19 al discursului veți vedea rațiunea lui.

  • Șirul transmis către Eval (și rudele sale, constructorul funcțiilor și funcțiile setTimeout și setInterval) trebuie să fie compilat și interpretat. Extrem de lent!
  • Nu treceți niciodată un șir la funcțiile setTimeout și setInterval. În schimb, treceți o funcție anonimă.
  • Nu utilizați niciodată Eval și constructorul de funcții (cu excepția unor cazuri extrem de rare și numai în blocuri de coduri unde performanța nu este critică).

10. Asignarea față de operatorii de egalitate - Peter-Paul Koch

Peter-Paul Koch este un popular dezvoltator de Internet Apple, care rulează de asemenea site-ul Quirksmode care conține oudele de sfaturi JavaScript. Peter-Paul a scris, de asemenea, ppk pe JavaScript, care oferă tot felul de informații despre dezvoltarea JavaScript.

PPK atinge o neînțelegere majoră (și comună) pe care noii scriitori de script-uri Java le-ar putea întâlni frecvent: = sau == ?

O greșeală de scriere greșită a JavaScriptorilor este confuză cu operatorii de atribuire și de egalitate = și ==. Dacă doriți să comparați două valori, ar trebui să utilizați un dublu semn egal deoarece funcționează JavaScript. Dacă utilizați în mod accidental un singur semn egal, nu comparați valorile, dar atribuiți o valoare unei variabile.

În timp ce nu este un concept de împrăștiere a pământului sau de împrăștiere a informațiilor, este un memento utilă care poate salva multe ore pentru programatorul de început.

  • Abonați-vă la fluxul RSS NETTUTS pentru mai multe tutoriale și articole zilnice de dezvoltare web.

Glen Stansberry este un dezvoltator web și un blogger care sa luptat de mai multe ori decât ar dori să recunoască cu CSS. Puteți citi mai multe sfaturi despre dezvoltarea web la blogul său Web Jackalope.

Dacă ați găsit acest post util, vă rog să vă mulțumesc cu un Digg:


Cod