Moving from React to Ember 2020

Photo by Joshua Newton on Unsplash

As a developer, I am constantly trying to find technologies that enhance my ability to solve our customers’ needs and positively impact time to delivery — a win-win for our customers and our team.

A little about me, I started as a Java developer using SQL databases and eventually transitioned to Python using Flask or Cherrypy with either Mako or Jinja on the client-side with sprinkles of javascript albeit jQuery for browser support. Python offered us an increased speed of development and the ability to deploy code much faster than that of our Java development. As technology advanced, so did the technologies we employed.

As React was starting to see broad adoption, we decided to give it a try and built a new project with it — a car bidding site of sorts. The car bidding site was a bleeding-edge technology stack at the time, using Backbone as the router, React as the view layer, Hapijs for the API, RabbitMQ, and Couchbase as the datastore. Sure, we had other technology in there but these were the meat and potatoes. The platform would allow individuals to take pictures of their car(s) and upload them to our service which would then send messages out to our users that were interested in bidding/offering a price for them. This offered a two-way chat for questions and answers, as well as the ability to bid/offer all through a nice single-page application.

The best part of React is that you only get React out of the box - want to use React with your existing server-side rendered pages? Great! Want to build a SPA? No problem! React’s use case is to create a view layer that is performant out of the box. The developer world loved the simplicity of React and I was one of those developers. It was a joy to toss out jQuery and adopt React for the presentation layer. I’ve had the pleasure of building single-page applications and components with React for the last few years, but I was tired of reimplementing routers, boilerplate statement management, different project structures, etc. and decided I wanted something different.

I was seeking a development environment that is like Python — batteries included. I want a stable framework that is iterated on, one that has a stable community, one that provided everything you needed as a solid foundation to start building ambitious applications. This brought me to Ember — a framework for building ambitious applications born out of Apple and adopted by some very impressive companies including LinkedIn and Square. Unlike React, Ember is a framework providing a router, state management, and a consistent project structure out of the box, among other things. The documentation is solid and the community is very responsive and eager to help. We no longer need to write boilerplate to add a router or state management. We enjoy using the beautifully crafted ember-cli to generate services, components, templates, or routes. Ember checked all of our boxes and it probably checks yours too. Ember is the newest tool in our toolbox and we look forward to telling you all about how it is making us more productive in future posts.

Technical Co-Founder, Beer Brewer, and BBQ Smoker.