Jump to content

Meteor (web framework): Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
Official URL
AnomieBOT (talk | contribs)
m Dating maintenance tags: {{Cn}}
 
(101 intermediate revisions by 75 users not shown)
Line 1: Line 1:
{{Short description|Web framework in JavaScript}}
{{use dmy dates |date=April 2021}}
{{Infobox software
{{Infobox software
| name = Meteor
| name = Meteor
| logo = Meteor-logo.png
| logo = Meteor-logo.png
| logo size = frameless
| logo size = frameless
| caption = A better way to build apps
| caption = A better way to build apps
| developer = Meteor Development Group
| developer = Meteor Software
| released = {{Release date and age|2012|1|20}}<ref>{{cite web|url=https://github.com/meteor/meteor/commit/4e4358e2c068ffd0c0bc565bb2a9438c68bab7fb|title=Bump to version 0.1.1 · meteor/meteor@4e4358e|website=GitHub}}</ref>
| released = {{Start date|2012}}
| latest release version = {{Meteor (web framework) version}}
| status = Active
| latest release version = 1.2.1
| latest release date = {{Meteor (web framework) version|releasedate}}
| operating system = [[Cross-platform]]
| latest release date = October 26, 2015<ref>{{cite web|title=Meteor releases|url=https://github.com/meteor/meteor/releases|publisher=GitHub|accessdate=23 January 2016}}</ref>
| repo = {{URL|https://github.com/meteor/meteor|Meteor Repository}}
| operating system = [[Cross-platform]]
| programming language = [[JavaScript]]
| programming language = [[JavaScript]]
| genre = [[JavaScript framework]]
| genre = [[JavaScript framework]]
| license = [[MIT License]]
| license = [[MIT License]]. For dependencies: various including proprietary.
| website = {{Official URL}}
| website = {{Official URL}}
}}
}}


'''Meteor''', or '''MeteorJS''', is a [[free and open-source software|free and open-source]] [[JavaScript]] [[web framework]]<ref name="gigaom">{{cite web|last1=Vanian|first1=Jonathan|title=Meteor wants to be the warp drive for building real-time apps|url=https://gigaom.com/2014/12/27/meteor-wants-to-be-the-warp-drive-for-building-real-time-apps/|publisher=[[Gigaom]]|date=27 December 2014}}</ref> written using [[Node.js]]. Meteor allows for rapid prototyping and produces cross-platform (web, Android, iOS) code. It integrates with [[MongoDB]] and 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. On the client, Meteor depends on [[jQuery]] and can be used with any JavaScript UI widget library.
'''Meteor''', or '''MeteorJS''', is a partly proprietary, mostly [[free and open-source software|free and open-source]] [[Isomorphic JavaScript|isomorphic]] [[JavaScript]] [[web framework]]<ref name="gigaom">{{cite web | last1=Vanian | first1=Jonathan | title=Meteor wants to be the warp drive for building real-time apps | url=https://gigaom.com/2014/12/27/meteor-wants-to-be-the-warp-drive-for-building-real-time-apps/ | publisher=[[Gigaom]] | date=27 December 2014}}</ref> written using [[Node.js]]. Meteor allows for rapid prototyping and produces cross-platform ([[Android OS|Android]], [[iOS]], [[World Wide Web|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.{{cn|date=December 2024}} This approach can streamline the development process for mobile applications by reducing the need for additional programming languages.{{cn|date=December 2024}} On the client, Meteor can be used with any popular front-end JS framework.{{cn|date=December 2024}}
Meteor is developed by the ''Meteor Development Group''. The startup was incubated by [[Y Combinator (company)|Y Combinator]]<ref>{{cite web|last1=Tan|first1=Garry|title=Meteor (YC S11) raises $11.2M from Andreessen Horowitz and Matrix Partners to create the next Ruby on Rails|url=http://blog.ycombinator.com/meteor-yc-s11-raises-112m-from-andreessen-hor|publisher=[[Y Combinator (company)|Y Combinator]]}}</ref> and received $11.2M in funding from [[Andreessen Horowitz]] in July 2012.<ref>{{cite web|last1=Finley|first1=Klint|title=Andreessen Horowitz Keeps Eating The Software World With $11.2 Million Investment In JavaScript Framework Company Meteor|url=http://techcrunch.com/2012/07/25/andreessen-horowitz-keeps-eating-the-software-world-with-11-2-million-investment-in-javascript-framework-company-meteor/|publisher=[[TechCrunch]]|date=25 July 2012}}</ref>

Meteor is developed by ''Meteor Software''. The startup was incubated by [[Y Combinator (company)|Y Combinator]]<ref>{{cite web | last1=Tan | first1=Garry | title=Meteor (YC S11) raises $11.2M from Andreessen Horowitz and Matrix Partners to create the next Ruby on Rails | url=http://blog.ycombinator.com/meteor-yc-s11-raises-112m-from-andreessen-hor | publisher=[[Y Combinator (company)|Y Combinator]]}}</ref> and received $11.2M in funding from [[Andreessen Horowitz]] in July 2012.<ref>{{cite web | last1=Finley | first1=Klint | title=Andreessen Horowitz Keeps Eating The Software World With $11.2 Million Investment In JavaScript Framework Company Meteor | url=https://techcrunch.com/2012/07/25/andreessen-horowitz-keeps-eating-the-software-world-with-11-2-million-investment-in-javascript-framework-company-meteor/ | publisher=[[TechCrunch]] | date=2012-07-25}}</ref> Meteor raised an additional $20M in Series B funding from Matrix Partners, Andreessen Horowitz and Trinity Ventures.<ref>{{Cite news|url=https://blog.meteor.com/announcing-our-20m-series-b-funding-49dcfd3c3c6f|title=Announcing our $20m Series B Funding – Meteor Blog|date=2015-05-19|work=Meteor Blog|access-date=2017-09-29}}</ref> It intends to become profitable by offering Galaxy, an enterprise-grade hosting environment for Meteor applications.<ref>{{cite web|url=https://blog.meteor.com/meteors-new-11-2-million-development-budget-7370586949e7|title=Meteor's new $11.2 million development budget – Meteor Blog|date=25 July 2012|website=meteor.com}}</ref>


== History ==
== History ==
Meteor was first introduced in December 2011 under the name Skybreak.<ref>[http://meteor.com/blog/2012/01/20/skybreak-is-now-meteor Skybreak is now Meteor]</ref><ref>[http://techcrunch.com/2012/04/11/meteor-launch/ Meteor: Etherpad Founder & Other Rockstars Team Up To Make Web App Development A Breeze]</ref>
Having been in development for about eight months, Meteor was initially released in December 2011 under the name Skybreak.<ref>{{cite web|url=http://meteor.com/blog/2012/01/20/skybreak-is-now-meteor|title=Skybreak is now Meteor – Meteor Blog|date=20 January 2012|website=meteor.com}}</ref> By April 2012, the framework was renamed Meteor and officially launched.<ref name=":0">{{cite web|url=https://techcrunch.com/2012/04/11/meteor-launch/|title=Meteor: Etherpad Founder & Other Rockstars Team Up To Make Web App Development A Breeze – TechCrunch|website=techcrunch.com|date=11 April 2012 }}</ref> 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,<ref name=":0" /> 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,<ref>{{cite web|url=https://techcrunch.com/2014/10/07/meteor-acquires-yc-alum-fathomdb-for-its-web-development-platform/|title=Meteor Acquires YC Alum FathomDB For Its Development Platform|last1=Lardinois|first1=Frederic|date=2014-10-07|publisher=[[TechCrunch]]}}</ref> Galaxy, a cloud platform for operating and managing Meteor applications,<ref>{{Cite news|url=https://blog.meteor.com/announcing-meteor-galaxy-39c652c9ae69#.zhotzbjz3|title=Announcing Meteor Galaxy|last=DeBergalis|first=Matt|date=2015-10-05|newspaper=Meteor Blog|access-date=2017-02-03}}</ref> and Kadira, a performance monitoring solution.<ref>{{Cite news|url=https://blog.meteor.com/mdg-acquires-kadira-apm-96dfb3167fe5|title=MDG acquires Kadira APM – Meteor Blog|date=2017-03-24|work=Meteor Blog|access-date=2017-09-29}}</ref> 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.<ref>{{Cite news|url=https://blog.meteor.com/meteor-in-2017-ad92d777c12d|title=Meteor in 2017 – Meteor Blog|date=2017-01-26|work=Meteor Blog|access-date=2017-11-20}}</ref>
In October 2014, Meteor Development Group acquired Y Combinator alum FathomDB, with the goal of expanding Meteor's database support.<ref>{{cite web|last1=Lardinois|first1=Frederic|title=Meteor Acquires YC Alum FathomDB For Its Development Platform|url=http://techcrunch.com/2014/10/07/meteor-acquires-yc-alum-fathomdb-for-its-web-development-platform/|publisher=[[TechCrunch]]|date=7 October 2014}}</ref>

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.<ref>{{cite news|url=https://news.ycombinator.com/item?id=21137653|date=2017-01-26|title=Tiny Acquires Meteor}}</ref>

== Distributed Data Protocol ==
'''Distributed Data Protocol''' (or '''DDP''') is a [[client–server model|client–server]] [[communications protocol|protocol]] for querying and updating a server-side database and for synchronizing such updates among clients. It uses the [[publish–subscribe pattern|publish–subscribe]] messaging pattern. It was created for use by the Meteor JavaScript framework.<ref>{{cite web | url=http://meteor.com/blog/2012/03/21/introducing-ddp | title=Introducing DDP | access-date=2013-05-29}}</ref> The DDP Specification is located on GitHub.<ref>{{cite web | url=https://github.com/meteor/meteor/blob/master/packages/ddp/DDP.md | title=DDP Specification | website=[[GitHub]] | access-date=2014-04-24}}</ref>


== Books ==
== Books ==
* Coleman, Tom; Greif, Sacha – Discover Meteor (2014)<ref>{{cite book | last1=Coleman | first1=Tom | last2=Grief | first2=Sacha | title=Discover Meteor | url=https://www.discovermeteor.com/ | access-date=2015-02-02 | archive-url=https://web.archive.org/web/20160420111552/https://www.discovermeteor.com/ | archive-date=2016-04-20 | url-status=dead }}</ref>
* Turnbull, David - Your First Meteor Application: A Complete Beginner's Guide to the Meteor JavaScript Framework (2014)<ref>{{cite book|last1=Turnbull|first1=David|title=Your First Meteor Application|date=30 July 2014|url=http://meteortips.com/book/}}</ref>
* Coleman, Tom; Greif, Sacha - Discover Meteor (2014)<ref>{{cite book|last1=Coleman|first1=Tom|last2=Grief|first2=Sacha |title=Discover Meteor|url=https://www.discovermeteor.com/}}</ref>
* Hochhaus, Stephan; Schoebel, Manuel Meteor in Action (2014)<ref>{{cite book | last1=Hochhaus | first1=Stephan | last2=Schoebel | first2=Manuel | title=Meteor in Action | date=2014 | publisher=Manning | isbn=9781617292477}}</ref>
* Müns, Philipp – Auditing Meteor Applications (2016)
* Hochhaus, Stephan; Schoebel, Manuel - Meteor in Action (2014)<ref>{{cite book|last1=Hochhaus|first1=Stephan|last2=Schoebel|first2=Manuel |title=Meteor in Action|date=2014|publisher=Manning|isbn=9781617292477}}</ref>
* Susiripala, Arunoda - Bulletproof Meteor (2014)<ref>{{cite web|last1=Susiripala|first1=Arunoda|title=Bulletproof Meteor|url=https://bulletproofmeteor.com/|website=[https://meteorhacks.com/ Meteorhacks]}}</ref>
* Strack, Isaac – Getting started with Meteor.js JavaScript framework (2012)<ref>{{cite book | last1=Strack | first1=Isaac | title=Getting started with Meteor.js JavaScript framework | date=2012 | publisher=Packt Pub. | location=Birmingham, UK | isbn=978-1782160823 | edition=New}}</ref>
* Susiripala, Arunoda - Meteor Explained - A Journey Into Meteor’s Reactivity (2014)<ref>{{cite web|last1=Susiripala|first1=Arunoda|title=Meteor Explained - A Journey Into Meteor’s Reactivity|url=https://gumroad.com/l/meteor-explained|website=[https://meteorhacks.com/ Meteorhacks]}}</ref>
* Susiripala, Arunoda – Bulletproof Meteor (2014)<ref>{{cite web | last1=Susiripala | first1=Arunoda | title=Bulletproof Meteor | url=https://bulletproofmeteor.com/|website=Meteorhacks}}</ref>
* Titarenco, David; Robinson, Josh; Gray, Aaron – Introducing Meteor (2015)<ref>{{Cite book|title=Introducing Meteor|last=Robinson, Josh|others=Gray, Aaron,, Titarenco, David|isbn=9781430268352|location=[Berkeley, CA]|oclc=934083393|date = 2015-12-30}}</ref>
* Strack, Isaac - Getting started with Meteor.js JavaScript framework (2012)<ref>{{cite book|last1=Strack|first1=Isaac|title=Getting started with Meteor.js JavaScript framework|date=2012|publisher=Packt Pub.|location=Birmingham, UK|isbn=978-1782160823|edition=New Edition.}}</ref>
* Susiripala, Arunoda – Meteor Explained – A Journey Into Meteor's Reactivity (2014)<ref>{{cite web | last1=Susiripala | first1=Arunoda | title=Meteor Explained: A Journey Into Meteor's Reactivity | url=https://gumroad.com/l/meteor-explained|website=Meteorhacks}}</ref>
* Turnbull, David Your First Meteor Application: A Complete Beginner's Guide to the Meteor JavaScript Framework (2014)<ref>{{cite book | last1=Turnbull | first1=David | title=Your First Meteor Application | date=30 July 2014 | url=http://meteortips.com/book/}}</ref>

== Packages and tools ==
* InjectDetect – database injection attack detection<ref>{{Cite web|url=http://www.injectdetect.com/|title=Inject Detect|website=www.injectdetect.com|access-date=2017-09-29}}</ref>
* Vulcan.js – React/GraphQL stack built on top of Meteor<ref>{{Cite web|url=http://vulcanjs.org/|title=VulcanJS: The full-stack React+GraphQL framework|website=vulcanjs.org|language=en|access-date=2017-09-29}}</ref>
* Apollo – GraphQL server with support for Meteor
* Meteor React Native - Package to integrate with [[React Native]]<ref>{{Cite web|title=meteor-react-native|url=https://github.com/TheRealNate/meteor-react-native|website=github.com|language=en|access-date=2021-05-23}}</ref>

== See also ==
* [[Web framework]]
* [[JavaScript library]]


== References ==
== References ==
Line 37: Line 60:


== External links ==
== External links ==
{{Portal|Free software}}
{{Portal|Free and open-source software}}
* {{Official website}}
* {{Official website}}
* {{Twitter|meteorjs}}
* {{GitHub|meteor/meteor}}
* [http://crater.io/ Crater.io - Meteor News]

{{Application frameworks|state=autocollapse}}
{{Application frameworks|state=autocollapse}}
{{Rich Internet applications}}
{{Rich web applications}}


[[Category:Software using the MIT license]]
[[Category:Rich Internet application frameworks]]
[[Category:Free software programmed in JavaScript]]
[[Category:Free software programmed in JavaScript]]
[[Category:JavaScript web frameworks]]
[[Category:Rich web application frameworks]]
[[Category:Software using the MIT license]]

Latest revision as of 22:57, 30 December 2024

Meteor
Developer(s)Meteor Software
Initial releaseJanuary 20, 2012; 12 years ago (2012-01-20)[1]
Stable release
3.0[2] Edit this on Wikidata / 22 July 2024; 5 months ago (22 July 2024)
RepositoryMeteor Repository
Written inJavaScript
Operating systemCross-platform
TypeJavaScript framework
LicenseMIT License. For dependencies: various including proprietary.
Websitewww.meteor.com Edit this at Wikidata

Meteor, or MeteorJS, is a partly proprietary, mostly free and open-source isomorphic JavaScript web 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

[edit]

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

[edit]

Distributed Data Protocol (or DDP) is a client–server protocol 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]

Books

[edit]
  • Coleman, Tom; Greif, Sacha – Discover Meteor (2014)[17]
  • Hochhaus, Stephan; Schoebel, Manuel – Meteor in Action (2014)[18]
  • Müns, Philipp – Auditing Meteor Applications (2016)
  • Strack, Isaac – Getting started with Meteor.js JavaScript framework (2012)[19]
  • Susiripala, Arunoda – Bulletproof Meteor (2014)[20]
  • Titarenco, David; Robinson, Josh; Gray, Aaron – Introducing Meteor (2015)[21]
  • Susiripala, Arunoda – Meteor Explained – A Journey Into Meteor's Reactivity (2014)[22]
  • Turnbull, David – Your First Meteor Application: A Complete Beginner's Guide to the Meteor JavaScript Framework (2014)[23]

Packages and tools

[edit]
  • InjectDetect – database injection attack detection[24]
  • Vulcan.js – React/GraphQL stack built on top of Meteor[25]
  • Apollo – GraphQL server with support for Meteor
  • Meteor React Native - Package to integrate with React Native[26]

See also

[edit]

References

[edit]
  1. ^ "Bump to version 0.1.1 · meteor/meteor@4e4358e". GitHub.
  2. ^ "Meteor.js 3 is officially here!". 22 July 2024. Retrieved 19 August 2024.
  3. ^ Vanian, Jonathan (27 December 2014). "Meteor wants to be the warp drive for building real-time apps". Gigaom.
  4. ^ Tan, Garry. "Meteor (YC S11) raises $11.2M from Andreessen Horowitz and Matrix Partners to create the next Ruby on Rails". Y Combinator.
  5. ^ Finley, Klint (25 July 2012). "Andreessen Horowitz Keeps Eating The Software World With $11.2 Million Investment In JavaScript Framework Company Meteor". TechCrunch.
  6. ^ "Announcing our $20m Series B Funding – Meteor Blog". Meteor Blog. 19 May 2015. Retrieved 29 September 2017.
  7. ^ "Meteor's new $11.2 million development budget – Meteor Blog". meteor.com. 25 July 2012.
  8. ^ "Skybreak is now Meteor – Meteor Blog". meteor.com. 20 January 2012.
  9. ^ a b "Meteor: Etherpad Founder & Other Rockstars Team Up To Make Web App Development A Breeze – TechCrunch". techcrunch.com. 11 April 2012.
  10. ^ Lardinois, Frederic (7 October 2014). "Meteor Acquires YC Alum FathomDB For Its Development Platform". TechCrunch.
  11. ^ DeBergalis, Matt (5 October 2015). "Announcing Meteor Galaxy". Meteor Blog. Retrieved 3 February 2017.
  12. ^ "MDG acquires Kadira APM – Meteor Blog". Meteor Blog. 24 March 2017. Retrieved 29 September 2017.
  13. ^ "Meteor in 2017 – Meteor Blog". Meteor Blog. 26 January 2017. Retrieved 20 November 2017.
  14. ^ "Tiny Acquires Meteor". 26 January 2017.
  15. ^ "Introducing DDP". Retrieved 29 May 2013.
  16. ^ "DDP Specification". GitHub. Retrieved 24 April 2014.
  17. ^ Coleman, Tom; Grief, Sacha. Discover Meteor. Archived from the original on 20 April 2016. Retrieved 2 February 2015.
  18. ^ Hochhaus, Stephan; Schoebel, Manuel (2014). Meteor in Action. Manning. ISBN 9781617292477.
  19. ^ Strack, Isaac (2012). Getting started with Meteor.js JavaScript framework (New ed.). Birmingham, UK: Packt Pub. ISBN 978-1782160823.
  20. ^ Susiripala, Arunoda. "Bulletproof Meteor". Meteorhacks.
  21. ^ Robinson, Josh (30 December 2015). Introducing Meteor. Gray, Aaron,, Titarenco, David. [Berkeley, CA]. ISBN 9781430268352. OCLC 934083393.{{cite book}}: CS1 maint: location missing publisher (link)
  22. ^ Susiripala, Arunoda. "Meteor Explained: A Journey Into Meteor's Reactivity". Meteorhacks.
  23. ^ Turnbull, David (30 July 2014). Your First Meteor Application.
  24. ^ "Inject Detect". www.injectdetect.com. Retrieved 29 September 2017.
  25. ^ "VulcanJS: The full-stack React+GraphQL framework". vulcanjs.org. Retrieved 29 September 2017.
  26. ^ "meteor-react-native". github.com. Retrieved 23 May 2021.
[edit]