The Ember Times - Issue No. 59

Merhaba Emberistas! 🐹

Read either on the Ember blog or in our e-mail newsletter what has been going on in Emberland this week.

This week's edition is jammed packed! Take a journey and find out how to use Ember to create Chrome Extensions. Test drive the latest Ember-CLI beta features. Dive deep into the Component Manager Bounds RFC. Learn how to help ship Mirage 1.0. Need Ember powered A/B experiments ? Outdoorsy open sourced an addon that might help.


A framework for ambitious Chrome Extensions ⚙

Esteban wrote an article on how he used Ember to create Chrome Extensions by combining multiple addons from around the community. He found a ton of of great starter and boilerplate projects on GitHub and identified some key ember-cli projects that make working with Chrome’s Extension API much easier.

Specifically, Esteban mentions 3 ember-cli addons: ember-cli-deploy-chrome-app, ember-cli-post-build-copy, and ember-cli-concat that was instrumental in creating ambitious Chrome Extensions using Ember. He leveraged ember-concurrency (or you can use ember-lifeline) to deal with the callback design structure API that Chrome provides (which was promisified using chrome-promise).

Read more about his journey at Esteban’s blog post.


One Port to Rule Them All 💍

With ember-cli@3.4.0-beta.2 you now have the ability to enable the live reloading server and the normal development app server to share a single port. With the current state of Ember CLI it opens two HTTP servers - one for the assets and one to support live reloading on file changes.

You can already test this by getting the beta and see if it works for you. Remember to also check the rest of the changelog for the beta. And if you're interested in the actual implementation for making the single port work, then check out the PR.


Knowing Boundaries with the Component Manager Bounds RFC 📚

A new Request for Comments (RFC) is aiming to improve the flexibility of another previously RFC'ed feature that is interesting for Ember addon authors who are passionate about Components. The Component Manager™ feature which had already had been accepted by the Ember community in the spring of this year defines a new low-level primitive that would allow developers to create flexible, efficient, and extensible component base classes. This can for example be leveraged by UI addons that expose components to their parent apps and which want to allow end users to extend from these base components themselves.

And today the saga of the Manager of Custom Components continues: The author of the original RFC #213 now presents a follow-up proposing the optional exposure of bounds - the DOM boundaries of a component - through the Component Manager feature. This will allow any addon authors who would like to create custom components using the Component Manager feature to get a hold of the component's DOM, provide end users access to it via specific life cycle hooks and allowing DOM manipulation.

Curious to learn more? Be sure to check out the original proposal and to not miss the RFC Roundup Podcast session over at our friends' at Ember Weekend in which @rwjblue explains what the RFC #213 for the Component Manager is about.

Read more


Mirage 1.0 🔜

ember-cli-mirage is a popular client-side mock server to develop, test and prototype your app. @samselikoff has released Mirage 0.4.8. ✨ And there are only 9 bugs to close out before shipping Mirage 1.0! Please help with the march to 1.0 by upgrading to v0.4.8 today and reporting back any issues. Drop by #ec-mirage if you have any trouble upgrading! Hopefully, everything will be 200 🆗.


ember-experiments ⚗️

The Outdoorsy 🌲 team was able to open source an internal library they've been using on Outdoorsy.com. It allows you to define A/B and multivariate (A/B/C) tests in your apps to track both conversion rate improvements and feature feedback. They hook it into ember-metrics and track conversions in Mixpanel, but it's not opinionated on how you should do that. Hope it's useful to people!


Contributors' Corner 🤝

This week we'd like to thank @nlfurniss, @smfoote, @pzuraq, @bekzod, @kennethlarsen, @chrisrng, @jenweber, @jessica-jordan, @amyrlam, @tylerturdenpants, @runspired, @rwjblue, @ryanto, @teddyzeenny, @rwwagner90, @apellerano-pw, @knownasilya, @dcyriller, @stefanpenner, @dcombslinkedin, @kanongil, @kategengler, @tomhazledine and @indieNik for their contributions to Ember and related repositories 💖!


Got a question? Ask Readers' Questions! 🤓

Office Hours Tomster Mascot

Wondering about something related to Ember, Ember Data, Glimmer, or addons in the Ember ecosystem, but don't know where to ask? Readers’ Questions are just for you!

Submit your own short and sweet question under bit.ly/ask-ember-core. And don’t worry, there are no silly questions, we appreciate them all - promise! 🤞


Want to write for the Ember Times? Have a suggestion for next week's issue? Join us at #topic-embertimes on Slack or tweet us @embertimes on Twitter.


That's another wrap! ✨

Be kind,

Chris Ng, Amy Lam, Ryan Mark, Alon Bukai, Kenneth Larsen, Jessica Jordan and the Learning Team