Mobile First Strategies


#1

How is everyone tackling it? I think just a single ember app on the browser will suffice for whatever device, but is that really true? Am I losing anything by not wrapping it in something like Phonegap or Cordova?


#2

It really depends on what your application is doing. If you don’t use any native features like the camera there is no reason to wrap the application in Phonegap or Cordova.

With my company edgy circle I already developed various Ember.js applications. One client project last year had very specific requirements in terms of the desktop / tablet / mobile versions. The application works flawlessly on every device but depending on the device certain features are not available.

There was a big interactive SVG map which was great on desktop but not so much on mobile. So on mobile and tablet the map is displayed but you can not interact with it. The process of developing it was not so different to “normal” responsive web design.

We started building the templates in a responsive way using media queries and CSS. Developing the features was also done in the same way as you would develop any Ember.js application. In order to determine what device is using the application we use something based on this gist. In our application code we then used the appropriate flags to disable / enable certain features.


#3

Awesome, thanks for clarifying that!


#4

I haven’t yet developed anything in Ember for mobile, but I make it a habit of check applications I’m working on with my phone. It’s a great way to visually benchmark performance especially when writing performance intensive applications (which many ember projects are).

It forces you to look closer at a framework that wasn’t built mobile-first. Things like rendering are a huge issue with current-gen phones because they don’t have the power found on laptops and desktops.

If I were to develop a mobile application with ember however, I would:

  • look up as many optimization tricks (and practices) as possible for ember, and JS in general
  • Integrate it with my web application, what’s the point of using a multi-platform approach if you have to write separate apps anyways? May as well go native if you plan on writting something different.
  • Carefully evaluate if ember supports all the features my application will need. I don’t want to suffer user experience because I’m taking a development short cut. Yes, sometimes shortcuts are necessary, but usually user experience is more important because people have to want to use your app for it to be successful, usually.

I love Ember, but no framework can do everything. I understand that I’m bias towards ember and carefully evaluate all of my options when architecting a new project.

Is Ember a good choice for mobile development today?