I have a book called Rock and Roll with Ember.js that has an accompanying application we develop throughout the book. I also maintain a demo version of the same app which has been open-source since its inception. However, that demo app has not received updates for a while now so I decided to do something about this and spent some time this week on making it a state-of-the-art Ember 2 application.
Here are the main developments I have made:
- Upgraded it to use the latest Ember, Ember Data and Ember CLI versions, 2.3.0.
- Used ember-cli-mirage to seed the app with data and handle “backend” requests. (Look, ma’, no backend!) ember-cli-mirage is fantastic addon that lets you set up route handlers, fixtures, factories and many more to manage your seed data and mock your server responses, both in development and tests. This was the first time I seriously used it and I have grown to like it a ton! The author, Sam Selikoff, helped out tremendously and had an amazing turnaround on a few questions/issues. I used the latest beta version, 0.2.0-beta.7, which you should definitely check out and give feedback to Sam.
- Made it a modern, idiomatic Ember app.
It’s not just Ember, but also Javascript that evolves at a neck-breaking space
(although to a lesser extent). I used the not-at-all elementary
ember-watson to modernize the Ember app and applied a few manual tweaks
for some of the Javascript parts, like using destructuring and
let
andconst
instead ofvar
. - Deployed it to be publicly accessible. Leveraging the most excellent PageFront, the app is now deployed to their platform. You can see it in action at https://rarwe-demo.pagefrontapp.com. This was not even a task, I only needed to issue two commands, one to install the add-on and one to deploy it.
The source lives on Github, at balinterdi/rarwe-demo.
As Mirage can also be used in production (although it’s probably not common to do that), you can check out the “production” app, with the same seed data I used in development, and play around with it.
As I mentioned in the introduction, the full version of the app is developed chapter by chapter in the Rock and Roll with Ember book. You can download a sample chapter below: