– Jill Epperson, Business Unit Director
Life is a series of trade-offs. You can choose to have lunch at a fancy, sit-down place and generally get a better meal, but the trade-off is it costs you more time and money than the fast food joint. You can choose to see that new blockbuster movie the day it hits the theater, but the trade-off is you are going to pay more for that movie theater experience than if you just wait until it is released on Netflix. You can choose to hit that snooze button for the fifth time tomorrow morning, but the trade-off is you may end up at work wearing two different shoes because you were so rushed you didn’t notice (okay, yeah, I did that one time).
The point is trade-offs are everywhere and mobile app development is no different. At Keller Schroeder, we are often asked what the best strategy is for mobile app development. Do we recommend using native languages, like Java and Objective-C? Or is it better to take advantage of the cross platform tools available today, such as Mono/MonoTouch and PhoneGap?
Choosing a mobile app development strategy centers primarily around creating a better user experience versus lowering the development investment and shortening timelines.
In general, the closer you get to native app development, the better the user’s experience is going to be because this is where you are able to take full advantage of the device’s capabilities and APIs. However, typically, it’s going to take longer to develop apps using the native languages – particularly if you are developing across multiple devices. You cannot, for example, write code for an iPhone in Objective-C and expect it to also run on Android or Windows devices.
Mono/MonoTouch, on the other hand, does a nice job of getting you closer to the native app experience and still gives you the advantages of cross platform development cost and timeline. Mono/MonoTouch allows you to write your code in C# and share business logic across iOS, Android, and Windows devices. You do, however, have to build the presentation features individually for each device you are targeting.
Tools like Mono/MonoTouch and PhoneGap, as well as other cross platform tools, will be behind the curve regarding support for new device features, and you are going to deal with their individual bugs and quirkiness. The app itself may be a bit larger in size than a native app, and/or may perform a little slower (although, perhaps not enough for the user to notice).
So how do you decide on a strategy? Start by considering what is important for your mobile app development project and which trade-offs you are willing to accept. Here are some key considerations:
• Which device types are you going to support?
• What languages does your development team already know?
• How complex is the app?
• What is your timeline and budget?
Consider these questions and then contact your Keller Schroeder Sr. Account Manager for more information on how you, together with Keller Schroeder, can navigate the trade-offs of mobile app development.
And don’t forget to check your shoes tomorrow morning.