My Experiences And Thoughts On EmberFest 2018

My Experiences And Thoughts On EmberFest 2018

Welcome to Amsterdam

The last few days we have spent in the wonderful Amsterdam city, which was picked for this year’s EmberFest conference. We decided to go there by van and our road trip took almost 13 hours, which was really surprising for everyone who flew there or traveled by train.

EmberFest through the years

The conference is with us since 2013 (except 2015), and throughout this time it was organized in various countries. The first conference took place in Munich and it was more like a bigger meetup including workshops and a hackathon. The number of participants was around 60 people which continued for two consecutive years. But in 2016, after one year break, the number of participants went over a hundred and the growing trend stays with us to this day. The number of participants this year exceeds two hundreds, so the community is getting bigger and bigger year by year.

null

Opening Keynote by Tom Dale

null

Tom started his lecture with a summary of the current state of Ember.js framework, how we build components and work with templates. Then, in the second part of his lecture, he mentioned what is planned for the Ember.js future, like the use of modern Javascript features in our applications, using native classes, decorators, Glimmer components, Outer HTML templates etc. What is more, we will no longer use computed properties — this feature will be replaced by tracked properties.

null

“Ember Language Server” by Tobias Bieniek

For Tobias, a huge fan of IntelliJ, there was a big problem — his favourite IDE did not have any plugin for Ember.js. It was his main motivation to create a plugin which will provide this service. He wrote it, it works fine, but it’s only available for IntelliJ. So the new idea was born — he decided to create a unique language server which can be used to develop plugins for certain editors. During his presentation, he showed us a simplified code of this language server and talked about the problems he faced while making it. The language server offers features like ‘go to definition’, ‘peek definition’, ‘autocompletion’ or route autocompletion in ‘link-to’ helper for example. The Ember language server is now supporting VSCODE, ATOM, EMACS (the last one is still in development).

null

In the nearest future, he wants to introduce features like file type icons or ‘go to related files’ which means you will be able to jump from your component file to the test. Fingers crossed for it!

“Honey, I shrunk your Ember App” by Simon Ihmig

null

Simon decided to bring up the subject of applications size and how it can affect the experiences of the end user. He started with how does the application size affect UX — a bigger application will take significantly more time to be displayed for the user, which can irritate the user a bit. Then he talked about how the optimization cycle should look like, here is the image of it:

null

First and foremost, you need to measure your application by checking your production build size which is size after minification and compression. In this context, he introduced Ember-CLI-Bundlesize package which will test your app against a given “size budget” and will fail your CI while size is “over budget”. Secondly, you need to check how many bytes every package adds to your application, there is a great package for it — Ember-CLI-bundle-analyzer. This tool will visualize the assets size and their modules composition.

null

Ember-CLI-bundle-analyzer in action The last step is the optimization, it’s time to cut down on add-ons and code that is not used at all. For instance — In most cases, you don’t use every package from lodash. Another good thing to trim is jQuery, as we all know jQuery is now optional in Ember because every functionality of jQuery can be replaced by a native Javascript code. Using these small tips you can make your app smaller even by 40%, which was the result achieved by Simon. This way accessing the website should be much quicker.

“The Future of templates in Ember.js” by Chad Hietala

null

Chad, same as Tom Dale, showed us some new features. This time, however, those were related to templating. He announced a few new features like:

He showed new features in a dedicated sequence, first presenting the RFC document, then a code snippet and finally the version number where the feature will be available.

null

Closing Keynote by Melanie Sumner

Melanie’s closing keynote was the antithesis of Tom’s opening keynote — she encouraged us to become comfortable with the uncertainty that surrounds us as developers. She talked about giving ourselves tools to help us be more comfortable, such as learning how to properly analyze studies and survey results to understand their complete meaning. Above all, she encouraged us to cultivate fearlessness in our lives, so we can continue to develop with Ember and not worry.

Party party time :D

After the conference, all participants went to a traditional after party dinner on a boat. There, we had the opportunity to hang out with each other and discuss how do we use Ember.js and what problems we have in a daily manner. That was really great time! You could talk to Ember developers who you already knew from the previous conferences. It’s good to know that Ember.js is thriving and many newcomers are trying to do something with Ember.js. Long live Ember!