Ember-Data Basics

As the official persistence library of the ember.js framework, ember-data has become more performant, more customizable, and an even more valuable library over time.

Ember-Data Basics

Stage One JSON-API

JSON-API is a spec for JSON contracts between APIs and their clients. Because ember-data uses JSON-API by default, and as a guide for its internal data structures, it's useful to be familiar with it when working with ember-data.

If you’ve ever argued with your team about the way your JSON responses should be formatted, JSON API can be your anti-bikeshedding tool.

By following shared conventions, you can increase productivity, take advantage of generalized tooling, and focus on what matters: your application.

Clients built around JSON API are able to take advantage of its features around efficiently caching responses, sometimes eliminating network requests entirely.

  • Duration: 60 minutes

Stage Two Building Requests

Ember-data adapters are responsible for building URLs, and making other customizations to outgoing requests. We'll begin by establishing the URL & JSON contracts that ember-data has turnkey adapters for, and then explore a wide range of customization hooks that you can use to make ember-data work with your API.

  • Duration: 210 minutes

Stage Three Massaging JSON

Ember-data serializers are the tool for transforming your API's representation of data into what your ember app expects. We'll examine several common use cases for massaging JSON, including:

  • changing the names of properties
  • normalizing property key format
  • synthesizing client-side IDs
  • Duration: 150 minutes

Stage Four The Store

Ember-data's store is the main API surface that developers interact with, in order to initiate requests for data.

  • Duration: 60 minutes

Stage Five Custom Transforms

By specifying custom ember-data transforms, we can define new types of attributes on our model. We'll build our own "color", "array" and "object" custom ember-data transforms.

  • Duration: 90 minutes

Clever Caching

Ember-data's caching features are often under-utilized, resulting in extra time to fetch data with each page load. We'll explore some simple caching strategies that will translate to major performance gains!

Featuring: Fastboot

We'll look at how ember-data's store can work hand-in-hand with Ember's server-side rendering technology, by way of a fastboot feature called shoebox storage, to land pages on the screen with lightning speed!

Helpful Hooks

Ember-data is easier to customize than ever, but it takes experience to find the right balance between an tangled application adapter monolith, and dozens of single-purpose modules that repeat common logic.