We've been building Ember.js applications here at Netguru for a while and managed to get more devs interested in picking up the framework. Given our experience in teaching Rails via monthly workshops, a similar approach seemed like the best fit. Find out what happens when you put a bunch of developers on different levels of experience in a room with Ember.JS and Firebase.
There is a great gap between following a tutorial and actually building something on your own while learning some new tech. We've been building Ember.js applications here at Netguru for a while and during this process we managed to get more devs interested in picking up the framework. Given our experience in teaching Rails via monthly workshops, a similar approach seemed like the best fit.
The plan was to gather a crowd of people willing to learn Ember.js together with mentors battle-tested in our commercial projects and set them off on building an app from scratch. We wanted the beginners to reach a point where they could understand where the different pieces (routes, controllers, components) fit and how they should approach adding a new feature to an Ember application, especially with a few people working on the project simultaneously via Git.
We managed to build not one, but two applications, one being a place to share locations with your friends, and a tool to manage webinars taking place at your company. We also learned a lot about Firebase and organizing such events – more about that later, but first let’s have a look at what we built.
Naming is hard, so we went with the first name that fell out of Project: Codename :). Urban Thunder is an app that allows you to easily share locations. It uses Google API for geocoding and HTML5 Geolocalization API for marking spots you find yourself at any given moment. It's backed with Firebase, so you will see all newly added places instantly – no page refresh needed!
Webinars play an important role in the internal knowledge transfer process. With the help of a newly created application, managing their content becomes effortless. To add a new webinar, simply fill in a user-friendly form with the help of live-preview WYSIWYG editor, while subscribing to an event is a one-click solution.
During the workshop, we had to overcome different technical obstacles. The most important one was creating the backend for our Ember applications. We initially decided to work with ember-data, which gives access to a really nice REST adapter, but we still needed a place where we could store the data and modify it.
As most of the participants were Rails developers, they opted to create a simple Ruby on Rails application and treated it as an API. This idea would not have matched the goal of the workshop not only because it was a little time-consuming, but also due to the fact that creating RoR applications was very familiar to the attendants whereas we wanted to experiment with new solutions.
Having made some more research, we decided to use Firebase, a great and reliable source of data in the Ember application. This platform provides the user with real-time backend and makes it possible to create a working app in just a matter of minutes.
The main merit of this form of a workshop was that not only the participants could gain useful experience - it was also an important training for the mentors. Bearing in mind that teachers who learn nothing from their students are not really the best, we tried to make this event a great experience and we also drew decisive conclusions from the feedback after the workshop to make the second edition even more fruitful.
The ability to rapidly acquire knowledge is a desired skill in a software developer’s career. It is important to bear in mind that time invested in studying always pays off. Plus, you can have some pizza in good company.
If you want to start your Ember.JS adventure the right way, check out this handy list of Ember.JS resources. We're sure you'll find something good!