The Many Faces of Mobile App Development
Monday, December 10, 2018
Posted by: Gary Hotze
David Brault, LANSA Product Marketing Manager
It’s official; mobile is the Internet champion of the world. The crowning happened in October of 2016 when mobile internet usage dethroned desktop internet usage - and the gap between the two have remained steady ever since.
This shift in how web-based content consumption means businesses can no longer overlook mobile users. As a result, development priorities must be adjusted to accommodate a premium mobile-first experience as well as a whole new set of app development considerations.
Desktop vs Mobile vs Tablet Market Share Worldwide, GlobalStats Statcounter, June 2016-June 2018
While deciding whether to invest in creating new mobile apps is simple (yes!), determining which type of mobile application to build is much more complicated. There are many different styles of mobile apps and each strategy has its pros and cons. Unfortunately, this means the type of mobile app you decide to build for today’s project may not be well suited for your next.
A commonly asked question is what the best mobile app architecture to use is? It’s so common that a Google search on this topic will return 500 million results! As you can expect, web developers and native app developers will have very different – and biased – answers.
Types of Mobile Applications
There are a handful of different mobile application styles where, unsurprisingly, you could make strong cases for selecting each approach. You’ll discover that there is a sliding scale of benefits (user experience) and tradeoffs (cost and time to market) that must be taken into consideration as you move across the different types: Responsive Web Apps (RWA), Progressive Web Apps (PWA), Hybrid Mobile Apps and Native Mobile Apps.
Understanding the differences between these mobile application architectures will help determine which one is best for your specific needs. Let’s review the bookend apps first – RWA and Native – before covering PWA and Hybrid.
Responsive Web App (RWA)
In the early days of mobile device viewing, most websites were barely usable. Users had to pinch regularly and zoom in and zoom out to locate content on screens. RWAs to the rescue! The modern use of CSS and media queries enable web designers to construct user interfaces that gracefully adapt to multiple form factors with an optimal viewing experience, which means no more having to build separate sites for mobile and desktop users. This cost-effective RWA architecture addresses the mobile problem with minimal effort. While RWAs are optimized for mobile and are typically quick to develop, they can sometimes suffer a lower quality user experience because they don’t perform as well or have the same level of device integration as native apps.
- Pros: Least expensive, fastest to market and works on any device
- Cons: Traditional browser experience, slower response, no offline support, not available in app stores and limited integration with native device features
Responsive Web App Examples:
Native Apps made smartphones what they are today – mobile computers. They achieve the best user experience because of their super-fast performance, robust functionality and ability to integrate with everything on the device seamlessly. Unlike a mobile web app, where the UI is quite similar on both iOS and Android browsers, a native app’s UI is delivered via the native GUI toolkit for each operating system (OS) to provide a look and feel consistent with its ecosystem. But these luxuries come at a high cost. Since native apps are developed for a specific mobile OS, they are written in platform-specific skillsets that most companies don’t possess. Plus, a single application supported on both iOS and Android will require two sets of source code to build, debug and maintain. That said, if you need to deliver powerful features that utilize movement detection or augments reality, for example, then native is the way to go.
- Pros: Superior performance and reliability, native OS experience, available in app stores and off-line support
- Cons: Most expensive to build, the longest time to market, requires specialized skill and two code bases
Native App Examples:
- Pros: Faster development than native, available in app stores, single codebase for iOS and Android
- Cons: Speed limitations, phantom clicks, non-ecosystem UX and limited off-line capabilities
Hybrid App Examples:
Progressive Web App (PWA)
Based on a responsive web app architecture but a little more “app-like,” PWAs have the look and feel of a native mobile application because of its ability to be installed locally and work well offline. Though they’re still essentially a browser app, PWAs are optimized to leverage the mobile device’s underlying technology and features. They offer a better user experience than the responsive web app because they can be launched from an icon from your home screen and run full screen (hiding the remnants of the browser footprint) to give it a more “app-like” experience. These types of apps also employ modern capabilities, including push notifications, web app manifests and offline data support. As PWAs and HTML5 continue to mature, many speculate that the line between web, hybrid and native will start to blur.
- Pros: App-like experience, good offline capabilities, one code base
- Cons: Still evolving, more expensive, cross-browser compatibility issues
Progressive Web App Examples:
B2B mobile application development priorities will shift as people’s internet habits shift. Those charged with B2B mobile app strategies must choose tools that deliver the experiences and capabilities required now, but also serve future needs and end-user interactions. Ideally, such tools would also enable flexibility and scalability to meet those future needs while minimizing refactoring and maintenance. The formula gets tricky when you consider the continuous advancements in mobile technology.
In a perfect world, absent any resource constraints, most developers would choose to go native for every mobile app because of today’s renewed emphasis on the customer experience and usability. But considering the sliding scale of benefits and tradeoffs as you move across the different types of mobile application architectures, companies must decide if the added benefits of a native app justify the considerable increase in overall cost and time to market.
Naturally, no organization is absent of resource constraints, so it’s worth doing some organizational soul-searching before you decide:
- Do you have the talent on hand that can afford you the flexibility to pick and choose which mobile architecture to build?
- Will your team be able to support multiple mobile application styles without adding headcount?
- What’s the best way to maximize the longevity of the application?
- How can you be sure that an architecture decision made today won’t come back to haunt you down the road?
The answers to these questions usually come down to whether the extra time and effort are worth the upgraded UX. But what if you didn’t have to decide?
Low-code development platforms provide developers the flexibility to easily and quickly build all these types of mobile applications. Now, you don’t have to decide based on budget restrictions, skill constraints and time to market deadlines because you can deliver any kind of mobile application styles using a single platform – not several. Plus, if cross-platform deployment options for your new mobile apps are required, this is usually par for the course with low-code. Better yet, application development teams gain all the speed of producing high-quality, high-scale apps for any device with the ease of visual drag-and-drop UI design without IT having to maintain a bullpen of developer talent and adding headcount.
The web versus native debate will not end soon. Since languages and frameworks change so quickly, alternative solutions to standard development methods are becoming increasingly sought after. Low-code development is one such alternative and enables you to take your mobile application development by the horns.
Besides low-code platforms being a cost-effective alternative for building enterprise-grade mobile applications, these apps can be built quickly and scale to accommodate a growing amount of work or an expanding number of users. Empower your developers to maximize re-use, reduce risk and quickly deliver custom mobile applications that drive business growth rather than spend valuable time learning and staying current with all the ever-changing development languages and frameworks.
When developers embrace visual tools that extend beyond the standard web app and native and hybrid development methods, they reduce the complexity of a historically cumbersome and time-consuming mobile app development process. It’s worth a look at low-code visual development methods to insulate yourself from having to select and live with multiple mobile app development architectures.
This post originally appeared on the LANSA blog here.