1 min read

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