Introducing Meteor
the revolutionary way to build modern apps
Max Hodges
- 20+ years as software dev
- Launched first Meteor app in production two-years-ago back in Meteor version 0.6.
- Co-founder:
- White Rabbit Press
- White Rabbit Express
max@whiterabbitjapan.com
Jeremy Hall
- Ph.D. Computer Science Keio U.
- Focus on Collaborative Web Systems and developing new Information Sharing and Query Systems.
- CTO at White Rabbit Japan
jeremy@whiterabbitjapan.com
Why Meteor
-
Open-source platform for building web and mobile apps in JavaScript
-
Built to power the next generation of apps
-
Rich user interfaces
-
Collaborative multi-user applications
-
Cross platform apps
-
Rapid application development
-
build rich client apps, fast
Build Facebook and Google quality apps
without Facebook and Google resources
A Brief History of Distributed Applications
Meteor vs traditional frameworks
-
Modern apps serve data not HTML
-
Modern apps shouldn’t need a refresh button
-
Rails, Django, PHP, ASP.NET are difficult to adapt to the new model
-
Meteor supplies all the components needed to make sophisticated modern apps work
is your web dev framework a dinosaur?
Meteor Platform Components
-
Livequery - realtime database queries
-
DDP - subscribe to changes in the database
-
Tracker - rerun your functions when data changes
-
Minimongo - run database queries on the client
-
Blaze - keep your view up-to-date with your data
Livequery
-
Livequery is a family of live database connectors
-
"live queries" can not only return the result of the query at the time it is made, but then go on to return a stream of create, update, and delete messages that inform you of any changes to the result of the query as time passes.
Distributed Data Protocol
like "REST for websockets"
Tracker
- Tracker is an extremely lightweight (~1 kilobyte) system for transparent reactive programming in JavaScript.
- Combined with Tracker-aware libraries, this lets you build complex event-driven programs without writing a lot of boilerplate event-handling code.
Mini-mongo
A Tracker-aware reimplementation of the MongoDB API in JavaScript, very useful for storing and querying client-side data.
Blaze
-
Blaze is a powerful library for creating live-updating user interfaces. Blaze fulfills the same purpose as Angular, Backbone, Ember, React, Polymer, or Knockout, but is much easier to use.
-
“reactive jQuery” - patches DOM in place to keep it updated with changes to your templates data sources.
Meteor solves realtime
Full Stack Reactivity
Built on Meteor
Workpop
- $900K seed round and $7 million Series A lead by Trinity Ventures
Most rapid prototyping, iteration and development we’ve ever seen from an early stage company. -- Trinity Ventures
Community
Meteor Meetups
Over 200 Meteor Meetups with +28K members
Official Forums
Meteor ranks #10 on GitHub
higher than Backbone; will pass Rails soon.
Stackoverflow
Resources
-
Meteor docs: http://docs.meteor.com
-
Announcement list, sign up at http://www.meteor.com/
-
Discussion forums: https://forums.meteor.com/
-
Community-authored packages: http://atmosphere.js
-
Stackoverflow: http://stackoverflow.com/questions/tagged/meteor
-
Discover Meteor: https://www.discovermeteor.com/
- EventedMind: https://www.eventedmind.com/classes
Resources cont.
- Crater, reddit-style Meteor news: https://crater.io/
- Meteor Roadmap: http://roadmap.meteor.com
-
Meteor cookbook:
https://github.com/awatson1978/meteor-cookbook -
Meteor Hacks: https://meteorhacks.com/
-
Meteor Devshop: https://devshop.meteor.com/
-
Webstorm JavaScript IDE: https://www.jetbrains.com/webstorm/
Thank you!
( we're hiring )
Introducing Meteor
By Max Hodges
Introducing Meteor
the revolutionary way to build modern apps
- 1,642