the same code on server- and clientside The default platform is web, but other platforms can be added: Meteor packages are isomorphic (they might run on the web, on a mobile device or on the server) m e t e o r a d d - p l a t f o r m a n d r o i d m e t e o r a d d - p l a t f o r m i o s
support Android and iOS To make an application available for Android devices, you simply use: If you don't have the Android SDK installed, you can install it with the Meteor CLI as well: To run it on an actual device, you use: m e t e o r a d d - p l a t f o r m a n d r o i d m e t e o r r u n a n d r o i d m e t e o r i n s t a l l - s d k a n d r o i d m e t e o r r u n a n d r o i d - d e v i c e
be accessed (GPS, camera, ...) Meteor wraps them in isomorphic packages (Camera, Geolocation, ...) Running the following code will work both on the web and on mobile devices: On the web it will use the On mobile devices it will use the native GPS using Cordova G e o l o c a t i o n . c u r r e n t L o c a t i o n ( ) HTML 5 Geolocation API
updates (data changes will be visible immediately on all clients) Hot deployment (both local and on the cloud) Ultra responsive Easy authentication with accounts-packages (+ easy integration with Twitter/Facebook OAuth)
use it when live updates are important DO use it for new applications DO use it for mobile applications DON'T use it with existing data (unless it can be easily ported to MongoDB)
Meteor is as simple as: To insert/remove/update data you can use: M e s s a g e s = n e w M o n g o . C o l l e c t i o n ( ' m e s s a g e s ' ) ; M e s s a g e s . i n s e r t ( { m e s s a g e : " M y m e s s a g e " , t i m e : n e w D a t e ( ) } ) ;
primarily contains templates, event handling and plain JavaScript To actually change data, you use MiniMongo (it emulates a MongoDB database on the client) Templates are written using Spacebars (template engine): jQuery is allowed within templates { { # i f c u r r e n t U s e r } } < h 1 > W e l c o m e u s e r < / h 1 > { { / i f } }