Meteor.js
Futuristic web framework
http://meteor.com
Tomáš “Elfoslav” Hromník
Freelance mobile & web developer
http://hromnik.com
What I like about Meteor
Realtime from scratch
What I like about Meteor
Realtime from scratch
Live reload – forget about F5
What I like about Meteor
Realtime from scratch
Live reload – forget about F5
Plenty of packages – Atmosphere, NPM
$ meteor add bootstrap
$ meteor add less
$ meteor add coffeescript
What I like about Meteor
Built in authentication/registration
(Email, Facebook, Twitter, Google, Github,...)
$ meteor add accounts-facebook
What I like about Meteor
Built in authentication/registration
(Email, Facebook, Twitter, Google, Github,...)
Accounts.loginServiceConfiguration.insert({
service: "facebook",
appId: "yourAppId",
secret: "yourSecret"
});
What I like about Meteor
Built in authentication/registration
(Email, Facebook, Twitter, Google, Github,...)
Meteor.loginWithFacebook();
What I like about Meteor
Working with database collections (MongoDB)
var Tasks = new Meteor.collection(‘tasks’);
Tasks.insert({ title: ‘Meteor.js presentation’ });
var tasks = Tasks.find();; //no callback needed
What I like about Meteor
Simple deployment
$ meteor deploy appname
http://appname.meteor.com
What I like about Meteor
Automatic CSS/JS minification
What I like about Meteor
Automatic CSS/JS minification
Documentation works offline
What I like about Meteor
Automatic CSS/JS minification
Documentation works offline
Easy refactoring
What I like about Meteor
Noo need to load CSS/JS manually
<link rel="stylesheet" href="bower_components/bootstrap/dist/css/bootstrap.css" />
...
<script src="bower_components/jquery/dist/jquery.js"></script>
...
What I do not like about Meteor
Meteor does not give you pre-defined app
structure
$ meteor create appname
appname.html
appname.js
appname.css
Specialities
Publish/Subscribe
//server
Metor.publish(“userTasks", function () {
return Tasks.find({ userId: this.userId });
});
//client
Meteor.subscribe(“userTasks”);
Specialities
Publish/Subscribe
Minimongo
//client
var tasks = Tasks.find();
Specialities
Publish/Subscribe
Minimongo
Autopublish, Insecure package
$ meteor remove autopublish
$ meteor remove insecure
Specialities
Rendering engine (Spark, Blaze – Meteor 0.8+)
Specialities
Rendering engine (Spark, Blaze – Meteor 0.8+)
Only MongoDB support at this time
Future of Meteor
Current version: 0.8.1.3
Meteor 1.0 on the road
Future of Meteor
Current version: 0.8.1.3
Meteor 1.0 on the road
Mobile apps in Meteor (phonegap)
Resources
● Official Meteor web: http://meteor.com
● Meteorhacks: http://meteorhacks.com
● Meteor geek Arunoda: https://twitter.com/arunoda
● E-book: https://www.discovermeteor.com
● Meteor screencasts: https://www.eventedmind.com
● Meteor packages: https://atmospherejs.com
● My Meteor blog: http://meteor.hromnik.com
● Twitter: @meteorjs, #meteorjs
Meteor.js
Futuristic web framework
Who will try it?
Meteor.js
Futuristic web framework
Questions?

Meteorjs - Futuristic web framework