Normally a book review goes like this. I get the book. I read it. I write up a summary of my thoughts, grab the Amazon Affiliate link (I've made almost four dollars this year, folks!), and then post it. Typically all within a month or two. Again, that's the *normal* process. This year has been... somewhat far removed from normal which I'm going to use for my excuse when I try to explain why a book I read near the end of last year and was released in March is just now getting up on my blog in late October.
Today I'd like to introduce you both to "Learning Progressive Web Apps" and it's author, John Wargo. I don't remember exactly when I first met John, but it was sometime during the heyday of PhoneGap and Cordova. I absolutely loved being a part of that project and met some really incredibly, really smart, people while building hybrid mobile apps.
But as was predicted in the very beginning with PhoneGap, the need for solutions like PhoneGap has mostly come to an end. (Mostly, I can spend a lot of time talking about iOS and it's shameful impact on the web.) With the lightspeed improvement in web standards (even on iOS) and the rise of "PWA", the need for hybrid mobile apps has (again, mostly) passed.
The web community has been talking about PWAs for about five years now, which means it's mostly spread out from the nerds like us who get paid to explore and build fun demos and hit the developers who actually have to get things done. Right now is a really good time to start looking at PWAs and learning about the technology. While things are still in flux (they always are), PWAs have great support and browsers have really developer tool support as well.
Wargo's "Learning Progressive Web Apps" does an incredibly good job of introducing you to PWAs and going deep into the technologies, everything from service workers and offline support to background sync, a topic I don't see a lot of people talking about yet.
He also spends time talking about related but critical tools like Lighthouse. One thing I always worried about when talking about PWAs is that it's important to remember that nearly everything that's found in a typical PWA would be useful in a "non-app" web site. Even if you're just using progressive enhancement to improve a small part of your site, you can find a lot of what's covered in this book very useful as well.
The book clocks in at 272 pages. Here's the table of contents:
- Introducing Progressive Web Apps
- Web App Manifest Files
- Service Workers
- Resource Caching
- Going the Rest of the Way Offline with Background Sync
- Push Notifications
- Passing Data between Service Workers and Web Applications
- Assessment, Automation, and Deployment (an especially awesome chapter covering Lighthouse and PWABuilder)
- Automating Service Workers with Google Workbox (absolutely recommended, Workbox makes things incredibly easier)
I definitely recommend picking it up (and ordering via the link above will net me a few more cents in my Amazon fund) and if you do, please drop me a line below in the comments to let me know what you think.