Mike North - Ember js in Depth
English | Size: 3.25 GB (3,485,538,791 bytes)
Ember.js is a framework well-suited for complex and highly interactive apps. Its "convention over configuration" philosophy can end up saving developers from spending time and energy, having to write boilerplate code.
By coding along with us for this two day workshop you'll:
* Discover how to use ember-cli's code generation tools to get up and running with a new project in mere seconds
* Discover how to harness ember-data to efficiently communicate with a RESTful API
* Discover how to design Ember components, and use them to expressively compose rich interfaces
* Discover how to write unit, integration and acceptance tests, with some help from Pretender.js
* Discover how to set up a CI/CD pipeline, using travis-ci and Heroku
* Discover how to build an ember addon, ember's wildly successful plugin architecture
* Discover how to customize Ember's build tools, to handle a variety of resources
Your instructor Mike North is the CTO of Levanto Financial and an open source contributor to ember-cli, ember-data and Ember.js. He organizes the popular "Modern Web UI" meet-up in Silicon Valley, where experts in all of the web framework communities meet and exchange their best ideas.
Before working at Levanto, Mike was the UI Architect of Yahoo's Ads & Data division, and was a driving force in replacing YUI with Ember as the UI framework of choice throughout the division, and the company as a whole. Mike led the UI engineering effort to build out Yahoo's Ad platform in Ember.js, improving the framework, tooling and ecosystem along the way.
We'll begin with a brief overview of the philosophy behind Ember.js, consider its recent evolution into the "2.0" version, and where it's going from here. Ember is a convention-oriented, opinionated framework, so we'll talk about those conventions and opinions.
Next, we'll dive in to some of the most fundamental objects in the Ember world: Routes, Views, Controllers and Components, and discuss the role and practical use of each. We'll talk about the emphasis of components in ember 2.0, and the accompanying de-emphasis of controllers and views. Why were these decisions made? What are the ramifications on your app?
Then, we'll talk about ember's persistence library, ember-data, and JSON-API, ember-data's opinion of how RESTful JSON APIs should be structured. What if your API doesn't speak JSON-API? We'll learn how to build small adapters that bridge the gap between your API and ember's "ideal" API.
One of the benefits of building a single-page app is that there is no "page load" as the user transitions from one area to another. We'll look at a popular ember addon called Liquid Fire, which can be used to easily animate transitions between screens.
Ambitious apps need ambitious testing. We'll go over unit, integration and functional tests, outlining some best practices and "pro tips" for each. I'll show you how to use Pretender to mock your API, so that your UI can be validated consistently and independently. Lastly, I'll share some of my hard-learned lessons about test-writing.
On Day 2, we'll spend the morning talking about Ember's build tools, and its asset pipeline. I'll show you how to customize how your assets are built, how to build them differently for different environments, and how to debug build failures
The "plugin" story for the Ember.js ecosystem is one of its greatest strengths. Together, we'll build an ember addon, and go into detail about how various parts of it are incorporated into consumers' apps. We'll also go over some of the key differences between building addons and building apps.
In the afternoon, we'll go over some debugging tips and tricks, talk about the ember inspector, and a few other useful tools for tracking down problems.
Finally, I'll go over some best practices for serving single-page-app assets, and teach you how to build a CI pipeline using travis-ci and Heroku.