- All aboard the Ember train! choo choo
Ember is like a train set. Using small, composable pieces, an ambitious railway of trains, lines and stations can be constructed.
Each station is a web page made from a Template. Templates are written in a language called Handlebars - an extended version of html. You can build your station using just the handlebar template.
A railway is not complete without trains! Trains allow you to move objects between stations. This is a nice way to think about Components. The same train can appear at different stations - although the train may contain different passengers and so appear a little different.
Each station has a single Controller. This is like a station manager who provides information to trains currently in the station.
Routes are like station information boards. At a minimum, they are URLs which describe which station you are currently visiting. They may also tell you what's currently happening at that station.
You can provide services at stations and on-board trains. For instance, selling tickets or a food trolley service. Services share their information between stations so they can keep a realtime track of the tickets they sell or the stock on their trolley.
Ember data opens your station to passengers. The data model creates a turnstile for your stations, only allowing passengers with the right credentials to enter. Passengers can move between stations and board trains.