8 reasons web beats native for data-driven apps

For data-rich business applications, web technologies offer big advantages to both developers and users

8 reasons web beats native for data-driven apps
Thinkstock

Despite the meteoric rise of smartphones, the desktop is far from dead. In fact, the desktop  remains the most critical platform for business applications due to the massive explosion in the complexity and volume of data. If you’re an enterprise developer, you know that desktop applications are a must-have, while mobile apps are a nice-to-have.

Modern web technologies have enabled a new class of data-intensive business applications that have been built with web technologies. Some of the most prominent data-intensive business applications available today, such as Salesforce, Marketo, and Freshdesk, are accessed via the browser. At the same time, other popular applications, such as Slack, Basecamp, and Visual Studio Code, are web applications wrapped with Electron and deployed natively on MacOS, Windows, and Linux.

Over the past few years, the trend among developers has been to ditch the native app in favor of the web app, not only on mobile, but also on the desktop. The true value that “cross-platform development” delivers is more than just writing your application once and deploying it on iOS or Android. It’s looking at cross-platform development as a viable option across the board—for both mobile and desktop app deployments.

Exactly why should you choose web over native for your data-intensive, business applications. Here are eight reasons:

1. Availability across platforms. The web is cross-platform because there are HTML5 compliant browsers on all platforms (iOS, Android, Windows, MacOS, Linux, and more). Historically, the native app experience was better at getting users engaged versus the approach of accessing web apps via URLs, but now there are other options available. Progressive Web Apps allow users to add their web applications to the home screen, which makes it easy to re-launch an app. Plus, the container-based app wrapping solutions (the already popular PhoneGap on mobile, and the increasingly popular Electron on desktop) not only can make your web apps installable, but also provide access to device hardware features. You get the best of both worlds, and apps can be made available in all modes.

2. Ease of on-boarding. Downloading and installing an app for the first time requires a commitment from the user, which has its own cost and is a hindrance to onboarding. By contrast, accessing web applications requires no download and installation, so there’s literally no effort required to try a web application. Using UserAgent for auto detection of devices, you can present the most relevant onboarding experience to your users and make it easier for them to try the application with minimal or no training. Sencha Ext JS supports responsive and adaptive UI design, so you can create unique experiences on target devices for easy user onboarding.

3. Always up-to-date. Data drives decisions and decisions drive action. We all want our users to work with the latest data and presentation, so we can help them make better decisions and take quicker actions. Web applications make this possible. For example, let’s say an airline booking app changes its flight search from a two-step process (select source and destination and then filter search results with a date range) to a one-step process (select source and destination and date range). The airline wanted to deploy this update to all of its users because it knows that the one-step process will help travelers to decide and act quickly. With web applications, the user always has access to the latest version of the application on any device. Even if the application is using a cache, the web application can update that cache with the latest content using the Service Worker lifecycle events. And, with Service Worker in place, the locally cached data can be updated with the latest data from the server. This ensures that your web application and data are always up-to-date, and avoids the hassle of distributing updates through app stores and the pain of maintaining multiple application versions.

4. Use of screen real estate. Web applications run on various screen sizes – from desktop to mobile – making them the best way to offer data-centric functionality to users. Depending on the user role and operating environment, you can build an application that maximizes the use of on-screen real estate to help users get their work done quickly. Frameworks like Sencha Ext JS offer a rich set of components including grids, charts, dataviews, sliders, trees, and so on. Layouts and multi-screen development tools let you make the best use of on-screen real estate to offer rich experiences appropriate for data users.

5. Uniformity of experience. Most people use multiple devices and screens every day. According to a 2016 survey by Adobe, consumers report using five different devices, and the vast majority of them (83 percent) use (on average) 2.23 devices at the same time. Further, when users move from one device to another, they expect their applications to provide a uniform experience, so it’s convenient for them to complete tasks. Web technologies are supported on every device, and by using a mature UI framework like Sencha Ext JS, you can build web applications that help you provide that uniform user experience. By tailoring the views and content for specific devices and across platforms, you make it easier for users to switch among desktop, phone, and tablet and still have the same experience.

6. Shareability of code. Web applications offer the greatest amount of code sharing because web technologies are common across devices and platforms. In spite of differences in the level of support for different W3C specifications, web applications offer tremendous reusability compared to native applications. This reusability goes beyond code and includes the design and architecture too. And, when you choose architectures such as Model-View-Controller, Model-View-ViewModel, and Model-View-Anything, you can further maximize code reusability.

7. Lower cost of development and maintenance. Because the technology stack is common to different devices and platforms for web applications, the cost to build and maintain a web application is much lower compared to native apps, where every platform has unique development tools, libraries, frameworks, APIs, testing methodologies, and packaging and distribution mechanisms. It’s also easier to train people on web technologies given the amount of resources available and the richness of innovative frameworks such as Sencha.

8. Offline experience. With the Service Worker API’s Background Sync functionality, a web developer can offer a similar offline experience to the one that a user would get with a native mobile application. Web applications can securely store data on the device and manage it effectively. Additionally, data is secure because the web application has full control of storing and deleting the data, and data wipe can be triggered remotely.

Given all of these factors, the web is the only real choice for building data-intensive applications. The many advances in web technology to improve the mobile user experience, such as web app install banners, push notifications, offline caching, and the integration of native device features such as GPS and camera, have further strengthened the case for choosing web over native. These features bridge the gap between web and mobile apps, and enable developers to lower their cost of development, accelerate time to market, and deliver a great user experience.

New Tech Forum provides a venue to explore and discuss emerging enterprise technology in unprecedented depth and breadth. The selection is subjective, based on our pick of the technologies we believe to be important and of greatest interest to InfoWorld readers. InfoWorld does not accept marketing collateral for publication and reserves the right to edit all contributed content. Send all inquiries to newtechforum@infoworld.com.

Copyright © 2017 IDG Communications, Inc.