Thinking about developing a mobile app for your company? Whether you’re planning to use it for internal needs or external, customer-facing needs, here’s an at-a-glance guide to what will work best for your organization.
Cheat sheet: Phone Gap and Xamarin
When you task a developer with creating a mobile app, you may not be aware of some of the critical decisions that should happen before development begins, and why. Understanding a little more about how these decisions are made can help you save time and ensure that your developer is doing the right thing for your company.
When approaching a new mobile app project, the biggest decision a developer makes is what cross-platform development framework to use. Most people are aware that there is a wide diversity of smartphone and tablet operating systems (iOS, Android, Windows, and more), and that they operate differently due to their unique coding structures. Until recently, when a developer wanted to create a mobile app, he or she would have to build it separately in each operating system, hence the term ‘native’ app – one that is built on/within the operating system where it runs. So, in order to create any “mobile app”, a developer really had to build two, three, or more native apps, depending on the desired availability.
With the recent advent of cross-platform development frameworks, developers now have the option to code an app’s functionality once, on a framework that automatically creates functionality across multiple systems. Two of the most important frameworks are Phone Gap and Xamarin.
What are they?
Xamarin is shared code that compiles natively –using actual java code and objective C code—on Android or Apple operating systems, using an open source common language. For example, to create an app that checks the weather based on geographic location, a developer could write that functionality once using Xamarin to compile the native code for three operating systems: Android, iOS, or Windows. A big difference from Phone gap is that the user interface (UI) is dynamic and so with Xamarin Forms, even interactive web forms will display as a native app.
Which is better?
Both Phone Gap and Xamarin offer pros and cons for companies and for developers.
If a company already has the web assets developed that will be used in the app, Phone Gap may offer faster-to-market advantages, as it can simply be “wrapped around” the existing HTML code. That said, it works best with brochure-type web content that doesn’t require much interactivity or dynamic response.
Xamarin can compile code natively to run on MacOS, iOS, Microsoft, or Linux machines, and so apps work faster because they run in native code.
The bridge/translation step that Phone Gap requires slows things down, because the smartphone IS the web server. While that’s fine for a couple of static content pages, it doesn’t work so well for filling out forms or searching products to buy. It’s also limited because it is running in context of web, instead of in the native system. (And web browsers on phones have limitations by design, for security purposes.)
Overall, if you’re developing something new and you have a choice, Xamarin offers more bang for your buck in terms of increased control, flexibility and a better performance. On the other hand, if you already have the digital assets – such as a web site – and they don’t require a lot of interactivity for forms or search, or you’re in a hurry to get your app to market, Phone Gap can be faster.