Apple Is Trying to Kill Web Technology
The company has made it extremely difficult to use web-based technology on its platforms, and it hopes developers won’t bother
The programming languages used to build the web often find their way into apps, too. That’s largely due to software that allows developers to “reuse” the code they write for the web in products they build to run on operating systems like Linux, Android, Windows, and macOS.
But Apple has a reason not to like this recycling of web technology. It wants its Mac App Store to be filled with apps that you can’t find anywhere else, not apps that are available on every platform. With a recent policy change, the company has made it a little more difficult for developers to submit apps containing web code.
The Mac App Store has quietly started rejecting apps made with a popular tool called Electron that allows developers to base all of their apps on the web-based code. Some of the most popular apps in the App Store, like Slack, Spotify, Discord, and WhatsApp, fall into this category.
In a discussion on the programming community Github, several developers say rejections for apps that they built using Electron — which would were approved in the past — came with an explanation that these apps “attempt to hide the use of private APIs,” which are APIs built for Apple’s internal usage, rather than for third-party developers. Using private APIs to build public-facing apps is commonly frowned upon because they may change or break over time, and Apple bans apps that use them.
Electron has used these private APIs for years without issue. These private APIs allow developers to, for instance, drastically improve power usage whereas Apple’s sanctioned tools make the user experience worse. In the majority of these cases, Apple doesn’t provide real alternatives for developers who want to access these private API features.
Now it’s unlikely that the thousands of developers who have built their apps using Electron can release updates to them unless the Electron framework releases a major change to its implementation.
Developers could distribute their apps from their own websites, asking users to download them directly. But…