Mobile App Technology
There are two main decisions that must be made when beginning any mobile app development project:
- Which platforms will be supported?
- How will the app be developed to support those platforms?
The answers to these fundamental questions will have the biggest impact on the cost and skills.
Whether building single or cross-platform mobileapps, there are three primary development Techniques that can be used to build mobile apps:
- Hybrid, and
Browser App (Mobile Website):
- Simple, browser-based deployment
- Easiest way to deploy an app to multiple platforms, reach most users (“automatically” available on any device with a capable browser)
- Built on industry standards, no platform lock-in
- Limited access to device APIs and sensors (bound by browser security)
- Cannot be distributed via mobile app stores
- Few mobile platforms support direct installation of mobile Browser apps (such as the iOS “Add to Home Screen” option in Safari)
- App developer must monetize app independently (no app store revenue)
- Installable apps that can be deployed, monetized
- Common code base for cross-platform apps
- Separate configuration and build is required for each target platform (requiring native tools or theassistance of new cloud build tools).
- More difficult to package, debug, and deploy than Browser app.
- Bound by app store rules, less freedom than Browser app.
Native app development is the most familiar mobile app development technique. It refers to the technique that leverages platform-specific SDKs and languages to build an app. For example, Native apps on iOS use Apple’s APIs, Objective C, and UIKit. On Android, apps use Google’s APIs, Java and Android’s specific XML UI markup. On Windows Phone, it’s Microsoft’s APIs, .NET, and XAML.
- Unrestricted access to underlying platform APIs and device capabilities
- Maximum application performance (due to vendor optimized device APIs)
- Fewest limits on app design and behavior (only limited by platform, device)
- Most expensive, least flexible technique for cross-platform development
- Many languages and tools required for each platform
- Smaller pool of available developers with necessary skills for each platform
- No-to-low development reuse between platforms.
Every app and every organization will have different priorities that guide the decisions made for appdevelopment, but there are several key drivers for most mobile development projects:
- FLEXIBILITY: The ability to easily adapt an app to new and changing mobile platforms
- TIME TO MARKET: The time it takes to build and deliver an app to mobile users
- COST: The cost of building a mobile app, in terms of development hours, training, and maintenance.
- PERFORMANCE: The perceived speed of a mobile app
Download our Mobile App Technology Portfolio below: