DEV Community

Cover image for Apple's Non-Standard Approach to WebApps: A Step Back from PWA Standardization
Muhammad Tayyab Sheikh
Muhammad Tayyab Sheikh

Posted on

Apple's Non-Standard Approach to WebApps: A Step Back from PWA Standardization

In their recent 2023 event, Apple made an announcement that users would be able to add any website to their dock and open it as a web app, without requiring the use of manifest.json and service workers. While this may sound like a convenient feature, it deviates from the standard approach of Progressive Web Apps (PWAs) and introduces potential problems due to non-standardization.

Progressive Web Apps and Standardization

Progressive Web Apps have been a significant development in bridging the gap between native mobile apps and traditional web applications. They leverage modern web technologies to offer a seamless and app-like experience to users. One of the key elements of PWAs is the use of manifest.json and service workers.

A progressive web app (PWA) is an app that's built using web platform technologies, but that provides a user experience like that of a platform-specific app.

Like a website, a PWA can run on multiple platforms and devices from a single codebase. Like a platform-specific app, it can be installed on the device, can operate while offline and in the background, and can integrate with the device and with other installed apps.
Source: https://developer.mozilla.org/en-US/docs/Web/Progressive_web_apps

Manifest.json

The manifest.json file provides a standardized way for developers to declare essential metadata about their web app. It includes information such as the app's name, icons, display mode, and other configuration options. This standardization ensures consistency across platforms and allows web apps to be easily discoverable and installable.

Service Workers

Service workers are JavaScript files that run in the background and provide functionality like offline caching, push notifications, and background sync. They enable PWAs to work reliably, even in low or no network connectivity scenarios. Service workers play a crucial role in enhancing the user experience by enabling features commonly associated with native apps.

Apple's Non-Standard Approach

Apple's decision to allow users to add any website to their dock and open it as a web app without manifest.json and service workers undermines the standardization efforts established by the PWA community. By bypassing these essential components, Apple creates a fragmented ecosystem, leading to potential problems.

  1. Inconsistent User Experience: Without manifest.json, developers lose the ability to define the app's display mode, icons, and other crucial metadata. This results in inconsistent app-like experiences across different platforms and devices, as each implementation may interpret the website's appearance differently.

  2. Limited Functionality: Service workers are fundamental for enabling advanced features like offline support, background synchronization, and push notifications. By not requiring service workers, Apple restricts the potential functionality that web apps can provide to users on their devices.

  3. Discoverability Challenges: The standardized use of manifest.json allows platforms and app stores to recognize and index PWAs, making them more discoverable by users. Without this standardization, Apple's non-standard approach may hinder the discoverability of web apps, impacting the overall reach and adoption of such applications.

  4. Development Complexity: Standardized practices simplify development by providing clear guidelines and tooling support. By deviating from these standards, developers now face the challenge of accommodating Apple's unique approach, potentially requiring additional development efforts and creating inconsistencies in their codebases.

Conclusion

Apple's recent announcement to allow websites to be added to the dock as web apps without the requirement of manifest.json and service workers introduces problems due to non-standardization. Progressive Web Apps have already solved these challenges by providing a consistent user experience, advanced functionality, discoverability, and streamlined development practices. While Apple's approach may seem convenient initially, it risks fragmenting the web app ecosystem and hindering the progress made towards standardization and a unified web platform experience.

Top comments (2)

Collapse
 
sebastian_wessel profile image
Sebastian Wessel

I was also pleasantly surprised by this announcement and had been in the process of writing an article about it.

However, I'm uncertain if this is a positive development, as it seems like it could result in a loss of control over the UI/UX of your own website.

The true extent of its benefits, whether it's just adding Apple UI elements or providing genuine functionality, will only become clear once it becomes widely available to the general public.

Personally, I expect, that it adds only some UI element stuff - not something like offline capabilities or similar.
Wonder, how it will look like and work with existing web apps.

Collapse
 
syeo66 profile image
Red Ochsenbein (he/him)

And again: Apple is the new Microsoft...