G'day, Emberistas! 🐹
This week we have an Ember standard for i18n 🌍, more convenient transitions through your Ember apps with the new Router Helpers & Element Modifiers RFC, artisan ☕️ deprecations for setting your component managers, a new version of Ember, an exciting new Readers' Question 🤔 on the future of controllers, using GraphQL in Ember 💥, and more!
@snewcomer and @cibernox announced a new way to internationalize Ember apps, ember-i18n is now deprecated in favour of ember-intl! This will provide Ember with a standard package for internationalization.
There are many reasons to make the change such as:
- Using the ICU message format which is a standard in the i18n industry
- Locale-aware numbers, dates, times, currencies, decimals, and percentages!
- Uses the Native Intl API
- Translations are way more powerful and can contain logic (like gender-dependent translations)
- Advanced addon support to provide translations to the host app
Several new template helpers and element modifiers for routing are proposed: This includes a
transition-to element modifier for easy route-to-route transitions surpassing some of the drawbacks of the functionally similar
link-to helper. But also the design of and the motivation behind new, useful helpers like
is-loading among others are explained in great detail in the RFC itself.
Curious? Be sure to give the proposal a read and make your thoughts known in the comments below!
The 🔥 brand-new Custom Component Manager API 🚒 has been shipped with Ember 3.4 and is now available as a low-level API granting addon authors more freedom to create components from customized base classes.
This week a freshly brewed RFC with its first, important deprecation rolled in: The proposal suggests to replace the string-based lookup method for the
setComponentManager function for a factory-based approach. This small change in the API provides quick wins 🏅 for future undertakings regarding tree shaking of Ember apps, module unification and more.
Read all about the motivation behind this deprecation in the hand-crafted RFC on Github.
Following his EmberFest talk with @chadian, @jneurock blogged about their experience with GraphQL in Ember. If you are struggling with JSON API, or thinking about GraphQL, this article should give you an understanding of how to get started. They even created an example repo that includes an Ember app demonstrating GraphQL integration with four different clients. Check out the article and the GraphQL website to learn more!
Version 3.5 of Ember and it contains some pretty cool things. With this release, Ember Data has now released their first LTS release ever with Ember Data 3.4 and will now follow the same LTS cycle as Ember.
Ember Data 3.4 also released the new
RecordData interfaces that give addon developers the much-needed API access with more confidence and stability.
With Ember CLI 3.5 you get Broccoli v2.0.0 that no longer uses your local
./tmp in your project folder but the system
temp directory instead. This can result in build time improvements up to 32%! 🏎
You can read all about all these new cool things and much more in the release post.
Ah, the age old question: "What is the future of controllers? When is it a good time to use them in a modern Ember app?" @jenweber tackles this topic with some help from Framework Core Team member @ef4. TLDR: do use them, don't lose any sleep over them, and help us decide their future. See this Ember Discuss post for the article and conversation!
This week we'd like to thank @rwjblue, @chadhietala, @btecu, @amyrlam, @chrisrng, @jessica-jordan, @ynotdraw, @Alonski, @sivakumar-kailasam, @thorsteinsson, @YoranBrondsema, @runspired, @ctcpip, @wagenet, @rondale-sc, @toddjordan, @esbanarango, @mansona, @HenryVonfire, and @cspanring for their contributions to Ember and related repositories! 💖
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! 🤞
That's another wrap! ✨
Jen Weber, Chris Ng, Ryan Mark, Amy Lam, Jessica Jordan, Kenneth Larsen, Alon Bukai and the Learning Team