Meteor (web framework)

From Wikipedia, the free encyclopedia
Jump to: navigation, search
Meteor
Meteor-logo.png
Developer(s) Meteor Development Group
Initial release 2012 (2012)
Stable release 1.0.5 / March 26, 2015[1]
Development status Active
Written in JavaScript
Operating system Cross-platform
Type JavaScript framework
License MIT License
Website meteor.com

Meteor, or MeteorJS is an open-source real-time JavaScript web application framework written on top of Node.js.[2] While production-ready[3] and used by a number of high-profile startups,[4] Meteor allows for very rapid prototyping[5] and produces cross-platform (web, Android, iOS) code.[6] It integrates tightly with MongoDB and uses the Distributed Data Protocol[7] and a publish–subscribe pattern to automatically propagate data changes to clients in real-time without requiring the developer to write any synchronization code. On the client, Meteor depends on jQuery and can be used with any JavaScript UI widget library.

Meteor is developed by the Meteor Development Group. The startup was incubated by Y Combinator[8] and received $11.2MM in funding from Andreessen Horowitz in July 2012.[9] Founders include Miro original co-author Geoff Schmidt, MIT graduate and ActBlue founder Matt DeBergalis, and cryptographer and MIT graduate Nick Martin. Etherpad developer David Greenspan was the first employee.[10] MDG plans to support the development of Meteor by monetizing a commercial cloud-based Meteor hosting solution called Galaxy.[11]

Meteor's goal is to allow developers to "Build apps that are a delight to use, faster than you ever thought possible".[12]

History[edit]

Meteor was first introduced in December 2011 under the name Skybreak.[13] Its release was the largest in Hacker News history.[14][15] Among open source projects, it was also the third most starred GitHub repository in 2012 and the 11th most starred repository in GitHub history.[16][17]

In October 2014, Meteor Development Group acquired Y Combinator alum FathomDB, with the goal of expanding Meteor's database support.[18]

As of February 2015, there are 9,600 questions tagged "Meteor" on Stack Overflow,[19] 3,100 followers for the Meteor topic on Quora,[20] and 22,700 stargazers on GitHub.[21] On November 6, 2014, over 4200 developers from 134 cities in 40 countries gathered in person to celebrate Meteor Day.[5]

In February 2015, Meteor was included among the "Cutting-edge Web Technologies" seminar class at UC Berkeley.[22]

Design philosophy[edit]

While Meteor is frequently compared to the Backbone.js and AngularJS libraries for its reactive design, it is instead a complete framework, capable of using either as submodules.[23]

Its core design motivations are listed as the following:[24]

  • Data on the wire - instead of the server sending HTML to the client, Meteor only sends the minimum data necessary to re-render the portion of the page that has changed. This enables building low-latency single-page applications that avoid whole-page refresh.
  • One language - "JavaScript everywhere" (isomorphic JavaScript) makes it easier to acquire talent[4] and learn Meteor[25]
  • Database everywhere - the same API can be used on both the server and the client to query the database. In the browser, an in-memory MongoDB implementation called Minimongo allows querying a cache of documents that have been sent to the client.[26]
  • Latency compensation - on the client, Meteor prefetches data and simulates models to make it look like server method calls return instantly.
  • Full stack reactivity - all layers, from database to template, update themselves automatically when necessary.
  • Embrace the ecosystem - Atmosphere, Meteor's package repository, holds over 3,300 packages.[27] Meteor can also use any of the more than 115,000 packaged modules in the Node.js ecosystem.[28]
  • Simplicity equals productivity - Meteor was designed to be easy to learn, including by beginners.[29]

Books[edit]

  • Turnbull, David - Your First Meteor Application: A Complete Beginner's Guide to the Meteor JavaScript Framework (2014)[30]
  • Coleman, Tom; Sacha, Grief - Discover Meteor (2014)[31]
  • Hochhaus, Stephan; Schoebel, Manuel - Meteor in Action (2014)[32]
  • Susiripala, Arunoda - Bulletproof Meteor (2014)[33]
  • Susiripala, Arunoda - Meteor Explained - A Journey Into Meteor’s Reactivity (2014)[34]
  • Strack, Isaac - Getting started with Meteor.js JavaScript framework (2012)[35]

References[edit]

  1. ^ "Meteor releases". GitHub. Retrieved 18 March 2015. 
  2. ^ Meteor Documentation
  3. ^ "Which startups use Meteor in production?". Quora. 
  4. ^ a b Vanian, Jonathan (27 December 2014). "Meteor wants to be the warp drive for building real-time apps". Gigaom. 
  5. ^ a b "Why Meteor". Meteorpedia. Retrieved 4 January 2015. 
  6. ^ "Running your app on Android or iOS". Meteor tutorial. Retrieved 4 January 2015. 
  7. ^ Introducing DDP, March 21, 2012
  8. ^ Tan, Garry. "Meteor (YC S11) raises $11.2M from Andreessen Horowitz and Matrix Partners to create the next Ruby on Rails". Y Combinator. 
  9. ^ Finley, Klint (25 July 2012). "Andreessen Horowitz Keeps Eating The Software World With $11.2 Million Investment In JavaScript Framework Company Meteor". TechCrunch. 
  10. ^ "People". Meteor. Retrieved 6 January 2015. 
  11. ^ Schmidt, Geoff (25 July 2012). "Meteor's new $11.2 million development budget". 
  12. ^ "Meteor". Retrieved 4 January 2015. 
  13. ^ Skybreak is now Meteor
  14. ^ Show HN: Meteor, a realtime JavaScript framework
  15. ^ Meteor: Etherpad Founder & Other Rockstars Team Up To Make Web App Development A Breeze
  16. ^ The Octoverse in 2012
  17. ^ List of most starred GitHub Repositories
  18. ^ Lardinois, Frederic (7 October 2014). "Meteor Acquires YC Alum FathomDB For Its Development Platform". TechCrunch. 
  19. ^ "9,600 questions tagged meteor". Stack Overflow. Retrieved 4 January 2015. 
  20. ^ "Meteor (web framework)". Quora. Retrieved 4 January 2015. 
  21. ^ "Meteor". GitHub. Retrieved 4 January 2015. 
  22. ^ "CS 294-101 - 02 Matt Debergalis: The design and implementation of the Meteor platform". archive.org. February 11, 2015. 
  23. ^ Meteor vs. Angular
  24. ^ Principles of Meteor
  25. ^ "What makes Meteor easy to learn". Why Meteor. Meteorpedia. 
  26. ^ Schmidt, Geoff (2 May 2013). "How does Meteor's Minimongo work?". 
  27. ^ "Atmosphere". Retrieved 4 January 2015. 
  28. ^ "How do we or can we use node modules via npm with Meteor?". 
  29. ^ Yu, Alice (3 December 2013). "Why web beginners should start with Meteor". 
  30. ^ Turnbull, David (30 July 2014). Your First Meteor Application. 
  31. ^ Coleman, Tom; Grief, Sacha. Discover Meteor. 
  32. ^ Hochhaus, Stephan; Schoebel, Manuel (2014). Meteor in Action. Manning. ISBN 9781617292477. 
  33. ^ Susiripala, Arunoda. "Bulletproof Meteor". Meteorhacks. 
  34. ^ Susiripala, Arunoda. "Meteor Explained - A Journey Into Meteor’s Reactivity". Meteorhacks. 
  35. ^ Strack, Isaac (2012). Getting started with Meteor.js JavaScript framework (New Edition. ed.). Birmingham, UK: Packt Pub. ISBN 978-1782160823. 

External links[edit]