MeteorJS An easy way to do anything Peter Ilfrich – IBM Research Australia
Overview Command Line Persistent Storage Server Client Browser iOS Android MiniMongo in-memory / in-browser database Blaze templates using mustache tags {{..}} HTTP support, call to server methods (AJAX) Session support MiniMongo in-memory / in-browser database Blaze templates using mustache tags {{..}} HTTP support, call to server methods (AJAX) Session support NodeJS server, support for server-side methods, publications, routes and DDP connections to the client MongoDB, document-based DB, support for most query elements, optional packages for aggregation and “joins” Create application, add packages, access database, build for mobile, deployment
Client Server PublicationsMethods MiniMongo Meteor.subscribe() Events Template.foo.events() Meteor.call() Template.foo.events() Meteor.call() Templates {{helper}}, {{helper.attribute}} {{#each}}, {{#if}} {{helper}}, {{helper.attribute}} {{#each}}, {{#if}} Helpers Template.foo.helpers() collection.find() Template.foo.helpers() collection.find()
Xcode Mobile Client CSS JavaScript Compiled Templates Client-only JS Cordova iOS xcodeproj Android apk Android Studio Simulator AppStore Simulator Device Shared JS
Server Methods DB Initialization DB Migration MongoDB Publications Tracker / Autorun Client Configuration Security Configuration Security Meteor.methods() Meteor.publish()
Command Line Create Project Add & Remove Packages Start Server Reset Project Access Database Add Mobile Platform Bundle for Mobile meteor create meteor add|remove meteor [--port xxxx] meteor mongo meteor add-platform meteor reset meteor build [--server Deploy to meteor.com meteor deploy
Packages Routing iron:router Data reactive-var tmeasday:publish-counts aldeed:collection2 Authentication accounts-password Utilities momentjs:moment johdirr:meteor-git-rev Routing iron:router Data reactive-var tmeasday:publish-counts aldeed:collection2 Authentication accounts-password Utilities momentjs:moment johdirr:meteor-git-rev browser-policy nimble:restivus browser-policy nimble:restivus Basics jquery mizzao:bootstrap-3 fortawesome:fontawesome Visualization peernohell:c3 sergeyt:d3 dburles:googlemaps Utilities less mrt:filesaver http Basics jquery mizzao:bootstrap-3 fortawesome:fontawesome Visualization peernohell:c3 sergeyt:d3 dburles:googlemaps Utilities less mrt:filesaver http Shared Packages Server-Side Packages Client-Side Packages mdg:geolocation mdg:camera mdg:geolocation mdg:camera Mobile Packages