In the past we have seen an elevated need to define a mobile strategy for every organization. With myriad device types and operating systems, organizations face a much bigger challenge. It’s no longer enough to just have, say an iPhone app; you need to be able to support iPad, Android phones, the Amazon Kindle, larger Android tablets, Windows Phone, and BlackBerry as well.
Developing an app that supports all of these platforms is a challenge, especially for a business with limited resources. Fortunately, we have cross-platform mobile frameworks like Appcelerator Titanium, Rhodes, and PhoneGap for help.
Using these cross-platform tools, developers do not have to write the specific code or sequence for each platform, instead they can write the code once and then reuse them in subsequent projects on other platforms. Since most of these frameworks also support HTML5 and CSS3 alongside the calls to more native functions, they are easy for web developers to learn and use.
Of course, a cross-platform framework development strategy isn’t always the ideal solution. Most cross platform frameworks expect developers to use their own custom development tools and suites. So developers do not have the freedom to choose their own IDE. Also most of these frameworks use their own subsets of JavaScript, which means that if you want to switch to another platform, that code you wrote before is likely not going to be reusable without a lot of work.
In using any framework, one major factor that cross-platform developers must bear in mind is app design. A good cross-platform application looks at home on whatever platform it is used on. A bad cross-platform tries to look identical everywhere. For instance, if your Android app has navigation controls at the bottom of the screen, iPhone style, you’re doing it wrong.
To summarize, cross platform tools do solve a lot of business problems, but also suffer from a few short comings. Architects and business owners need to evaluate their requirements and vision of the app closely before making a well informed decision.