Posted by Matías O'Keefe

Hybrid development on 2015

25 April 2015

I normally work in business transformation processes and having a solid way to build an MVP is key in my line of work.

The first thing I noticed is that Hybrid platforms are starting to be in many aspects a solid alternative when you need a data-driven app.

If you’re building a game you should stop reading right now and go native!

Have in mind, that building a good hybrid app can be as time-consuming as building a native one, but with the upside of building once for many platforms.

The communication with the device, push notifications and all that good stuff has been solved with Cordova/PhoneGap in a simple straightforward way. You can now even test your hybrid app real-time in your device while you develop with the new PhoneGap app.

In a nutshell, my analysis of the technologies at hand, today goes like this:

First a Quick note on Meteor.

It’s completely awesome. You’ll build your MVP in no time (plus the time it takes to learn the framework) 100% Javascript, realtime data updates in all clients, you write data access code once and it works both in client and server. The only problem I see with it is that you have to work the meteor way from end to end, client and server. This is an awesome technology, but I wouldn’t use it yet on production sites.

Angularjs

Angular is leading the charge on client side frameworks. You can quickly work with REST services and manipulate the presentation client side. I would strongly suggest evaluating this framework for your next project.

But angular does not solve the presentation. The necessary JS and CSS for your app to look awesome in a mobile device.

To solve that part, I´ve been looking at Ionic, Framework 7, Famo.us and many others.

IONIC

The clear winner in community size and flexibility is Ionic which is great if you´re building a mobile app. It´s only meant to work on mobile so If you need a responsive web you should be looking at Famo.us or Bootstrap.

Server side

My conclusion here is picking the one you like best. Igniter, Symfony, Zen, Django, rails, but build services. Isolate the server problem from the front end. Exchange only data. The traditional MVC pattern is great, but rendering the HTML on the server side will only make your hybrid app act clumsy and slow and there’s where you’ll never make it work like a native one.

When you pass your MVP stage, consider a better data management on the client side, caching immediate information and keep building a great hybrid app.

Hope the insight helps and I would love to hear other opinions.

Mat