Modern Frontend Dev: Browser Capabilities
Modern frontend dev is enabled by growing browser capabilities. There are many exciting things happening in browserland. Here are a few that I care about.
The new approach to handling offline support, embodied in service workers, is so much better than what came before. It’s now like you have a little router in the browser that you get to implement. It routes requests to where they should go during on- and off-line moments. It’s a giant leap forward, and it’s huge for creating web experiences that exist even when you’re not connected to the Internet.
We’ve had most of these storage options for a while now: local storage, session storage, and IndexedDB. But paired with newly-viable offline support, they are way more compelling. And improved APIs and capabilities, such as IndexedDB 2.0 are starting to land in browsers.
I think WebAssembly has the potential of changing the face of web development. New, high-performance apps will be accessible over the Internet through browsers, continuing to evolving past the original document sharing network it all start as.
WebAssembly also has the ability to change the source languages for the web. This will expand the number and kinds of programmers that are involved in creating the next generation of web applications and the form that these web apps take.
New and interesting layouts are possible using specifications that are much more powerful and flexible than before. CSS Flexbox is widely supported and we see a growing number of applications that can now respond to the wide-ranging form factors that web users come to the web within. CSS Grid is quickly spreading across all browsers, being adopted faster than about any significant CSS spec in the past.
To enhance the developer experience, browser vendors are investing much in developer tooling. Most noticeable is Chrome, which has a widening and deepening array of useful tools. Debugging is top-notch. New performance audits via Lighthouse are awesome. I’ve also heard raving about the great animations panel in Firefox.
Browsers are getting better. They can do more. Which of these advances or others are most important to you?