meteor.js – A Reactive Web Framework – Why Meteor?



meteor.js – A Reactive Web Framework – Why Meteor?

1 0


TechLancaster-Meteor-Talk

Slides from @TechLancaster Meteor Talk

On Github zombiebaron / TechLancaster-Meteor-Talk

meteor.js

A Reactive Web Framework

Created by Rob Fisher / @bler

What Is Meteor?

meteor.js is a reactive web framework for quickly building powerful single page web applications. A new development environment to take the pain out of building apps for the web.

Oh hey, these are some notes. They'll be hidden in your presentation, but you can see them if you open the speaker notes window (hit 's' on your keyboard).

Why Meteor?

  • Pure Javascript
  • Live Page Updates
  • Clean, powerful data synchronization
  • Latency compensation
  • Hot Code Pushes
  • Sensitive Code Protection
  • Self-Contained app 'bundles'
  • Interoperability
  • Smart Packages
  • And more...

Pure Javascript

  • Master One Single Language
  • Learn One Set of APIs/Libraries
  • Learn One Development Environment/Tooling
  • Code Can Run on Client or Server

Live Page Updates

Routing and Rendering Logic abstracted away behind a sensible framework. Just write custom logic and meteor does the rest.

  • Powerful View Templating
  • URL Based Routing
  • Automatic Single Page View Updating

Clean, Powerful Data Synchronization

  • Client code that looks as though it were running on the server and had direct access to the database. Free your code from REST endpoints.
  • Client has a temporary slice of server data. Writes are local and automatically synchronized to server.

Latency Compensation

Because data is written locally then synchronized remotely the application feels immediate despite bandwidth concerns. Screen updates are immediate w/o having to wait for the server.

Hot Code Pushes

No system downtime. When new code is released it is automatically injected into existing clients. No refreshing, no reconnecting, no hassles.

Sensitive Code Protection

Take control of your Javascript code. UI code runs in the browser but sensitive code runs in privileged environemnt on the server.

Self-Contained App "Bundles"

Modular Design: One command to package an entire app. One command to unpack and 'install' your app wherever node.js is installed. Choose the hosting environment your comfortable with.

Interoperability

Data store is by default mongoDB but simple DDP protocol means you can get meteor to run anywhere with any backend.

Smart Packages

The meteor core is a tiny set of minimal packages to get meteor going. Replace handlebars with your preferred templating engine. Add smart packages to client and/or server code. Package management is a breeze with meteorite!

Installation

Setup is a breeze. One simple command installs meteor and dependencies

$ curl https://install.meteor.com/ | sh

Start A New Project

One command to bootstrap a new project!

$ meteor create projectName
$ cd meteor
$ meteor

Package Management

Adding/Removing packages is easy

$ meteor add bootstrap
$ meteor add accounts-ui
$ meteor add insecure

Mobile Support?

Writing Apps for Mobile is Just as Easy

Mobile Support?

Writing Apps for Mobile is Just as Easy

$ meteor install-sdk ios
$ meteor install-sdk android
$ meteor add-platform ios
$ meteor add-platform android

Shut Up. Give Us Code!

meteor.js comes with complete sample projects useful for getting started

$ meteor create --example todo
					

Conclusions

meteor.js is a web framework that takes the pain out of writting web applications. An entire set of tools to write the parts of your application that make your application yours and makes the plumbing as simple as possible.

Visit meteor's project page for more information.

Questions?

by Rob Fisher