Cos’é MeteorJS e perché è diverso da altri framework javascript/nodejs
È stato rilasciato da poco Meteor 1.0, colgo quindi l’occasione per fare un post in italiano sulle caratteristiche principali.
Meteor HackerChat source
In breve Meteor è un framework javascript isomorfico open source per fare web app realtime. Va oltre al classico approccio client/REST API/server e quindi permette di condividere facilmente il codice tra client e server.
Isomorfismo
Meteor utilizza javascript nel client (web browser) e nodejs nel server. Sebbene ci siano differenze inevitabili, molti aspetti si “comportano allo stesso modo”. Per esempio l’accesso e query dei dati avviene attraverso MiniMongo nel client e MongoDB nel server oppure l’upload di una foto viene gestito attraverso le api classiche del web oppure attraverso quelle esposte da Cordova/PhoneGap nel caso decidessimo di fare una build “nativa”.
Compensazione di latenza
Le interazioni dell’utente sulla UI vengono applicate immediatamente da Meteor (client), ma nel caso Meteor (server) non approvi verrà fatto rollback dei dati all’ultimo stato valido.
Questo comportamento è molto utile nel caso delle app mobile e nel caso si voglia dare un feedback immediato all’utente.
Virtual/shadow DOM
Al variare dei dati viene non viene distrutta e ricostruita tutta la vista, ma solo la parte che è effettivamente variata.
Package manager
Meteor ha il proprio package manager, che permette di gestire le sue particolarità, una grande community (Atmosphere) e la possibilità di includere pacchetti node nella parte server side.
Sicurezza
Meteor (server) espone degli hook che possono essere utilizzati per permettere che un certo utente possa effettivamente creare, modificare, eliminare un certo documento.
Modularità e molto altro ancora
Meteor stesso è composto da tanti pezzi modulari e intercambiabili. Il supporto all’autenticazione (via password o OAuth, Facebook, Twitter) è facilmente integrabile nel core attraverso pacchetti ufficiali. Sono già presenti compressori e minificatori di codice per quando si decide di fare una build di produzione. Qualcuno lo utilizza anche con AngularJS e ReactJS.
Meteor Italia, Torino 7-nov 2014
Se l’argomento vi stuzzica, stiamo organizzando un fantastico evento dedicato a Meteor in Italia. Non potete mancare!
Per info e programma: http://meteor-italia.github.io