Cristiano, che mi segue su Facebook, mi chiede:

Ciao Francesco, secondo te ha ancora senso usare Jquery?

La domanda potrebbe essere interessante per più di una persona e ho deciso di scrivere un articolo che spiega la situazione.

La base di jQuery è JavaScript

Quando parliamo di jQuery dobbiamo premettere una cosa importante:

lo strumento che utilizzi dipende dall’uso che ne fai, ma in generale è sempre vero che studiare JavaScript nativo per comprenderne tutti i meccanismi non fa di certo male. Ma proprio mai.

Ti fornisce delle basi solide dalle quali partire per poi affrontare il framework o il linguaggio derivato, che altro non è che una versione raffinata di JavaScript adatto a determinati ambiti specifici.

Però è sempre una questione di tempo e voglia e spesso troviamo delle scuse per non studiare a fondo un argomento.

Piccola parentesi (si, studiare JavaScript ti aiuta molto!) su JS chiusa, passiamo alla domanda specifica su jQuery.

Quando usare jQuery

Non esiste una risposta unica alla domanda di Cristiano e per questo motivo è bene distinguere le varie situazioni con qualche esempio.

Esempio 1 – Magento 2

Partiamo dalla piattaforma ecommerce a me (e a chi mi segue) molto cara.

Dopo anni passati ad avere Magento 1.x che utilizzava le librerie PrototypeJS e Scriptacoulus, avere jQuery di default come libreria base su Magento 2 è una manna dal cielo, una vera e propria liberazione.

Ricordo ancora bene gli anni in cui sviluppavo con Prototype o modificavo script perché in azienda ero l’unico ad aver voglia di toccare quella roba li (gli altri dicevano che non erano capaci, ma in realtà mancava semplicemente la voglia perché rispetto a jQuery erano piuttosto ostiche e molto più simili al JavaScript nativo, quindi gli script erano più lunghi e complessi).

Ha senso, lavorando con Magento 2, usare un’altra libreria?

In questo caso no, perché andrebbe a stravolgere tutto l’ecosistema Magento. Succederebbe la stessa cosa di Magento versione 1.x, dove Prototype era ormai una libreria troppo obsoleta e usare jquery era un obbligo, ma con un appesantimento e complessità generali che dovresti evitare, se possibile.

Esempio 2 – Applicazione web

Il secondo esempio è un mio cliente che deve portare il suo gestionale su interfaccia web, gestionale che storicamente è stato sviluppato per girare su Windows.

Il software è molto complesso, comunica esclusivamente via API e deve mostrare in pagina anche tabelle e contenuti con migliaia di righe.

In questo caso ha senso usare jQuery?

In questo caso no, perché le performance sono uno dei punti importanti ed imprescindibili per la realizzazione ed il successo di questo applicativo web.

Per questo progetto viene usato AngularJS, il linguaggio di Google che ha delle performance migliori di jQuery ed una struttura che si presta meglio a questo tipo di applicazioni.

Conclusioni

Quando e perché usare jQuery dipende quindi sempre dal contesto. È una delle abilità del web developer trovare il linguaggio, la piattaforma o il framework giusti per l’occasione.

Non esiste una risposta univoca che vada bene sempre, ma esiste sempre la risposta “dipende”. In tal caso quindi il “dipende” deve necessariamente scatenare un ragionamento, il quale porterà alle dovute conclusioni.

Ma è importante sapere che jQuery non verrà completamente rimpiazzato, almeno non a breve, da linguaggi come AngularJS, perché si tratta di due target di utilizzatori completamente diversi.

Chi usa jQuery lo fa in ambito web meno “spinto”, tratta per lo più modifiche e interazioni grafiche. Potremmo dire che è più vicino al mondo della UX, mentre chi usa AngularJS proviene spesso da una formazione tecnica più robusta e spesso si trova a manipolare dati, più che realizzare effetti nel DOM (anche se li fa lo stesso).