understanding meteor

31
The Next Generation Software Stack Developers Conference 2015 @mahtonu

Upload: m-a-hossain-tonu

Post on 16-Jul-2015

536 views

Category:

Technology


0 download

TRANSCRIPT

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 AppsInstalling 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 ReactivityTraditional programming

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

Fullstack ReactivityTraditional 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 ReactivityTraditional 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 ReactivityTraditional 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 ReactivityTraditional 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 queriesDDP Subscribe to changes in the database

Minimongo Run database queries on the clientTracker Rerun your functions when data changesBlaze 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/