small medium large xlarge

Deliver Audacious Web Apps with Ember 2


Cover image for Deliver Audacious Web Apps with Ember 2

Deliver Audacious Web Apps with Ember 2


It’s time for web development to be fun again, time to write engaging and attractive apps – fast – in this brisk tutorial. Build a complete user interface in a few lines of code, create reusable web components, access RESTful services and cache the results for performance, and use JavaScript modules to bring abstraction to your code. Find out how you can get your crucial app infrastructure up and running quickly, so you can spend your time on the stuff great apps are made of: features.

This updated edition covers the 2.12 LTS version of Ember, making the sample project compatible with future releases of Ember and better align with current common practice.

Customer Reviews

Deliver Audacious Web Apps with Ember 2 provides a clear and thorough introduction
to the powerful and elegant Ember framework. Developers looking to learn
Ember or level up their Ember skills should read this book.

- Nell Shamrell-Harrington

Software development engineer, Chef

Ember brought back the fun of Rails, this time for single-page applications with
great performance.

- Federico Tomassetti

Software engineer

If you’re considering Ember for your next JavaScript project, buy this book. I felt
like I’d leveled up after every chapter.

- Stephen Orr

Senior software engineer, Impact Applications

See All Reviews

About this Title

Pages: 146
Published: 2015-10-10
Release: P2.0 (2017-06-29)
ISBN: 978-1-68050-078-3

With its 2.0 release, the Ember JavaScript framework has taken a major step forward. In this book, you’ll learn these new features: how to use module-driven development with Ember CLI, take advantage of the new DOM-based rendering engine, and use a service-based architecture to make your apps flexible, not brittle.

Use the Ember CLI to build your app using module-focused JavaScript classes with a clear project structure. Learn how to use Ember’s routing classes to organize your app, write web components that marry your user interface and logic without leaky access to state, and read and write data from RESTful services with almost no code. Make use of services to encapsulate logic and inject it throughout your app, and use Ember CLI to rapidly iterate changes, deploy locally, test your code, and build for production. You’ll learn all the essentials of working with Ember.

If you’re tired of feeling limited by your web development tools, unleash your ambition and start creating ambitious web applications with Ember.

Top Five Ember Tips
by Matt White, author of Deliver Audacious Web Apps with Ember 2

1. Go All In: Ember is opinionated, so you’ll see the best results working within its conventions. That’s not to say you should ignore ideas from other frameworks. The Ember team adapts the best ideas from the universe of web development. So you’ll want to use Ember’s implementations of those ideas when you use Ember. Don’t try to work around the framework: learn it, understand it, and adopt its conventions.

2. Use Ember CLI: One of the most useful tools in Ember development is Ember CLI. You get a load of modern development features when you work with Ember CLI: ES 2015 module syntax, code generators, HTTP mocks, and a local development server that not only lets you test your client code in a browser, but also keeps the client up to date when you change it. And that’s not all: you get Ember addons!

3. Use Ember Addons: Ember addons are a huge boon for developer productivity. By combining modular coding, the Node Package Manager, and Ember CLI, developers can now share things like authentication modules, component libraries, and validation modules. And the Ember community maintains searchable repositories of addons. When you start thinking that it might be time to add a feature to your app that isn’t in the Ember core, these repositories are your first place to start.

4. Test Your Code: If you’re following #2 above, Ember CLI generates test modules each time you add something new to your project. You should be writing sound tests in each of these modules. Having unit, integration, and acceptance tests that exercise your code is a huge win. It’s worth the effort to write tests, so that you know you’re maintaining code quality, even as you move fast.

5. Get Involved: A lot of people assume “get involved” means “contribute code to the project.” And you can certainly do that! But there are many beneficial ways to get involved. You might join (or start) a local meetup group. You might write about your experiences with Ember on your own blog. Publish addons to NPM. Join the community Slack channel. Subscribe to Ember Weekly to stay on top of the news. Do whatever you’re comfortable doing that lets you to share your experience with Ember. The community welcomes newcomers and makes a point of supporting them.

What You Need

You need Ember, Ember CLI, Google Chrome or Mozilla Firefox, and a text editor.

Contents & Extracts

  • Introduction: Why Ember?
    • What This Book Is, and Isn’t
    • Who Should Read This Book?
    • How This Book Is Organized
    • Where to Go for Help
  • Starting Your App with Ember
    • Install Ember and Ember CLI
    • Start Your App excerpt
    • Next Steps
  • Directing Traffic with Routes excerpt
    • Use the Router Class to Organize Your App
    • Define Your Routes
    • Set Your Model
    • Nest Routes
    • Transition Between Routes
    • Render Templates into Named Outlets
    • Next Steps
  • Laying Out a User Interface
    • Make Your App with a Single Page
    • Segment Your UI into Templates
    • Render HTML Controls with Expressions
    • Compile Templates
    • Next Steps
  • Building In Reuse with Components
    • Create Components
    • Get Data from Containing Templates
    • Define a Component User Interface
    • Handle Actions
    • Next Steps
  • Modeling Your Data excerpt
    • Define Your Models
    • Load Data from RESTful Services
    • Work with Records
    • Next Steps
  • Reading Nonstandard APIs
    • Adapt to a Nonconventional API
    • Use Serializers to Access Legacy APIs
    • Allow the Adapter to Query a Nonconventional API
    • Adapt to Path Name Variations
    • Change the Payload Root
    • Modify the Payload in Flight
    • Tie Adapters and Serializers to Your Model Class
    • Next Steps
  • Reusing Code in Ember
    • Abstract Common Functions with Utilities
    • Share Code with Mixins
    • Share Services with Dependency Injection
    • Use Transforms to Tweak Data
    • Next Steps
  • Building, Testing, and
    Deploying Your Ember Apps
    • Build Your App
    • Test and Debug Your App
    • Deploy Your App
    • Next Steps
  • Building and Using Ember Addons
    • Install an Ember Addon
    • Develop Your Own Addon
    • Next Steps


Matthew White is a technical writer and software developer. His career stretches back to the early days of web development. His writing focuses on helping developers do their jobs fast and well.