Building desktop apps in the age of the web Patrick Brosset - @patrickbrosset 2022

👋🏽 Hey, I’m Patrick! I’m a Product Manager at Microsoft. I work on Edge. 🐥 @patrickbrosset 🐘 @patrickbrosset@mas.to 🕸️ patrickbrosset.com

Let’s talk about desktop apps!

Who here remembers winamp?

Demo time! 🤞🏽

What’s a desktop app exactly?

Desktop apps … 💾 Can be installed. 💡 Always works, whether you’re connected or not. 📂 Can handle local files. 🪟 Control the content of their entire windows. 🔗 Usually integrate with other apps. 🔗 Usually integrate with the Operating System.

💾 1. Making it installable

Web app manifest Service Worker HTTPS

💡 2. Making it always work

📂 3. Handling local files

🪟 4. Using the entire window

🔗 5. Integrating with other apps

protocol://

web+??://

sharing

🔗 6. Integrating with the operating system

Let’s sum up! 💾 Installation ➡️ manifest/service worker/HTTPS ➡️ publish to stores with PWABuilder 💡 Always works ➡️ Caching resources on install of SW 📂 Local files ➡️ Register as a PWA file_handler 🪟 Draw in the entire window ➡️ Use the Window Controls Overlay 🔗 Integrate with other apps ➡️ Register as a protocol_handler ➡️ Register as a share_target ➡️ Share out with navigator.share() 🔗 Integrate with the OS ➡️ Display shortcuts ➡️ Insert widgets

Myth #1 PWA is old news…🧓🏽

Myth #2 It’s only on mobile📱

Myth #3 But the web can’t do native

“today we are extending Photoshop to the web as a beta” Photoshop updates https://blog.adobe.com/en/publish/2021/10/26/photoshop-ships-major…

Myth #4 But it doesn’t work on iOS🍎

Thank you! https://patrickbrosset.com Discover Microsoft content and earn swag! https://aka.ms/ModernFrontends