-
@windowsdev There are a bunch of great resources for getting started with building PWAs. From the ServiceWorker side, I highly recommend @adactio’s Going Offline from @abookapart: abookapart.com/products/going-offline @grigs’ Progressive Web Apps is out next month: abookapart.com/products/progressive-web-apps
-
@windowsdev @adactio @abookapart @grigs A few other great links: pwabuilder.com serviceworke.rs/ developer.mozilla.org/docs/Web/Apps/Progressive
-
@windowsdev @adactio @abookapart @grigs In terms of pre-work, the first thing to do is make sure you are starting with a great web experience.
-
@windowsdev @adactio @abookapart @grigs PWAs are an enhancement. If you don’t have something that works well to begin with, sprinkling in some PWA features isn’t going to magically make it better.
-
@windowsdev @adactio @abookapart @grigs Great web experiences are built on a solid, universally accessible foundation.
-
@windowsdev @adactio @abookapart @grigs First things first, the experience needs to be focused. Remove cruft, distractions, and anything that’s ancillary to a user completing the task they came to your site to accomplish.
-
@windowsdev @adactio @abookapart @grigs Make sure your copy—text, form labels, buttons, etc.—is clear, and straightforward. Avoid jargon and assuming too much about your user’s level of domain knowledge.
-
@windowsdev @adactio @abookapart @grigs From there, it’s crucial that every level of technology you use supports and enhances the core experience.
-
@windowsdev @adactio @abookapart @grigs For HTML, that means choosing semantic elements (e.g., paragraphs, lists, etc.) that convey the meaning of your words. It also means choosing the right form controls, like using buttons instead of divs and anchors.
-
@windowsdev @adactio @abookapart @grigs We should strive to represent our interfaces with the fewest dependencies possible. So if you can support an experience, like being able to submit a form, in HTML alone, do it.
-
@windowsdev @adactio @abookapart @grigs You can always style the button to look different or intercept the form submission and handle it in JavaScript, but it’s imperative that the experience be usable even in the absence of your styles and scripts.
-
@windowsdev @adactio @abookapart @grigs When it comes to CSS, make sure your colors provide adequate contrast. And don’t rely on color alone to convey information. You should also keep font sizes flexible so users can bump them up or down as needed.
-
@windowsdev @adactio @abookapart @grigs When it comes to JavaScript, the biggest thing is to build your scripts such that they enhance the underlying experience, but remain optional.
-
@windowsdev @adactio @abookapart @grigs This can be a difficult concept to reconcile in today’s #JSallthethings climate, but if you are concerned about your product working as often as humanly possible, it’s critical to adopt this approach.