What is Meteor?
Meteor uses data on the wire, meaning the server sends data, not HTML, and the client renders it.
Meteor provides full stack reactivity, allowing your UI to seamlessly reflect the true state of the world with minimal development effort.
What is the Meteor Guide?
This is a set of articles outlining opinions on best-practice application development using the Meteor platform. Our aim is to cover patterns that are common to the development of all modern web and mobile applications, so many concepts documented here are not necessarily Meteor specific and could be applied to any application built with a focus on modern, interactive user interfaces.
Nothing in the Meteor guide is required to build a Meteor application—you can certainly use the platform in ways that contradict the principles and patterns of the guide. However, the guide is an attempt to document best practices and community conventions, so we hope that the majority of the Meteor community will benefit from adopting the practices documented here.
Many articles reference the Todos example application. This code is being actively developed alongside the guide. You can see the latest source code for the app, and file issues or make suggestions via pull request at its GitHub repository.
Ongoing Meteor Guide development takes place in the open on GitHub. We encourage pull requests and issues to discuss problems with and changes that could be made to the content. We hope that keeping our process open and honest will make it clear what we plan to include in the guide and what changes will be coming in future Meteor versions.
Goals of the project
The decisions made and practices outlined in the guide must necessarily be opinionated. Certain best practices will be highlighted and other valid approaches ignored. We aim to reach community consensus around major decisions but there will always be other ways to solve problems when developing your application. We believe it’s important to know what the “standard” way to solve a problem is before branching out to other options. If an alternate approach proves itself superior, then it should make its way into a future version of the guide.
An important function of the guide is to shape future development in the Meteor platform. By documenting best practices, the guide shines a spotlight on areas of the platform that could be better, easier, or more performant, and thus will be used to focus a lot of future platform choices.
Similarly, gaps in the platform highlighted by the guide can often be plugged by community packages; we hope that if you see an opportunity to improve the Meteor workflow by writing a package, that you take it! If you’re not sure how best to design or architect your package, reach out on the forums and start a discussion.
The Meteor Guide will never be done. In particular, it will be updated with new features released in every Meteor version. The current release targets Meteor 1.2.x. There are a few more articles we will add in the coming weeks to align with the Meteor 1.3 release, which will bring ECMAScript module support, seamless NPM integration, improved integration and unit testing, and better mobile features:
- Application structure
- Code style and linting
- Forms and user input
- Mobile apps
Other Meteor resources
The place to get started with Meteor is the official tutorial.
Stack Overflow is the best place to ask (and answer!) technical questions. Be sure to add the meteor tag to your question.
Visit the Meteor discussion forums to announce projects, get help, talk about the community, or discuss changes to core.
The Meteor docs is the best place to find the core API documentation of the platform.
Atmosphere is the repository of community packages designed especially for Meteor.
The projects section of the Meteor website describes the projects that make up the Meteor platform.