it-swarm.it

prototype.js o jQuery per nuovi progetti?

Dovrei usare prototype.js o jQuery per un nuovo progetto? Rails viene fornito con prototype.js ma jQuery sembra la libreria preferita per il resto del mondo. Prototype.js è ancora in fase di sviluppo attivo? Sembra un po 'polveroso ...

7
Aaron

È principalmente una questione di preferenza. Ad alcune persone non piace il modo in cui Prototype estende gli oggetti, ma per un uso di base sono abbastanza equivalenti.

Prototype è ancora in fase di sviluppo attivo: hanno lanciato un candidato alla release per la prossima release solo un paio di mesi fa.

6
Matthew Shanley

Niente contro il prototipo, ma non ha la quantità di plug-in o una comunità quasi altrettanto grande di jQuery.

Per jQuery esiste già un plug-in per quasi tutto, quindi finisco per scrivere molto meno js.

8
corymathews

I motivi per cui utilizzo jQuery su qualsiasi altra libreria:

Veloce e leggero
jQuery continua ad aumentare le prestazioni della propria libreria anche nelle versioni di livello minore. Quando hanno rilasciato la 1.4.2, la velocità della libreria è stata notevolmente aumentata anche dalla 1.4.1, come mostrato in un post sul blog Ajaxian relativo alla sua versione. L'analisi delle prestazioni di 1.4 rispetto a 1.3 è stata effettuata dal team jQuery nell'annuncio release per 1.4 , mostrando che 1.4 era stato pesantemente ottimizzato nelle aree del suo uso più frequente e che le prestazioni erano aumentate su tutta la linea.

Popolare
jQuery è servito da 48 dei primi 2000 siti Web nella directory di Alexa, rispetto a 6 di Prototype, 3 di MooTools e 1 di Dojo.

Creato con Javascript Distrobution indica che jQuery è utilizzato da oltre il 40% dei siti indicizzati. Costruito con Statistiche sull'utilizzo di jQuery show 32% dei primi 10.000 siti, 23% dei primi 100.000 siti e il 15% dei primi 1.000.000 siti nel loro indice usando jQuery. Compare this to Prototype 5%, 4% e 2% rispettivamente in quelle categorie. Si noti inoltre che mentre gli usi di jQuery tendono costantemente verso l'alto, gli usi di Prototype sono tutti tendenti al ribasso.

Sviluppato attivamente (e in modo intelligente)
A marzo, jQuery ha pubblicato sul suo blog Microsoft per espandere la sua collaborazione con la comunità jQuery . Dal post:

Il progetto jQuery è lieto di annunciare che Microsoft sta espandendo il proprio supporto della libreria JavaScript jQuery attraverso nuove iniziative, per includere contributi in codice, integrazione del prodotto e allocazione di risorse aggiuntive.

...

Microsoft distribuirà inoltre una versione corrente della libreria JavaScript jQuery sia in Visual Studio 2010 sia in ASP.NET MVC, nonché continuerà a ospitare le versioni correnti della libreria sul CDN Microsoft.

Microsoft è ora inclusa nella community di collaboratori attivi alla base di codice jQuery. Microsoft ha alcuni sviluppatori molto intelligenti . Microsoft contribuisce anche finanziariamente a jQuery. Microsoft ha molti soldi. Stanno inoltre offrendo jQuery all'istante per qualsiasi sviluppatore con Visual Studio. Microsoft sta inoltre lavorando su ASP.NET in modo specifico per migliorare l'integrazione di jQuery :

Scopri anche come ASP.NET AJAX è stato progettato per funzionare perfettamente con jQuery, come è possibile creare controlli ASP.NET AJAX direttamente da jQuery e come utilizzare la libreria jQuery in ASP. NET AJAX codice.

Ulteriori informazioni sull'uso di Microsoft di jQuery sono disponibili nel post sul blog ASP.NET di Scott Guthrie jQuery e Microsoft .

Il codice sorgente di jQuery è ospitato pubblicamente su GitHub. Questo è un vantaggio per me personalmente poiché preferisco Git ad altri sistemi SCM.

jQuery's Sizzle il motore di selezione è fantastico. Ed è fantastico perché jQuery non ci sta lavorando da solo. In un post sul blog che annunciava il rilascio di v1.3 all'inizio dello scorso anno, hanno sostanzialmente detto "Sappiamo che non siamo più intelligenti di tutti gli altri e siamo più interessati ad avanzare nel collaborando con persone intelligenti piuttosto che affermando che siamo migliori di loro ".

Una cosa che è diventata molto evidente durante lo sviluppo del nuovo motore: volevamo essere in grado di collaborare con altre librerie e sviluppatori. Abbiamo visto un'opportunità per una solida collaborazione con alcuni dei migliori sviluppatori JavaScript, il cui risultato aiuterà gli utenti di tutte le librerie. Per questo motivo ci siamo assicurati che Sizzle fosse in grado di funzionare completamente autonomamente (senza dipendenze).

Inoltre, in segno di buona fede e disponibilità a collaborare, abbiamo rilasciato il codice sorgente a Sizzle alla Dojo Foundation. Volevamo un terreno di incontro comune in cui tutti sarebbero stati in grado di lavorare insieme e in base al quale ci sarebbe un chiaro detentore del copyright a lungo termine.

In questo momento stiamo lavorando con Prototype, Dojo, Yahoo UI, MochiKit e TinyMCE (e molti altri) su Sizzle, perfezionandolo alla perfezione.

Supporto mobile
Nel podcast di YayQuery, episodio 18 (mp3) , John Resign delinea i piani per il supporto mobile di jQuery. La filosofia è che la libreria jQuery primaria dovrebbe essere compatibile con i dispositivi mobili, invece di scrivere una versione mobile dedicata. Uno dei molti vantaggi di questo è che, poiché la tua libreria principale viene utilizzata su siti Web generali e mobili, è più probabile che venga memorizzata nella cache e i siti Web specifici per dispositivi mobili possono utilizzare la stessa versione memorizzata nella cache dei siti Web non mobili. John spiega anche esattamente quali telefoni e sistemi operativi sono previsti per il supporto.

jQuery può essere usato con PhoneGap per creare applicazioni native usando tecnologie web per dispositivi mobili. Ha anche un plugin chiamato JQTouch per la creazione di app Web simili a quelle native per iPhone e altri browser mobili. Ciò significa che tutte quelle scorciatoie che hai con jQuery si traducono in altre piattaforme, diminuendo la curva di apprendimento.

Attivo nella comunità di sviluppo
John Resig è un attivo speaker . Include non solo importanti conferenze ed eventi ma ha anche apparso su podcast come YayQuery . Ha anche scritto due libri: Javascript NinjaPro Javascript, entrambi su abilità Javascript pure non dedicate a jQuery.

3
Bryson

Utilizzare quello che si adatta meglio alle proprie specifiche. jQuery è una grande libreria in fase di sviluppo attivo con una grande (e grande) comunità che segue ed è la mia biblioteca personale di scelta, ma non lasciare che ti scoraggi dall'uso di Prototype se è lo strumento giusto per il lavoro.

2
Jason

È davvero una questione di preferenza. Tendo a jQuery, personalmente. È ben documentato, ha molti buoni plugin e rende la mia vita molto più semplice. Ho sentito alcune lamentele da parte delle persone del prototipo riguardo alle sue dimensioni e prestazioni (scusate, non ricordo il loro problema specifico), ma entrambi questi aspetti sono andati sempre meglio.

Proverei entrambi e vedrei quale è più adatto a te.

2
tghw

Dipende davvero da quale preferisci. Tuttavia, jQuery sembra avere un seguito più ampio, quindi le risorse potrebbero essere facili da trovare.

Penso che tu possa essere ospitato sia dai server di Google, sia jQuery ospitato dai server di MS, il che potrebbe essere preso in considerazione.

1
Macha

Credo che jQuery ospitato tramite Google CDN apra entrambi.

0
Maslow

È una questione di preferenza ovviamente. Ho scoperto che jquery è un po 'ma più difficile da capire per i neofiti poiché il concatenamento non è davvero intuitivo, in particolare quando si verificano condizioni di gara asincrone. Tuttavia, jquery ha sicuramente più plug-in, ma ciò può anche essere uno svantaggio quando vengono caricati automaticamente troppi plug-in.

0
txwikinger

In superficie si basa sulle tue preferenze, considera le librerie, i plug-in e gli esempi di cose che vuoi usare per realizzare jQuery o Prototype. Ad esempio, con un nuovo progetto Rails tutto AJAX viene eseguito utilizzando il prototipo per impostazione predefinita. Inoltre, se si desidera utilizzare l'interfaccia utente di jQuery o jQTouch (mobile), consiglierei jQuery.

0
Steve Tranby