Google reveals new schedule for 'phasing out support for Chrome Apps across all operating systems'
June 2020 is the end for users on Windows, Linux and Mac
The plans to cease supporting Chrome Apps are not new: In August 2016 the company said: "We will be removing support for packaged and hosted apps from Chrome on Windows, Mac, and Linux over the next two years."
That schedule slipped, however, and the current proposal is that support for Chrome Apps on these platforms will end in June 2020 for most users, and in December 2020 for Chrome Enterprise and Chrome Education customers. On Chrome OS, support continues until June 2021, extended to June 2022 for Chrome Enterprise and Chrome Education.
This is also the end for Google Native Client (NaCl and PNaCl APIs), which lets you run compiled C and C++ code in the browser. The replacement for Native Client is WebAssembly, which is a W3C standard.
A key issue for web applications – however they are packaged – is access to the local device and operating system APIs. It is a trade-off, with too much access threatening security and cross-platform compatibility, and too little access blocking features and giving users an inferior experience when compared to a native desktop application.
Google's web capabilities project (codenamed Fugu) is an effort to add APIs such as native file system access, notifications, contact picking, and wake lock (prevent a device from going into a sleep mode). The idea is that access to native capabilities is permission-based but this is difficult to get right, particularly as Google argues that access to APIs should be equal for both browser-based and installed web applications. "Any baseline context may access powerful APIs, regardless of its windowing state (in the tabbed browser or in a standalone app window), installation state (installed or not), or user engagement (highly interacted with or not). This avoids the fragmentation of the web," says the Chromium team.
Chrome Apps benefited from additional API access, beyond what is available in the browser, breaching this guideline. These additional APIs covered areas such as USB, Bluetooth, network information, and VPN access. Equivalent features via web APIs are not always possible. A migration guide is here. In some cases, developers may need to use a different platform to replicate what could be done in a Chrome App – choosing from one of many options that exist for cross-platform desktop and mobile development.
Applications designed for Google's Chrome OS are a special case, since at one time Chrome Apps were the only way to install applications. This is no longer the case, since Chrome OS now runs Android application, as well as desktop PWAs.