Learning Ember.js

Are you getting started on your Ember.js adventure? Check out our official reading material:

API Reference

Explore the available API of the various Ember ecosystem libraries. This is where you want to go to read in details about the various features, including example code.

Deprecation Guides

The broader JavaScript ecosystem is always changing and evolving, so Ember has processes and tools in place to protect your app from churn while still providing the best new web app features. Ember uses a careful deprecation process to roll out changes to the API. You can read our deprecation guides to see past and upcoming deprecations. Major changes are often accompanied by codemod tools, which are often announced in release blog posts.

Ecosystem

One of the main strengths of Ember is how shared conventions enable developers to build on top of each other's work and improve the ecosystem for everyone. For example, here are some projects closely maintained by Ember teams:

Ember CLI: The official command line toolkit to develop Ember applications. Check out the User Guide, and the documentation on how to extend Ember CLI as an addon developer.

Ember Inspector: A browser plugin/bookmarklet that helps you inspect and debug applications. Learn how best to use it in the Ember Inspector Guides.

Liquid Fire: A toolkit to add animations and transitions to your application. Check out their interactive documentation.

Ember Twiddle: Online code editor so you can share working snippets of code or reproductions of bugs. Try it out today!

FastBoot: Server-side rendering library for Ember applications. Check out the Quickstart to get up and running, and the User Guide for more detailed information.

Showcase

In this section you will find applications that are maintained by the Ember.js teams with the help of contributors. While software is always a work in progress, the goal is to showcase patterns and solutions applied in real-world applications.

Whether you're simply interested in checking out how some feature is implemented, or you're looking to contribute, one of these projects might pique your interest!

Super Rentals tutorial application

Super Rentals

Repository: https://github.com/ember-learn/super-rentals

If you've gone through our Tutorial you will already be familiar with this application! Super Rentals is a good starter project to get acclimated to the Ember.js way of doing things. In this repository you'll be able to see:

  • Basic routing, and routing with dynamic segments
  • Acceptance, integration, and unit tests using Ember CLI Mirage.

Builds page application

Builds

Repository: https://github.com/ember-learn/builds

This is the application that the Ember.js team built to display our various release channels. It is slightly more complex than Super Rentals, and you'll be able to see:

API docs application

API Docs

Repository: https://github.com/ember-learn/ember-api-docs

This application was built to display our versioned API docs. You'll be able to learn about:

  • A more full-featured Ember web app in action
  • Usage of Ember FastBoot.

Deprecations application

Deprecations

Repository: https://github.com/ember-learn/deprecation-app

This application was built to showcase Ember deprecations at deprecations app. You'll be able to learn and identify deprecations for each major release such as:

  • Deprecations for each version of Ember from 1.X through 3.X.
  • Ember Data specific deprecations in Ember 2.X.
  • Ember CLI specific deprecations in Ember 2.X.

Status Board

Interested in seeing the overall picture of what we're working on next? Check out our Status Board for more details!

Frequently Asked Questions

What is Glimmer? Do I need to learn it too?

Glimmer is a rendering engine used in Ember. However, in order to build Ember apps, you don't need to know anything about Glimmer, other than it's super fast and that the contributors to the core codebase love to geek out about it. It's all behind the scenes. If you're curious to know how the Glimmer project fits into the roadmap for Ember's development, you can learn more here.

How do I pitch Ember at my company?

Here are some strategies that may help you out.

Is it ok to use controllers?

Yes. Controllers are the right place to put URL query params, actions and attributes that need to be passed from the route level to components, and lifecycle hook code.

How do I future-proof my Ember.js application?

You should not try to future proof your application. Ember.js has a strong emphasis on developer productivity, which means that framework developers take great care when designing new functionality and provide migration paths. Here are some ways to keep up to date on future changes:

In short, the best way to make sure you have a healthy application is to comment on RFCs, clean up deprecations when you see them, and when possible, test your application against beta and canary releases of Ember.