The big problem with mobile app development is the platform it runs on. There are many to choose from and they’re ever changing. A couple of years back, iOS was the first, and almost only, choice for rolling out a mobile app. That is certainly not the case now, with Android and Windows 8 growing like mushrooms on fresh moss. In fact, in the second quarter of 2013 Android represented about 80 percent of all smartphones shipped.

If you want to have an app for more than one of the dominant mobile platforms, you have to build a separate app for each one, but developing three native apps plus a Desktop version is too costly. This is where alternative platforms come to the rescue. They’re fast, they’re more cost effective and they do the job right.

Although the major chunk of apps that we’re building here at Webonise are native, for which we use the standard SDKs for Android and iOS, we’re definitely not overlooking the possibility of using platform independent, code-once-use-everywhere kind of apps. Of course, like in everything that’s design-related, especially when it comes to designing for mobile, using these alternative platforms comes with both advantages and disadvantages. The rule of thumb is that you have to understand the context in which betting on an alternative platform makes more sense.

At Webonise, we evaluate the pros and cons by taking into account these key aspects: budget, benefits, how complex is the development cycle, how necessary it is to use a multi-platform support, how strategic is the project, how important is performance, what are our priorities design-wise, and so on.

Granted, word-of-mouth says that alternative platforms are only used due to a limited budget or because in some cases you actually need fast development cycles, but the best thing about them is that they allow web developers to work on mobile app development as well. The major benefit is that, in most cases, with these platforms you only have to write code once and then just package it for various platforms like iOS and Android. However, when you’re building native apps, you have to write and maintain separate code bases for each platform you want to support.

Here are the major alternative platforms that we use and their most relevant pluses and minuses:

    1. 1. Titanium. The Titanium Mobile SDK is the number one cross-platform mobile development solution in use today, and we fully recommend it. It provides good performance (since it uses native components) whilst having a simple and powerful API that gives access to most interface elements either iOS and Android has. It also translates into rapid prototyping, allowing you to create in a very flexible way. You actually get to code in just a few hours what normally would require a few days. Also, it allows you to develop for several platforms at once, and here the advantage is more than obvious: you get to reach a very high level of code reusability without being forced to learn two separate languages. Time-wise, this one’s definitely a keeper. By choosing to use Titanium, you also reap the benefits of its growing community (more than 200,000 developers who have built more than 35,000 apps). If you need to buy, sell or share modules, templates, design elements and so forth, you can go to its Open Mobile Marketplace and meet up with other developers and share ideas or ask for a piece of advice. Of course, as I mentioned earlier, it has its limitations. You obviously can’t expect the same results in terms of user experience as with apps developed within a native environment. There are a number of flexibility limitations and the whole process can get unstable at various points, the more complex your application becomes.

 

  • 2. Phonegap. Also known as Apache Cordova, Phonegap is great if you’re looking into developing cross-platform mobile apps quickly and with less effort. If you want to come to work, sit on your desk, spend a couple of hours cost-effectively developing a mobile web app, then “wrap” it up and deploy it as if it were written natively, then PhoneGap should be your tool-of-choice. Its key advantage, however, is that it supports 7 different mobile platforms – iOS, Android, Windows, BlackBerry, WebOS, Symbian and Bada. Also, if you rock at HTML5, CSS and JavaScript, PhoneGap will let you play with numerous coding opportunities and the results can be fantastic. Among its most popular drawbacks is the lack of pre-built UI widgets, transitions, standard controls, etc. Also, if your app is graphically intense, i.e. a game, things won’t go as fast as smooth as you’d want them do, so for these situations in particular you might consider a native app.

 

 

  • 3. Sencha. If you want to build a “rich”, standalone app, then use Sencha Touch. It’s that simple. Even though the learning curve is very steep, don’t give it up, you’ll get awesome results. The UI looks and feels extremely “native”, the physics react in the same way (lists bounce and snap back into place, transitions are smooth, etc.), it’s not at all generic and it gives you a lot of space for getting creative. It is definitely a better tool for more advanced/larger projects, especially if they contain multimedia features (video and audio components) and your main goal is to make your up as visually interactive as possible.

 

All in all, the user experience for apps built using these alternative platforms is not perfect, as they are essentially just wrappers that strive to achieve native functionality. Still, thanks to their well-perfected latest versions, they’re taking the lead when it comes to creating business critical apps. Granted, native apps are and will be the safest road to embark on, but from time to time, taking a shortcut can be exactly what your app idea needs.

Share :