Mobile Development : Cross Platform Technologies
In the previous post we discussed the pros and cons of using the Native development environments for developing mobile apps. Let us take that discussion forward in this post. Just after the native development gained prominence, some other software development frameworks started to surface up in the field of Mobile apps development. These were the tools that allowed smartphone apps development outside the native frameworks and offered a strong advantage over the native platforms – cross platform compatibility. These tools offered developers to write only one set of code in one project and develop apps for multiple platforms simultaneously from that. Two big players that emerged out in this cross platform spectrum were Appcelerator’s Titanium framework and HTML5 based PhoneGap framework. Both of them were comfortable to adapt and use and soon garnered enough developer crowd to gain mainstream attention. Both these technologies offered their developers a common ground wherein they could create apps for iOS, Android & Blackberry. And recently they’ve even included support for developing Windows Phone apps as well. So, now one just has to create a single project and they can have 4 separate apps on their respective platforms. Since there is just one set of code, the user experience was uniform across all those apps.
But these cross platform developed apps too had a fatal flaw. They were not developed using the same frameworks with which the mobile platforms were built. For example Titanium or PhoneGap had nothing to do with the Cocoa Touch framework and this affected the overall quality of the app. Even a normal user can identify the difference between a natively developed app and an app developed using any cross platform tool. The UI lagged a little and experienced some glitches unlike the smooth & quick transitions of native apps. But it still worked fine on simple, utility based apps. So, summarizing the discussion, we can jot down the following:
Advantages of Cross platform development approach:
- Maintain just one team and one code base.
- Costs less to develop apps across different platforms and development proceeds quickly.
- Maintaining user experiences across different platforms is easy.
- Bug resolution process is quick and comparatively easy.
- Acceptable solution for small, utility based apps with simple functionalities.
Disadvantages of Cross platform development approach:
- Quality of the app is not exactly replaceable to Native apps. UI lags a little and has glitches.
- When native platforms are upgraded, cross platform tools take time to come up with their compatible upgrades. Might affect if your app is already live with lots of users.
- Not a suitable solution for heavy apps, graphic intensive gaming apps, etc.
- Limited forum support.
So, based on the two sides of the story, consider the application being developed and judge wisely as to which approach will suit your app the best. We at Elan Emerging Technologies follow the best of both philosophies. Come to us and we will guide you with proper consulting advice and get you the app that you and your idea deserve.