What is Ember?
Ember.js is a productive, battle-tested JavaScript framework for building modern web applications. It includes everything you need to build rich UIs that work on any device. It does so by providing developers many features that are essential to manage complexity in modern web applications, as well as an integrated development toolkit that enables rapid iteration.
Some of these features that you'll learn about in the guides are:
- Ember CLI - A robust development toolkit to create, develop, and build Ember applications. Learn basic commands from the CLI Guides.
- Components - The fundamental construct used in Ember applications, used to create reusable UI elements and define the layout and the functionality of the app.
- Routing - A central part of an Ember application. Enables developers to drive the application state from the URL.
- Services - The way to store long-term state in your application and pass it around.
- EmberData - EmberData provides a consistent way to communicate with external APIs and manage application state
- Ember Inspector - A browser extension, or bookmarklet, to inspect your application live. It's also useful for spotting Ember applications in the wild.
Organization
On the left side of each Guides page is a table of contents, organized into sections that can be expanded to show the topics they cover. Both the sections and the topics within each section are ordered from basic to advanced concepts.
The Guides are intended to contain practical explanations of how to build Ember apps, focusing on the most widely-used features of Ember.js. For comprehensive documentation of every Ember feature and API, see the Ember.js API documentation.
The Guides begin with an explanation of how to get started with Ember, followed by a tutorial on how to build your first Ember app. If you're brand new to Ember, we recommend you start off by following along with these first two sections of the Guides.
Assumptions
While we try to make the Guides as beginner-friendly as we can, we must establish a baseline so that the guides can keep focused on Ember.js functionality. We will try to link to appropriate documentation whenever a concept is introduced.
To make the most out of the guides, you should have a working knowledge of HTML, CSS, and JavaScript - the building blocks of web pages. You can find out more about each of these technologies in the Working with HTML, CSS, and JavaScript guide, including some of the special features that Ember uses such as class fields and decorators.
Accessibility
If you are using a screen reader while you go through the Guides, we recommend using Firefox and NVDA or Safari and VoiceOver for the best experience.
Reporting a problem
Typos, missing words, and code samples with errors are all considered documentation bugs. If you spot one of them, or want to otherwise improve the existing guides, we are happy to help you help us!
Some of the more common ways to report a problem with the guides are:
- Using the pencil icon on the top-right of each guide page
- Opening an issue or pull request to the GitHub repository
Clicking the pencil icon will bring you to GitHub's editor for that guide so you can edit right away, using the Markdown markup language. This is the fastest way to correct a typo, a missing word, or an error in a code sample.
If you wish to make a more significant contribution be sure to check our issue tracker to see if your issue is already being addressed. If you don't find an active issue, open a new one.
If you have any questions about styling or the contributing process, you
can check out our contributing guide. If your question persists, reach us in the #dev-ember-learning
channel on the Ember Community Discord.
Good luck!