Building desktop apps in the age of the web

A presentation at Modern Frontends Live! in November 2022 in London, UK by Patrick Brosset

Slide 1

Slide 1

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

Slide 2

Slide 2

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

Slide 3

Slide 3

Slide 4

Slide 4

Let’s talk about desktop apps!

Slide 5

Slide 5

Who here remembers winamp?

Slide 6

Slide 6

Slide 7

Slide 7

Slide 8

Slide 8

Demo time! 🤞🏽

Slide 9

Slide 9

Slide 10

Slide 10

What’s a desktop app exactly?

Slide 11

Slide 11

Slide 12

Slide 12

Slide 13

Slide 13

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.

Slide 14

Slide 14

Slide 15

Slide 15

💾 1. Making it installable

Slide 16

Slide 16

Web app manifest Service Worker HTTPS

Slide 17

Slide 17

Slide 18

Slide 18

Slide 19

Slide 19

Slide 20

Slide 20

Slide 21

Slide 21

Slide 22

Slide 22

Slide 23

Slide 23

💡 2. Making it always work

Slide 24

Slide 24

Slide 25

Slide 25

Slide 26

Slide 26

📂 3. Handling local files

Slide 27

Slide 27

Slide 28

Slide 28

Slide 29

Slide 29

🪟 4. Using the entire window

Slide 30

Slide 30

Slide 31

Slide 31

Slide 32

Slide 32

Slide 33

Slide 33

Slide 34

Slide 34

Slide 35

Slide 35

Slide 36

Slide 36

Slide 37

Slide 37

🔗 5. Integrating with other apps

Slide 38

Slide 38

protocol://

Slide 39

Slide 39

web+??://

Slide 40

Slide 40

Slide 41

Slide 41

Slide 42

Slide 42

sharing

Slide 43

Slide 43

Slide 44

Slide 44

Slide 45

Slide 45

Slide 46

Slide 46

Slide 47

Slide 47

🔗 6. Integrating with the operating system

Slide 48

Slide 48

Slide 49

Slide 49

Slide 50

Slide 50

Slide 51

Slide 51

Slide 52

Slide 52

Slide 53

Slide 53

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

Slide 54

Slide 54

Slide 55

Slide 55

Myth #1 PWA is old news…🧓🏽

Slide 56

Slide 56

Myth #2 It’s only on mobile📱

Slide 57

Slide 57

Myth #3 But the web can’t do native

Slide 58

Slide 58

“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…

Slide 59

Slide 59

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

Slide 60

Slide 60

Slide 61

Slide 61

Slide 62

Slide 62

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