The rising ubiquity of mobile devices and platforms means more and more businesses must adapt their strategy to meet consumer mobile demands, but as the available hardware and platform features become more variegated, mobile development gets more convoluted. As it currently stands, there are three main options to consider when you’ve decided to take your company mobile.
Here are the three approaches in detail, weighed against pros and cons:
Native applications are the ones we are most familiar with; they came along with the opening of the App Store in 2008. They are fitted for a specific platform (iOS or Android, usually), and coded using an OS-specific software development kit (SDK). Native apps that have been written for Android, for instance, can’t be made to work on the iOS platform without adapting the language of the program significantly. They adapt to the platform’s UI, resulting in a very ‘native’ look and feel.
Pros: Fast performance, advanced UI interactions, app store distribution, work offline & online, able to utilize native device features.
Cons: Most expensive and time-consuming option, must be designed with app store standards in mind (Apple or Google Play Store).
Best option for applications that… are complex and highly specialized; are highly animated with heavy graphics needs; require data to be cached; need to operate offline; need device-service access
Mobile Web Applications
Mobile web applications are all of those that are accessed directly via your browser. Rather than downloading them from the app store and installing them on your device, web applications exist on a server and often render HTML to suit the design to access device specifications. The constraints that exist for native apps do not exist for web apps. They can be written without platform-specific language constraints – a ping from your device’s web browser tells the server to adjust and adapt thusly.
Pros: One web app works across all platforms so distribution is unrestricted, can be written in Java/C/PHP/etc, receive instant updates, cheaper and quicker development
Cons: Device needs web access to reach your app, no access to native UI features, slower performance.
Best option for applications that… need to be updated very frequently; don’t have a heavy graphics load; are on a low budget; need to be readily accessible to accrue more visitors (search engine visibility); don’t need to utilize native device services; don’t need to be extremely interactive; are fairly simple
Hybrid applications draw from the benefits of both native and web apps. Similar to native apps, hybrid apps must be downloaded and installed from the app store. However, like web applications, the UI is based on HTML5 and runs typically through a browser, so the UI is emulated. Device features like camera, location services and storage are accessible. Essentially, hybrid apps are web apps that have been ‘wrapped’ inside of a container that adapts the application to the native platform. These apps can reside either on a server, or store their files on the device, depending upon which option makes the most sense for that particular app.
Pros: Access to native device features, can be written in Java/C/PHP/etc., option between server-based or native storage, flexible
Cons: Slower performance, must be designed to meet app store standards, can work both online and offline (depending), don’t have the native “look and feel.”
Best for applications that… operate best via SQL hosting, but need access to native device features; don’t need to be extremely interactive; are simple or complex
Understanding mobile strategy – really understanding it – is a daunting endeavor for anyone unaccustomed to operating within the mobile market. The solutions are not always obvious for businesses looking to implement mobile into their overall enterprise strategy. It typically falls upon the shoulders of developers to choose between the existing application approaches, each with their own merits and pitfalls. It’s important for developers and their clients to meet at the juncture of devising a mobile strategy, so the developers can thoroughly understand their clients’ needs and tailor their approach accordingly.
For businesses and clients interested in going mobile, we offer Consulting as a Service (CaaS) to ensure that your strategy involves adopting the best possible approach to suit your needs. To learn more about all of HarborDev’s services, click here.