Write Once, Run Everywhere

The web is not dead. Investing in a first class mobile web UX is more important than ever. Kill two -- or even three birds with one stone using Ember.js, Cordova and Electron.

Write Once, Run Everywhere

Abstract

Some say the web is dead. They say you should build a native mobile app, because it’s just impossible to get reasonable performance out of hybrid mobile technology. This couldn’t be farther from the truth.

Since 2012, the single-core CPU performance of the best devices for sale has increased by 10x, and now we even see that Google will penalize pages that prompt users to download a native app, in lieu of a rich and full-featured mobile web experience. Wouldn’t it be great if you could have your cake and eat it too? Invest in a first class mobile web experience, and then ship an app to the app store using the same codebase?

Ember.js is an opinionated UI framework that makes taking on this challenge easier than ever. Because a huge community of developers are aligned around the same conventions and web standards, it’s unbelievably easy to use things like Apache Cordova and Electron. Combine this with ember’s new rendering engine, Glimmer 2, and we can create a consistent, performant and pleasurable user experience across many devices, and form factors.

We’ll build a small real-time chat app, piece by piece, and show how it can be deployed to the web, taking advantage of Ember’s server-side rendering technology (Fastboot), packaged as an iOS app using Cordova, and as a desktop app using Electron.