Basic Ember.js 3 training
Make your team more productive and incur less costs
With the strong conventions and shared best practices of Ember.js, developers can join a project and understand what‘s going on quite quickly. They still have to know these conventions well enough so that they can write code that follows said conventions. Perhaps even more importantly, there's a huge difference between being able to understand someone else's cleanly written code and internalize the concepts of the framework well enough to write that kind of code. The kind that costs a lot less to change and maintain.
This training will give your team that productivity and code quality boost and unlock the leverage that Ember.js can yield when you know how to work with the framework.
(Already convinced you need the training? Email me to discuss the details.)
This training is for developers who start out with Ember.js or who have been using it for less than a year. Going through the training will give participants a solid foundation to build on and reap the productivity benefits of comprehending the framework at depth. The training covers Ember.js 3.
Length: 2 days (Skip over course details)
Our tools (Ember CLI, Ember Inspector and the Chrome Debugger Tools)
- Generating resources
- Updating Ember projects
- Building and developing your app
- Inspect and tweak your Ember app via Ember Inspector
- Debugging your app with CDT
- ES6 modules
- Variable declarations (const and let)
- Destructuring, arrow functions, spread operators and other goodies
- How you don‘t have to think about browser support with Ember.js
- Writing a first template
- Dynamic expressions in Handlebars
- What do expressions refer to? (helpers, properties, block variables)
- Built-in helpers
- The model hook
- Blocking behavior of the model hook
- The link-to helper
- The router service
- The building blocks of UI
- Representational vs. container (or smart vs. dumb) components
- Isolated and (most of the time, though not always) reusable
- Component invocations as function calls
- Arguments vs. internal properties
- Block and non-block form
- Named arguments
- Angle-bracket invocation
- A way of communication
- Closure actions
- The mut helper
- Nested routes for nested UIs (templates)
- Control flow in nested routes
- The rendering context of routes
- Statefulness (and “singletonness”) of controllers
- What does Ember Data provide?
- Why (and when) should you use Ember Data?
- Main store methods
- Relationship between models
- beforeModel and afterModel
- Skipping model resolution
- setupController and resetController
- Route actions: willTransition and didTransition
- Reloading a route
- Application, rendering and unit tests
- The Ember.js testing framework
- Built-in test helpers
- Writing your own helpers
- Using mocks with
- Writing application tests
- Writng rendering tests for components and helpers
- Writing unit tests for singletons and non-singletons (controllers and models)
- How to define them
- Where they live
Loading and error substates
- Naming conventions
- The power of loading substates coupled with nested routes
- What they should be used for
- Writing a helper
The flow of the training
The application we build is contained in a repository I give attendees access to before the training, with attached instructions about how to set it up. This is so that each of them can set up the app on their machine and no time is wasted with technical preparation/support during the training.
For each training module, I first give a short overview of the theory and then explain what we‘ll build. After that, attendees implement the feature (or features) for that module while I‘m helping them with any potential problems. As I strongly believe that we learn best by doing, we‘ll spend a lot less time on theory than practice.
All modules will have checkpoints so that attendees can jump straight there with their code and start implementing the next exercise without wasting any time.
So... how does the training actually happen?
I allow for some flexibility about the exact details of how the training happens, but there are a few things that I insist on:
- The training happens in person, on site. The training is packed with exercises and being physically in the same room is the most effective way to help attendees and to make sure nobody gets left behind. The venue will probably be the offices of your company but if you don‘t have offices in the city the training takes place, it can be elsewhere, too.
- Attendees should come prepared. By giving instructions and access to the repository prior to the first day of training, I want to ensure that we can get right into it and spend time learning Ember.js, not cloning repositories, installing npm packages or fixing OS issues. For this, I‘d kindly like to request the cooperation of attendees so that we can move together as a group.
Ok, what‘s next?
If you think such a training can be beneficial for your company, write me an email so that we can have a short call to discuss the details. I‘ll then send you a short proposal and we can hopefully come to an agreement and work together.
I live in Budapest, Hungary (Central Europe) and will willingly travel anywhere.