Librerie di front-end

Tra le decine di opzioni capire cosa fa al caso proprio non è facile.

NewsArchitetturaSviluppo

Oramai la maggioranza dei siti sono sviluppati facendo pesante uso della tecnologia ajax (anche se forse andrebbe chiamato ajaj dato che oramai si usa principalmente json invece che xml), e va molto di moda il paradigma delle SPA (Single Page Application) quindi il mondo di queste librerie è in continua espansione.

Ho iniziato con l’oramai immancabile JQuery (oramai fedele compagno in tutti i lavori recenti) ma, realizzando il sistema di voto, mi sono reso conto che forse, per accelerare i tempi di sviluppo, avrei dovuto fare uso di un framework più ad ampio spettro per supportarmi nella parte delle interfacce interattive.

Quindi è partita una ricerca sui framework attualmente più diffusi e chiacchierati tra cui Angular.js, Agular 2, Ember, React, Knockout, polymer ecc…​ La maggior parte di loro sono orientati alle SPA ma io non voglio creare un tool SPA alla GMail o Evernote, voglio un portale che possa essere ricercato con i motori di ricerca e voglio gestire solo alcuni elementi dinamici.

In alcuni casi ho scelto già alcuni componenti dedicati come Unslider per il carosello degli screenshot per la pagina dei server e sto valutando DataTables per la lista server. Per il resto ero alla ricerca di qualcosa da affiancare a Bootstrap e JQuery.

Alla prima valutazione la libreria che faceva più al caso mio sembrava Knockout che permette di gestire il databinding e un po' di templating senza stravolgere l’approccio implementativo generale.

Tuttavia lo sviluppo di questa sembra al giro di boa di un cambio radicale, e non mi sentivo confidente di cominciare ad usarla in questa fase (anche perchè non mi era chiaro neanche quanto sarebbe cambiata). Quindi ho continuato ad affidarmi a google per trovare una alternativa, e sono stato tentato di provare ad usare Angular se non altro a scopo didattico, ma dopo un tutorial ho deciso che non era quello che mi serviva e mi sono rimesso a cercare.

Dopo un po di fatica, in cui stavo quasi meditando di farmi una wrapper mio, ho trovato una promettente libreria Vue.js che non solo ha un approccio poco invasivo (tipo Knockout) ma permette anche di dichiarare dei propri componenti riutilizzabili (ad esempio ne ho fatto uno per la ricerca server che permette di essere adoperato in vari contesti). Anche questo sta per rilasciare una 2.0 ma sembra che i cambiamenti lato api siano abbastanza limitati, almeno nulla di quello che uso io.

Vue.js prevede anche una serie di sotto-moduli per routing e per ajax, ma per ora il primo non mi serve mentre per il secondo ho deciso di rimanere su JQuery che fa quello che deve ed è già usata anche per altro.

Comunque è ancora tutto in divenire quindi chissà :)

Saluti

K.