The Next Generation Software Stack
Developers Conference 2015
@mahtonu
Who Am I?




Meteor Dhaka Captain



@Vantage Labs Dhaka


Authored the title “PHP
Application Development
with NetBeans: Beginner's
Guide”
mahtonu.wordpress.com
Meanwhile in MongoDB
meetup in
Copenhagen…
Meteor is an ultra-simple
environment for building
modern websites. What
once took weeks, even
with the best tools, now
takes hours with Meteor.
Quick start!
Install Meteor:
$ curl https://install.meteor.com | /bin/sh
Create a project:
$ meteor create myapp
Quick start!
Run it locally:
$ cd myapp
$ meteor
# Meteor server running on: http://
localhost:3000/


Unleash it on the world (on a free server Meteor provide):
$ meteor deploy myapp.meteor.com
Example Apps
Todos: a full featured todo list app
$ meteor create —example todos
Local Market: a mobile social engagement app
$ meteor create —example localmarket
File Structure
/client
/server
/public
/private
Building Mobile Apps
Installing mobile SDKs
$ meteor install-sdk android # for Android
$ meteor install-sdk ios # for iOS
Adding platforms
$ meteor add-platform android # for Android
$ meteor add-platform ios # for iOS
7 Meteor Principles
•Data on the Wire
•One Language
•Database Everywhere
•Latency Compensation
•Full Stack Reactivity
•Embrace the Ecosystem
•Simplicity = Productivity
Fullstack Reactivity
Traditional programming
var a = 2;
var b = 5;
var c = a + b;
console.log(c);
# c is 7
Fullstack Reactivity
Traditional programming
var a = 2;
var b = 5;
var c = a + b;
console.log(c);
# c is 7
a = 5;
console.log(c);
# c is still 7
Fullstack Reactivity
Traditional programming
var a = 2;
var b = 5;
var c = a + b;
console.log(c);
# c is 7
a = 5;
console.log(c);
# c is still 7
c = a + b; 

console.log(c);

# c is finally 10
Fullstack Reactivity
Traditional programming Reactive programming
var a = 2;
var b = 5;
var c = a + b;
console.log(c);
# c is 7
var a = 2;

var b = 5;

var c = a + b;
console.log(c); 

# c is 7
a = 5;
console.log(c);
# c is still 7
c = a + b; 

console.log(c);

# c is finally 10
Fullstack Reactivity
Traditional programming Reactive programming
var a = 2;
var b = 5;
var c = a + b;
console.log(c);
# c is 7
var a = 2;

var b = 5;

var c = a + b;
console.log(c); 

# c is 7
a = 5;
console.log(c);
# c is still 7
a = 5;
console.log(c);

# c is magically 10
c = a + b; 

console.log(c);

# c is finally 10
Philosophy
•Meteor written on top of NodeJS and becomes your
server
•You add frameworks on-top of Meteor’s platform
•Meteor comes with a bunch of built-in frameworks
•One of the “built-ins” is a View framework called
Blaze, Easy reactive templating.
•Model View View Model (MVVM)
Philosophy
Spacebars is a Meteor template language inspired
by Handlebars
Philosophy
Meteor’s “built-ins” can be replaced. If you want
to replace Blaze with Angular then you can!
Simply run:
$ meteor add urigo:angular
Philosophy
Meteor’s current implementation is based on
WebSockets and SockJS. SockJS is a WebSockets
emulation transport, which can be used when
WebSockets is not available.
Philosophy
Meteor is extremely extensible by adding packages
from Atmosphere, NPM & even Bower.
Philosophy
Meteor is quickly becoming the standard for new
startups.
Angular (UI Framework)
Challengers
React by Facebook
Ember
Blaze by Meteor
Meteor (Node Platform)
Challengers
MEAN.io with Socket.io
Derby
Components
Livequery Realtime database queries
DDP Subscribe to changes in the database
Minimongo Run database queries on the client
Tracker Rerun your functions when data changes
Blaze Keep the view up to date with your data
Read about all of these on the Projects page at
meteor.com/projects
Workpop: Built on Meteor
• $7.9 million Series A led by Trinity Ventures
• “Most rapid prototyping, iteration and development we’ve
ever seen from an early stage company.” - Trinity Ventures
• Over 150+ meetup groups around the world: meteor.meetup.com
• Over 2500+ community-authored packages: atmospherejs.com
• Discover Meteor has made over $300,000+ in book sales
• #10 on GitHub (just passed Backbone, will soon pass Rails)
Short Demo!
Learning resources
• Official Meteor tutorial at meteor.com/install
• Discover Meteor - book.discovermeteor.com
• Meteor tag on Stack Overflow
• Documentation at docs.meteor.com
• Bullet Proof Meteor - bulletproofmeteor.com
• Meteor Hacks - meteorhacks.com
meteor.com/learn
Live in Dhaka?
Join the Meteor Dhaka Official
Meetup Group



http://www.meetup.com/
Meteor-Dhaka/

Understanding meteor

  • 1.
    The Next GenerationSoftware Stack Developers Conference 2015 @mahtonu
  • 2.
    Who Am I? 
 
 MeteorDhaka Captain
 
 @Vantage Labs Dhaka 
 Authored the title “PHP Application Development with NetBeans: Beginner's Guide” mahtonu.wordpress.com
  • 3.
  • 5.
    Meteor is anultra-simple environment for building modern websites. What once took weeks, even with the best tools, now takes hours with Meteor.
  • 6.
    Quick start! Install Meteor: $curl https://install.meteor.com | /bin/sh Create a project: $ meteor create myapp
  • 7.
    Quick start! Run itlocally: $ cd myapp $ meteor # Meteor server running on: http:// localhost:3000/ 
 Unleash it on the world (on a free server Meteor provide): $ meteor deploy myapp.meteor.com
  • 8.
    Example Apps Todos: afull featured todo list app $ meteor create —example todos Local Market: a mobile social engagement app $ meteor create —example localmarket
  • 9.
  • 10.
    Building Mobile Apps Installingmobile SDKs $ meteor install-sdk android # for Android $ meteor install-sdk ios # for iOS Adding platforms $ meteor add-platform android # for Android $ meteor add-platform ios # for iOS
  • 11.
    7 Meteor Principles •Dataon the Wire •One Language •Database Everywhere •Latency Compensation •Full Stack Reactivity •Embrace the Ecosystem •Simplicity = Productivity
  • 12.
    Fullstack Reactivity Traditional programming vara = 2; var b = 5; var c = a + b; console.log(c); # c is 7
  • 13.
    Fullstack Reactivity Traditional programming vara = 2; var b = 5; var c = a + b; console.log(c); # c is 7 a = 5; console.log(c); # c is still 7
  • 14.
    Fullstack Reactivity Traditional programming vara = 2; var b = 5; var c = a + b; console.log(c); # c is 7 a = 5; console.log(c); # c is still 7 c = a + b; 
 console.log(c);
 # c is finally 10
  • 15.
    Fullstack Reactivity Traditional programmingReactive programming var a = 2; var b = 5; var c = a + b; console.log(c); # c is 7 var a = 2;
 var b = 5;
 var c = a + b; console.log(c); 
 # c is 7 a = 5; console.log(c); # c is still 7 c = a + b; 
 console.log(c);
 # c is finally 10
  • 16.
    Fullstack Reactivity Traditional programmingReactive programming var a = 2; var b = 5; var c = a + b; console.log(c); # c is 7 var a = 2;
 var b = 5;
 var c = a + b; console.log(c); 
 # c is 7 a = 5; console.log(c); # c is still 7 a = 5; console.log(c);
 # c is magically 10 c = a + b; 
 console.log(c);
 # c is finally 10
  • 17.
    Philosophy •Meteor written ontop of NodeJS and becomes your server •You add frameworks on-top of Meteor’s platform •Meteor comes with a bunch of built-in frameworks •One of the “built-ins” is a View framework called Blaze, Easy reactive templating. •Model View View Model (MVVM)
  • 18.
    Philosophy Spacebars is aMeteor template language inspired by Handlebars
  • 19.
    Philosophy Meteor’s “built-ins” canbe replaced. If you want to replace Blaze with Angular then you can! Simply run: $ meteor add urigo:angular
  • 20.
    Philosophy Meteor’s current implementationis based on WebSockets and SockJS. SockJS is a WebSockets emulation transport, which can be used when WebSockets is not available.
  • 21.
    Philosophy Meteor is extremelyextensible by adding packages from Atmosphere, NPM & even Bower.
  • 22.
    Philosophy Meteor is quicklybecoming the standard for new startups.
  • 23.
    Angular (UI Framework) Challengers Reactby Facebook Ember Blaze by Meteor
  • 24.
  • 25.
    Components Livequery Realtime databasequeries DDP Subscribe to changes in the database Minimongo Run database queries on the client Tracker Rerun your functions when data changes Blaze Keep the view up to date with your data Read about all of these on the Projects page at meteor.com/projects
  • 26.
    Workpop: Built onMeteor • $7.9 million Series A led by Trinity Ventures • “Most rapid prototyping, iteration and development we’ve ever seen from an early stage company.” - Trinity Ventures
  • 28.
    • Over 150+meetup groups around the world: meteor.meetup.com • Over 2500+ community-authored packages: atmospherejs.com • Discover Meteor has made over $300,000+ in book sales • #10 on GitHub (just passed Backbone, will soon pass Rails)
  • 29.
  • 30.
    Learning resources • OfficialMeteor tutorial at meteor.com/install • Discover Meteor - book.discovermeteor.com • Meteor tag on Stack Overflow • Documentation at docs.meteor.com • Bullet Proof Meteor - bulletproofmeteor.com • Meteor Hacks - meteorhacks.com meteor.com/learn
  • 31.
    Live in Dhaka? Jointhe Meteor Dhaka Official Meetup Group
 
 http://www.meetup.com/ Meteor-Dhaka/