What&#8217;s Wrong With WebApps?
Modern web browsers can do much more than just render a web page. Hence, tech titans are heavily investing in Progressive Web Applications, aka PWA. Microsoft recently released ASP.NET Core Blazor Progressive Web Application (PWA), which acts like a desktop app using APIs. The hype and rise of PWAs is tremendous. A recent survey titled ‘State of JS in 2022‘ stated that even though the awareness rate of PWAs is more or less the same as WebAssembly (WASM), there’s a huge gap in terms of usage. While around 30,000 people knew about both the features, only 5,765 respondents had used WASM. On the contrary, around 20,000 respondents had used PWAs. A PWA is a web application that feels like a native application to the user. By making an app a PWA, not only does one acquire new users, but can also retain them for longer. PWAs were first made available only to Android users, but in March 2018, PWAs finally became available on iOS 11.3. Countless companies like Starbucks, 2048, Uber, and Soundslice are now offering users a PWA experience. Moreover, PWAs have greatly impacted social media platforms such as Twitter and its mobile version Twitter Lite by optimising Twitter’s webpage and curtailing the bounce rate by about 20%. For Twitter Lite, they helped hike the pages per session by 65%. Similarly, media powerhouses like the BBC, the Washington Post, and Forbes have also launched progressive web apps for business to distribute their content more seamlessly across consumers and various types of devices. (Source: AppInventiv) Do we need native apps? If PWAs can satisfy most business demands, why do most businesses focus on native apps? Experts believe that PWAs are the future since they have various advantages like a smaller size, ease of maintenance, lesser cost of development, and many more. PWAs are already compatible with browsers like Google Chrome and Opera. Curiously, Firefox no longer supports the PWA standard, and Safari has never supported it in its desktop incarnation. Though powerful, PWAs have a lot of limitations for them on the iOS platform. One of the significant demands for businesses is real-time lock screen notifications on mobile devices. This is where PWAs need to catch up. It is possible to have in-app real-time push notifications with PWA, but it isn’t easy to have lock screen notifications. Another shortcoming is that PWAs cannot interact with the device’s hardware on certain operating systems. This makes it tough for certain applications as they have to rely on server resources – not the best possible option, especially for gaming applications. PWAs are a relatively new concept for a lot of people who are used to downloading the app from the stores. Moreover, it is difficult to deploy PWAs in stores and expect customers to download it from there. Though one can bookmark (install) it on any device, very few people know about it. WASM is not the core tech, why? Assembly used to be the fastest kid on the block in the 1970s and 80s, but not anymore. Now, optimising compilers are much better at squeezing out every drop of processing power from a CPU. Furthermore, assembly is a nightmare regarding syntax, needs more portability and is written for specific processors. No one wants to rewrite an entire backend written in assembly. Speed isn’t always a web developer’s primary concern. Reliability is a very important requirement, and assembly is not that. It’s a hundred times easier to find a bug in Java or C++ than in assembly. It is necessary to note that WASM was not meant to be written by developers. It should allow them to write in any other language and have that logic working on the browser. WASM has the potential to keep non-web developers relevant for longer, allowing them to keep using their tech stack, just in another environment. But before it can be implemented with ease into a web project, let alone be the sole provider of logic for an app, WASM has a long way to go.
WASMs are as popular as PWAs, but users prefer the latter
WASMs are as popular as PWAs, but users prefer the latter
["App Development", "Web Development", "webassembly"]
["Go", "API", "programming_languages:R", "AI", "webassembly", "ML", "programming_languages:Java", "programming_languages:Go", "Web Development", "App Development", "C++", "R", "Java"]
["AI", "ML", "R", "Go", "Java", "C++", "API", "programming_languages:R", "programming_languages:Java", "programming_languages:Go"]
Tasmia is a tech journalist at AIM, looking to bring a fresh perspective to emerging technologies and trends in data science, analytics, and artificial intelligence.