Why use MeteorJS

An Introduction to Meteor

Jeff Lau 

  • Designer/Developer from London.
  • Mentor at bloc.io and thinkful.com as well as freelancing
  • Started as a graphic designer, then front-end developer and now dabbling in full-stack
  • Started working with Meteor around 1 year ago
  • I like rock climbing

 

@jef_lau

What is MeteorJS?

  • Open Source
  • Fullstack JavaScript framework
  • Same API front-end and back-end
  • Ycombinator startup in 2012 ($11.2M funding)
  • MeteorJS is a platform with an
    • Own packaging system
    • Easy deployment
  • Hit 1.0 in December 2014 - Stable

Why use MeteorJS

  • It's all Javascript
  • Database Everywhere
  • Platform and Ecosystem
  • Fullstack Reactivity
  • Latency Compensation
  • Cordova Integration

 

It's all JavaScript

  • No context switching - Same API front-end and back-end
  • Easy to pick up for both front and back-end devs
  • JavaScript is here to stay

Database Everywhere

The API is the same front and back-end. You can access the database from the front-end like this:

var Friends = Mongo.collection(‘friends’);
Friends.find();

Works in both client and server

 

Uses 'Minimongo' to cache a data on the client

Ecosystem

Meteor is not just a framework. It's a platform.

It's has it's own packaging system

$ meteor add bootstrap
$ meteor deploy javascripttaipei.meteor.com

It has it's own deployment system (with free testing servers)

Full Stack Reactivity

All layers, template to database update themselves when necessary.

var Chat = Mongo.collection('chat');

Template.chatApp.helpers({
  messages: function(){
    return Chat.find();
  }
}

//html

<template name="chatApp">
  {{#each messages}}
    {{text}}
  {{/each}}
</template>

Latency Compensation

Simulate the server's action on client before the server has responded

Client feels really responsive. UI is updated before server responds

Cordova out the box

Cordova is the standard for building JavaScript based mobile-apps.

 

Cordova CLI integrated into Meteor CLI

 

Write once deploy to web, iOS, Android

What does this all mean?

  • Meteor saves you time
    • Learning is easier than learning Angular + Ruby/Node.JS
    • Platform was built around the framework. Packaging system, deployment options
    • Real-time reactivity by default
    • Write once deploy to all
    • API is the same front and back-end
  • Meteor is here to stay. $11.3M funding
  • Fullstack JS is the future.

Why not to use Meteor

  • Reactive programming isn't for everyone
  • If you can't/don't want to use MongoDB/Redis (Support for others is coming)
  • You need fine grained control over performance
    • Meteor has a lot of magic. Magic comes with overhead that will become a headache if you fight against the framework.
  • If you hate JavaScript

Resources to start learning

  • Meteor docs - http://docs.meteor.com
  • Discover Meteor - http://www.discovermeteor.com
  • Meteor Tips - http://meteortips.com/
  • EventedMind - https://www.eventedmind.com/

 

Questions?

Copy of Why Use MeteorJS

By social4hyq

Copy of Why Use MeteorJS

  • 834