June 19, 2022
Previously we discussed the pros and cons of building Android versus iOS apps first. As a follow-up, today we’ll go over the differences between Web and Mobile apps, and which one you should build (if any).
Since the late 90s and the dot-com bubble, web application development has taken off as desktop and laptop computers became more and more ubiquitous to consumers. People had them in their homes and offices, and these devices were becoming faster than ever thanks to Moore’s Law and advancements in software development.
As more and more users adopted the Internet for their everyday needs, software companies capitalized on this growth by developing web development infrastructure and technologies to make the web browsing experience seamless.
Thanks to these developments and a ton of venture funding pouring into companies in the 2000s and 2010s, web apps became a standard product for software companies, and thanks to the cheaper cost of development versus traditional desktop apps, many smaller startups began building them.
Mobile applications, on the other hand, didn’t become mainstream until Apple released the first iPhone in 2007, but it quickly gained popularity among both solo developers and companies.
The Apple App Store and Google’s Play Store, the largest mobile app stores, transacted hundreds of billions of dollars in revenue, and today an app’s ranking in these 2 stores can often be the difference between millions of dollars in revenue and bankruptcy.
Despite the longer history of web applications, both web and mobile apps are both hugely popular with developers today. There are distinct pros and cons to each platform, and we’ll highlight some of them here.
Web apps are websites that perform a specific set of functions. They are more popular than ever in today’s Internet-powered society. From search engines to streaming videos to filing taxes, the potential of what a web app can do is truly limitless, and with so many tools, APIs and SDKs available, building web apps has never been easier.
No download/installation needed
Web apps are just websites, so there’s minimal friction for a user to reach your application. It’s as simple as typing your URL in the address bar and hitting Enter. As with all websites, however, you’ll need to do your own SEO and marketing to get people to actually visit your site.
Simple to update
Web apps can be updated at a moment’s notice. There is no app store policing your releases, and you can update your application whenever you want as much as you want, and with today’s modern cloud infrastructure changes can literally go live within minutes.
Easier/Faster/Cheaper to build
Web apps can get extremely complex, but in general they are easier to develop than mobile apps. There are a lot of frameworks (e.g. React) and tools that make web app development very efficient, and this in turn drives down development costs.
Anyone with a device, an internet connection, and a browser can reach your web app.
Requires internet connection
Web apps, even if they don’t actively require internet connectivity themselves, need internet access to reach. They rarely work offline.
A lack of stringent app store policing and a long list of vulnerabilities associated with browser-based internet access make web apps generally less secure than mobile apps.
Lack of notifications
Even though browsers like Chrome support notification settings, web apps in general have a pretty poor ability to provide notifications to users. This can prove to be a pain if your application requires constant attention or input from your users.
Mobile apps offer a seamless experience to users. They are able to fully harness the power of today’s smartphone and tablet devices, and with the largest tech giants Apple and Google providing top-tier development tools and support for their respective platforms iOS and Android, there is no shortage of resources and support.
Mobile apps run natively on a device, so they are better equipped to use its resources such as CPU and RAM. On a mobile device, everything from the SDKs developers use to the operating system itself is optimized to run mobile apps.
Easily access system resources
Many system and device-level resources, particularly hardware sensors such as the camera and accelerometer, can be much easily and safely accessed on mobile apps.
Safer and more secure
Mobile app developers use SDKs from highly-trusted suppliers such as Apple and Google, and mobile apps are inherently less at risk of common web app vulnerabilities. Plus, both the App Store and Play Store check apps for security flaws before they are released.
Can work offline
Once downloaded, mobile apps can run offline. This doesn’t mean that every app will magically work without an internet connection (in fact most won’t), but you may be able to use certain features when you’re offline.
Expensive to build
Mobile apps often take longer and more resources to build and test, making them more expensive compared to web apps. There are also fewer mobile developers than web developers in the job market, so hiring mobile devs may cost more.
Multiple apps for multiple platforms
Currently the mobile market is primarily dominated by Android and iOS. That’s at least 2 apps and twice the maintenance. There are frameworks such as React Native that can potentially save some development time, but you’ll still need to manage, test, and release multiple apps for multiple platforms simultaneously.
One of the largest barriers to entry for mobile apps is installation. With the number of mobile apps available on app stores, getting a user to download and install just a free app is becoming increasingly difficult. There are millions of apps competing for the same attention of users.
Both Android and iOS give users the option to disable automatic updates, so for any given mobile app there will be some amount of users who never get updates. This means you’ll need to spend more resources supporting older versions of your app, or you risk alienating a percentage of your users.
Although this post’s main aim is to cover the pros and cons of mobile and web apps, there are far more platforms to choose from when it comes to your project. Desktop applications are still widely used today for complex and high-performance software, and they will likely continue to exist for a while.
There are also other platforms that are more application or industry-specific. For example, smart IoT devices like the Amazon Echo have grown massively in popularity in recent years, and there are SDKs now for developers to build apps on these platforms.
No matter which platform you choose, the most important thing is to make sure that it meets the requirements of your project. Are your target users on this platform? Can this platform handle your application’s computing requirements? How hard is it going to be to reach potential users? These are the types of questions you need to think about before making a decision.