July 10, 2018 marked an IT milestone: the 10th anniversary of the launch of the App Store, which made its debut with 10 million downloads in its first weekend. The apps back then were designed for Apple’s second-generation iPhone 3G, the first to use mobile apps.
Now, in mid-2018, the App Store now has in the vicinity of 2,388,000 apps and growing.
Since then, apps have continued to evolve into major-league business. As a result, developers are now faced with the challenge of shifting from web and desktop services, to building software for mobile devices to satisfy business-to-business (B2B) needs and emerging business-to-employee (B2E) mobile applications for the enterprise.
The stakes are high; research has shown that the future success of North American businesses rests in large part on their ability to truly mobilize their employees. Yet, successful companies often struggle with mobile app development because they’re too laser-focused on today's problems to worry about tomorrow.
The reality is, apps not only catalyze innovation but also empower employees and attract top talent. Contrary to what users might believe, not all apps are created equal, and much of the differences are due to the development method used.
This eWEEK Data Point article contains industry information provided by Mike Dunn, a career CTO and current member of the board of directors at Dropsource, which provides a new-gen mobile app development platform.
Data Point No. 1: A Brief Look Back
The meme, “There’s an App for That,” created by Apple for a 2009 ad, proved not only catchy but prophetic because the App Store has grown to house approximately 2,388,000 apps in 2018, and projections for total app downloads are a stunning 352 billion by 2021–up from 197 billion in 2017. The appetite for new apps hasn’t slowed.
Historically, developers have worked with three development methods for apps, each with their own set of pros and cons: web, hybrid and native apps. In the last few years, progressive web apps have emerged to answer the challenge organizations face when their requirements call for developing multiple apps that are costly and a strain on resources. Unsurprisingly, a debate around the advantages of each method is alive and well, and developers should consider the pros and cons of different approaches when planning to develop an app.
Data Point No. 2: Web Apps
Much like a highly optimized mobile website, a web app is stored on a remote server and delivered to your device via an internet browser, such as Chrome, Firefox or Safari. While web apps in many ways may look and feel like true applications, they are not a software application in the most traditional sense.
On the flip side, web apps are not available in the Apple’s App Store. User interface (UI) restrictions and a lack of offline functionality, which require network connections, greatly impacts speed which is dependent on the strength of the internet connection. This can prove catastrophic for user experience (UX), since any detraction from app experience can greatly diminish a company’s brand.
Data Point No. 3: Hybrid Apps
As its name suggests, hybrid apps were developed to blur the lines between native and web apps in several ways and are developed similarly to web apps in many ways. However, they run on special software called a webview container on a device. These apps feature the good and bad of both native apps and web apps.
The top advantages of hybrid apps are faster development, initial speed to market and cross-platform affinity. Most of the development is done with web technologies, which are cross-platform, creating very little native coding. Hybrid apps are developed using web development skills that are second nature to many engineers, and like native apps, hybrid apps are able to work in offline mode on the device. These apps can either be published apps or stopgap measures to fill the store while a set of native apps are being built. Typically, hybrid apps provide more advanced features than web apps, due to the limitations of the host OS.
However, hybrid apps are built using standard web technologies, so there will be performance, speed and UI experience limitations, like web apps. Hybrid apps run on the platform’s web engine, resulting in a layer between the user and the application. This layer can cause hybrid app performance issues, make the app less flexible and ultimately lessen the user experience.
Data Point No. 4: Progressive Web Apps
Progressive web apps (PWAs) were introduced in 2015 and added an option for developers looking to merge the best of what apps offer (speed), and the best of the mobile web (easy access by anyone). They function much like a native app and can house many of the same features. PWAs have various positive attributes, including:
- improving page load times;
- enabling push notifications; and
- impacting Google page-rank.
PWAs may be the right choice in some cases–retail case studies have found PWAs help increase conversions–but as a general rule, it’s important to think about the big picture when considering a new app. To date, PWAs do not offer the same level of functionality as a native app; they lack robust access to all internal hardware components, although they've continued to gain access to some of them via device OEM support. More importantly, PWAs do not support the experience customers have come to expect–a significant disparity.
Data Point No. 5: Native Apps
For companies seeking to offer the ultimate user experience within the most robust mobile app, nativeis the evident choice. Native apps are typically built using development tools and languages such as XCode and Swift for iOS, Android Studio and Java for Android, or Visual Studio and C# for Windows Mobile. The tools allow the app to be written, debugged and tested all in the same place.
These are typically the ones that come installed on your device when you first fire it up and can later be added via the device’s app store. These include the phone app we use to make and receive calls, listen to voicemail and find contacts. That app needs to be fast, responsive, flexible and use several internal hardware components of the device--the key reason why native is the preferred option for development.
Native apps do have some development drawbacks. They can be time-consuming to create and are often more expensive because of intricacies resulting from the ever-changing iOS and Android operating systems. If speed to market and cost savings are top of mind, taking the native app route might not be the best strategy.
Visual development tools help alleviate many of the challenges and frustrations associated with building, testing, distributing and maintaining native apps by automating these tasks. These allow developers to build and design native apps without having to write all of the UI and business logic code from scratch.
Data Point No. 6: Advantages of Native Apps
Native apps are full of major advantages, such as their high performance and speed. They are able to access and use all available hardware resources a device has to offer, improving the performance of the app dramatically. Another advantage is accessibility to the latest native APIs, critical for creating robust user experiences. In general, there is a more unified look and feel to native apps which are built for the same platform.
They can also be accessed offline once installed; this is a major advantage. Their availability on app stores drives visibility of the app to potential users. In general, native applications are not bound by restrictions of limited functionality, so users get more value, have more fun, and will probably use the apps more frequently. They are also updated regularly by the operating system, upgrading them to meet changing compliance standards.
Data Point No. 7: The Big Picture
So what are developers to do if they’re constrained by time and budget? Again, this is where the big picture is important. The bottom line is that native enables feature-rich, higher performance and functionality while PWAs should be considered "light versions of native experiences" at this time.
With user experience at the forefront of every organization’s priorities, native apps are the best solution. They ensure the most robust app experience along with mobile functionality that is taken for granted today, such as phone and SMS integration, calendar, alarms, contacts and camera. Even GPS is a native function and now a basic expectation for users.
Despite the availability of other options, native should remain the first choice for mobile development. Native apps are faster and more efficient, as they work in tandem with the mobile device for which they are developed. Users are assured of quality, since they’re exclusively accessed via online app stores.
Native app development also allows developers to better control user experience (UX), performance and functionality when compared to the potentials of PWAs. For developers seeking the most user-friendly and robust app experience, native is appropriate.
In the final analysis, it’s not about which development method to use or which one is better. Rather, it’s about creating experiences that people--from consumers to business partners or employees--will adopt. This is done by embracing tools beyond native and hybrid development and adopting visual development to reduce the complexity of a historically tedious and time consuming process.