Meteor, or MeteorJS, is a partly proprietary, mostly free and open-sourceisomorphicJavaScriptweb framework[3] written using Node.js. Meteor allows for rapid prototyping and produces cross-platform (Android, iOS, Web) code. The server-side MongoDB program is the only proprietary component of Meteor and is part of the Meteor download bundle. It is possible to use Meteor without using the server-side MongoDB. It uses the Distributed Data Protocol and a publish–subscribe pattern to automatically propagate data changes to clients without requiring the developer to write any synchronization code.
Meteor uses JavaScript as its primary programming language, enabling developers to use a single language for both client-side and server-side code.[citation needed] This approach can streamline the development process for mobile applications by reducing the need for additional programming languages.[citation needed] On the client, Meteor can be used with any popular front-end JS framework.[citation needed]
Meteor is developed by Meteor Software. The startup was incubated by Y Combinator[4] and received $11.2M in funding from Andreessen Horowitz in July 2012.[5] Meteor raised an additional $20M in Series B funding from Matrix Partners, Andreessen Horowitz and Trinity Ventures.[6] It intends to become profitable by offering Galaxy, an enterprise-grade hosting environment for Meteor applications.[7]
History
Having been in development for about eight months, Meteor was initially released in December 2011 under the name Skybreak.[8] By April 2012, the framework was renamed Meteor and officially launched.[9] During the next few months, and with the help of large investments from Andreessen Horowitz and endorsements from high-profile figures in the startup world,[9] Meteor steadily increased its user base. It became more commonly used in production apps and websites.
Particularly after receiving large amounts of venture capital in its Series B funding round, Meteor acquired and integrated several other startups into its core product. Acquisitions have included FathomDB, a cloud database startup,[10] Galaxy, a cloud platform for operating and managing Meteor applications,[11] and Kadira, a performance monitoring solution.[12] Meteor has successfully monetized its userbase: In 2016, Meteor beat its own revenue goals by 30% by offering web hosting for Meteor apps through Galaxy.[13]
From 2016 the Meteor Development Group (the open source organisation powering Meteor) started working on a new backend layer based on GraphQL to gradually replace their pub/sub system, largely isolated in the whole node.js ecosystem: the Apollo framework.
In October 2019, the Meteor.js open source framework and Galaxy Hosting Products were purchased by Tiny Capital and renamed Meteor Software.[14]
Distributed Data Protocol
Distributed Data Protocol (or DDP) is a client–serverprotocol for querying and updating a server-side database and for synchronizing such updates among clients. It uses the publish–subscribe messaging pattern. It was created for use by the Meteor JavaScript framework.[15] The DDP Specification is located on GitHub.[16]