2009-05-14 24 views
8

Sto scrivendo una piccola rete che crea solo alcune animazioni e mostra alcune informazioni come homepage e un elenco di collegamenti. Tutto ciò che verrà generato dinamicamente dal lato client. Quindi tutto sarà javascript e XML.Quando devo usare una libreria di framework javascript?

Recentemente ho letto alcune domande su SO su javascript e la maggior parte delle situazioni riguardava l'uso e/o la raccomandazione di un framework (jquery e amici). Quando un piccolo sviluppo del web dovrebbe iniziare a considerare l'uso di tale framework?

Sono stato fino ad ora facendo le mie cose solo con un semplice javascript, per quanto non sto implementando un grande sito vale la pena imparare un framework?

Grazie

risposta

10

Su SO troverete un sacco di persone (incluso me) che sostengono l'uso di jQuery (in particolare). Per me, è tutto ciò che un framework dovrebbe essere: piccolo, leggero, estensibile, compatto ma potente e sintassi breve e risolve alcuni problemi piuttosto importanti. Onestamente avrei difficoltà a cercare di immaginare un progetto in cui non lo userei (o un altro framework).

Il motivo per usarlo è risolvere i problemi di compatibilità del browser. Prendere in considerazione la mia risposta a javascript to get paragraph of selected text in web page:

function getSelectedParagraphText() { 
    var userSelection; 
    if (window.getSelection) { 
     selection = window.getSelection(); 
    } else if (document.selection) { 
     selection = document.selection.createRange(); 
    } 
    var parent = selection.anchorNode; 
    while (parent != null && parent.localName != "P") { 
    parent = parent.parentNode; 
    } 
    if (parent == null) { 
    return ""; 
    } else { 
    return parent.innerText || parent.textContent; 
    } 
} 

Se avete familiarità con JavaScript un sacco di questo dovrebbe essere noto a tutti: le cose come il controllo per innerText o textContent (Firefox 1.5) e così via. Javascript puro è disseminato di cose come questa. Consideriamo ora la soluzione jQuery:

function getSelectedParagraphText() { 
    var userSelection; 
    if (window.getSelection) { 
     selection = window.getSelection(); 
    } else if (document.selection) { 
     selection = document.selection.createRange(); 
    } 
    var parent = selection.anchorNode; 
    var paras = $(parent).parents("p") 
    return paras.length == 0 ? "" : paras.text(); 
} 

Dove jQuery brilla davvero è con AJAX. Il codice JavaScript si frammenta per trovare l'oggetto corretto da istanziare (XMLHttpRequest o equivalente) per fare una richiesta AJAX. jQuery si prende cura di tutto ciò per te.

Tutto questo per meno di 20k per il file jQuery Javascript core. Per me, è un must-have.

11

mi piacerebbe iniziare proprio adesso. Librerie come jQuery e prototipo non solo ti isolano dalle differenze tra browser, ma ti forniscono anche una scorciatoia per comunicare le tue idee ad altri programmatori.

2

L'accordo con jQuery è l'approccio di fare javascript, ma con meno lavoro e comunicare più facilmente con gli altri, quindi direi

pensare in questo modo, sarebbe piuttosto scrivere un documento in Microsoft Word o blocco note

+2

ufff Sono un forte sostenitore vim!: D – alvatar

+2

perché non usare lattice = D –

+0

solo una semplice analogia per i non tecnici, dal momento che la parola ms è fatto per gestire formattazione del testo non si può fare in Blocco note – TStamper

4

Ogni volta che si scrive javascript non è la vostra attività.

Le librerie JS, oltre a fornire helper e scorciatoie, si occupano anche di casi d'angolo, incompatibilità e peculiarità del browser e best practice. È meglio che passi il tempo a sviluppare la tua applicazione e ricada al JS nativo solo se necessario.