Just a little heads up: Google is still trying to convince everyone that web apps don't suck
Chrome Dev Summit finds web apps still struggling next to shiny native counterparts
If insanity is doing the same thing over and over again and expecting different results, Google's Chrome team might be a candidate for involuntary commitment.
The ad biz's browser boffins are presiding over yet another Chrome Dev Summit in the hope of putting web applications on equal footing with native applications.
"We want to close the capability gap between the web and native and make it easy for developers to build great experiences on the open web," explained Pete LePage, a developer advocate on Google's web team, in a blog post on Monday.
As if to underscore the quixotic nature of this quest, LePage gives himself a self-designated job title in his post: dreamer.
Establishing platform parity between the web and native code has been Google's fever dream for about a decade. That's when Google execs first claimed the web had won. That was in the midst of the mobile app gold rush and it quickly became apparent that web-based development couldn't compete against native platform code, at least on mobile devices.
In 2016, Google's platform refurbishment took the form of pushing Progressive Web Apps (PWAs), web apps that are fast, engaging and work offline. In 2017, it involved introducing the Chrome User Experience Report to help developers understand web app performance issues and a way to embed web content in Android apps called Trusted Web Activity.
This year, Google's devs have committed to designing and developing a set of new APIs, in conjunction with public feedback and input from other browser makers, that bridge the persistent gap between web and native apps.
Google refers to this expansion set of browser capabilities using the name of a toxic blowfish,
proj-fugu, for no obvious reason. These works-in-progress can be viewed by searching for the
proj-fugu tag in the Chromium bug tracker. The group includes:
- The Web Share Target API, which provides websites with a way to receive user-shared content and to register with devices so they appear in sharing interfaces.
- The Async Cookie API, which exposes HTTP cookies to service workers (background processes) and provides an asynchronous alternative to
document.cookie(which being synchronous can interfere with smooth site loading).
- The Wake Lock API, to prevent phones from locking the screen while a browser-based app is active.
- The File System API, also known as the Writable Files API, which provides web apps with greater access to the native file system.
- The User Idle Detection API, to detect when users are away from their keyboard or the screen is locked.
- The Scheduled Notification API, also known as Event Alarms, an API for performing an arbitrary task at some point in the future.
- The Web HID API, to improve how browsers interact with peripherals.
Proj-fugualso includes efforts to implement permission-based support for geo-fencing and geo-tracking and to make it possible for websites to register with the host operating system as MIME type handlers (helpful for the the Web Share Target API).
LePage describes these emerging APIs as part of an effort to "make the web a first class platform for developing apps that run on any browser, with any operating system, and on any device."
Google has published a Capabilities web page to share information about its browser API work and to encourage others to push for new features on their own.
Google taking action against disguised code in Chrome Web StoreREAD MORE
Another part of that effort involves demonstrating that websites can compete with native apps, a proposition that's no longer laughable given sufficiently advanced web devs.
Toward that end, the Chrome team launched Squoosh, a web-based app (or website) for compressing images. The app, which loads rather quickly because its main page is so small (~36KB), relies on WebAssembly (Wasm) to rapidly compress images using a variety of codecs. Google has also released Workbox V4 beta, which provides tools for simplifying the construction of PWAs, and an updated version of its load time analysis service, PageSpeed Insights (PSI).
To complement these proof-of-life projects, there were also some education-related ones: web.dev, an interactive web development learning website that's integrated with Glitch for hands-on code labs, and Service Workies, a gamified tutorial on how to use Service Workers.
Finally, those responsible for Chrome's V8 engine make several under-the-hood optimizations to accelerate async functions.
Maybe there's a method to the Chrome team's madness. ®