Rapid Development for Mobile Apps
Maintaining a multi-platform mobile app can quickly become a nightmare, and building/maintaining this app is certainly not "rapid" by any stretch of the imagination.
Maintaining a multi-platform mobile app can quickly become a nightmare, and building/maintaining this app is certainly not "rapid" by any stretch of the imagination.
One of the biggest concerns clients have today is mobile app development. While developing for the web is somewhat easy and standardized, mobile app development is a whole other animal. Web development typically requires someone who can code in PHP, HTML, CSS, and JavaScript. Even though there are many different browsers, the core building blocks of writing web code remain the same. Incompatibilities across browsers, while annoying, are generally well-known and fixed within known languages.
App development, on the other hand, is not the same. For starters, the core languages used to build the apps vary across each platform. If your company is only focused on the iOS market, finding a programmer who knows Objective C might be less of a burden than finding one well-versed in all the languages used by other mobile platforms.
But even if you were to find that magical programmer who has complete domain expertise in .NET, Java, iOS, and any other language necessary for the platforms you wish to target, you would now be left with a maintenance nightmare. Let’s assume you find a bug in the software after it is released. Fixing the bug has to be done multiple times, across every platform.
Maintaining a multi-platform mobile app can quickly become a nightmare, and building/maintaining this app is certainly not “rapid” by any stretch of the imagination.
Our firm has been playing around with “hybrid” apps. These are native apps that are written in HTML5, JavaScript, and CSS. They rely on each platform’s ability to embed a browser within an application. That way, your application can be written the same way websites are written, and be transformed into native apps in the final step.
This way there is one code base to maintain and one finite set of languages needed to create the application. There are a few major mobile frameworks, such as JQuery Mobile, that ease this development process even further, and packages like Adobe’s PhoneGap provide JavaScript libraries that allow these hybrid apps to use core phone functionality like the speakers, compass, etc. End-to-end solutions like Icenium make it easy to do final builds for each platform, and help manage the various app store processes to get your application onto the open market.
Certainly there are drawbacks to this approach: the apps don’t have the ability to fully take advantage of the built-in user interface elements of the phone’s operating system. But libraries like JQuery Mobile do their best to mitigate concerns like these. It’s also likely that a native app would run faster than one that has to be interpreted by an embedded web browser.
But if you need a cost-effective way to quickly (and somewhat painlessly) create and maintain mobile apps across multiple platforms, “hybrid” apps give you the most bang for your buck, unless you are doing something graphically intensive (like a video game) where access to core graphic functionality is a requirement.
Plus, if one of your apps really takes off and is bringing in millions of dollars, you can easily afford to hire someone to create a native version of the app if you still feel the need to.
Until next time…
Jack
Image on home page via Shutterstock.