CARVIEW |
Select Language
HTTP/2 200
date: Sat, 26 Jul 2025 03:56:29 GMT
content-type: text/html; charset=utf-8
cache-control: max-age=0, private, must-revalidate
content-security-policy: default-src 'none'; base-uri 'self'; child-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/; connect-src 'self' uploads.github.com www.githubstatus.com collector.github.com raw.githubusercontent.com api.github.com github-cloud.s3.amazonaws.com github-production-repository-file-5c1aeb.s3.amazonaws.com github-production-upload-manifest-file-7fdce7.s3.amazonaws.com github-production-user-asset-6210df.s3.amazonaws.com *.rel.tunnels.api.visualstudio.com wss://*.rel.tunnels.api.visualstudio.com objects-origin.githubusercontent.com copilot-proxy.githubusercontent.com proxy.individual.githubcopilot.com proxy.business.githubcopilot.com proxy.enterprise.githubcopilot.com *.actions.githubusercontent.com wss://*.actions.githubusercontent.com productionresultssa0.blob.core.windows.net/ productionresultssa1.blob.core.windows.net/ productionresultssa2.blob.core.windows.net/ productionresultssa3.blob.core.windows.net/ productionresultssa4.blob.core.windows.net/ productionresultssa5.blob.core.windows.net/ productionresultssa6.blob.core.windows.net/ productionresultssa7.blob.core.windows.net/ productionresultssa8.blob.core.windows.net/ productionresultssa9.blob.core.windows.net/ productionresultssa10.blob.core.windows.net/ productionresultssa11.blob.core.windows.net/ productionresultssa12.blob.core.windows.net/ productionresultssa13.blob.core.windows.net/ productionresultssa14.blob.core.windows.net/ productionresultssa15.blob.core.windows.net/ productionresultssa16.blob.core.windows.net/ productionresultssa17.blob.core.windows.net/ productionresultssa18.blob.core.windows.net/ productionresultssa19.blob.core.windows.net/ github-production-repository-image-32fea6.s3.amazonaws.com github-production-release-asset-2e65be.s3.amazonaws.com insights.github.com wss://alive.github.com api.githubcopilot.com api.individual.githubcopilot.com api.business.githubcopilot.com api.enterprise.githubcopilot.com; font-src github.githubassets.com; form-action 'self' github.com gist.github.com copilot-workspace.githubnext.com objects-origin.githubusercontent.com; frame-ancestors 'none'; frame-src viewscreen.githubusercontent.com notebooks.githubusercontent.com; img-src 'self' data: blob: github.githubassets.com media.githubusercontent.com camo.githubusercontent.com identicons.github.com avatars.githubusercontent.com private-avatars.githubusercontent.com github-cloud.s3.amazonaws.com objects.githubusercontent.com release-assets.githubusercontent.com secured-user-images.githubusercontent.com/ user-images.githubusercontent.com/ private-user-images.githubusercontent.com opengraph.githubassets.com copilotprodattachments.blob.core.windows.net/github-production-copilot-attachments/ github-production-user-asset-6210df.s3.amazonaws.com customer-stories-feed.github.com spotlights-feed.github.com objects-origin.githubusercontent.com *.githubusercontent.com; manifest-src 'self'; media-src github.com user-images.githubusercontent.com/ secured-user-images.githubusercontent.com/ private-user-images.githubusercontent.com github-production-user-asset-6210df.s3.amazonaws.com gist.github.com; script-src github.githubassets.com; style-src 'unsafe-inline' github.githubassets.com; upgrade-insecure-requests; worker-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/
link: ; rel=preload; as=fetch; crossorigin=use-credentials
referrer-policy: no-referrer-when-downgrade
server-timing: issue_layout-fragment;desc="issue_layout fragment";dur=179.055454,issue_conversation_content-fragment;desc="issue_conversation_content fragment";dur=502.590017,issue_conversation_sidebar-fragment;desc="issue_conversation_sidebar fragment";dur=38.594535,nginx;desc="NGINX";dur=1.034524,glb;desc="GLB";dur=101.066468
strict-transport-security: max-age=31536000; includeSubdomains; preload
vary: X-PJAX, X-PJAX-Container, Turbo-Visit, Turbo-Frame, X-Requested-With, Accept,Accept-Encoding, Accept, X-Requested-With
x-content-type-options: nosniff
x-frame-options: deny
x-voltron-version: a2eb102
x-xss-protection: 0
server: github.com
content-encoding: gzip
accept-ranges: bytes
set-cookie: _gh_sess=bM2UkBuHa2zrVARdBu7LF2ycNA6QlZNqdqwCWB8EhOq38%2FyRzeUoH2XlD5DmyDfgoldpcIob7JjddhGLWTc6hqEdla0yshanVzzFsRhkSTGRcUrQANsvZrNcwgSsQ63thSvQq%2FjkG%2BBOe5AgBby%2FFSc1XhkJ1elDJDVHIo43hpxQIF7q8v6rj6OUI5xABAWpuA%2BuD4x6JRpsJJcIsgPzvcz%2FAK8bxE7vtSnaxLW6Asa25bnUExOIdQMB0I3qbxjIRvv60uyTOG8uOW4OXJ4vEQ%3D%3D--WFlldZIrWoX6YfZB--06oFEwWJJzJirXJZvceUnA%3D%3D; Path=/; HttpOnly; Secure; SameSite=Lax
set-cookie: _octo=GH1.1.652300141.1753502188; Path=/; Domain=github.com; Expires=Sun, 26 Jul 2026 03:56:28 GMT; Secure; SameSite=Lax
set-cookie: logged_in=no; Path=/; Domain=github.com; Expires=Sun, 26 Jul 2026 03:56:28 GMT; HttpOnly; Secure; SameSite=Lax
x-github-request-id: A5A2:91727:12D7A5:1CC082:688451EC
Create guidance for Progressive Web Apps · Issue #2320 · google/WebFundamentals · GitHub
No typeNo projectsNo milestoneNone yetNo branches or pull requests
Skip to content
Navigation Menu
{{ message }}
This repository was archived by the owner on Aug 10, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 2.6k
This repository was archived by the owner on Aug 10, 2022. It is now read-only.
Create guidance for Progressive Web Apps #2320
Copy link
Copy link
Open
Labels
Description
Goals
The developers will learn:
- What progressive web apps are and the core concepts behind them
- It should be clear that these experiences work everywhere but are accelerated in modern browsers.
- Examples of what we believe are great progressive web apps that they can use as a starting reference
- Expand on the case studies with deep technical dives.
- The best ways to think about structuring my app to be a progressive web app.
- There are several valid ways of building a prog-web-app, we should enumerate them and present the best practice for each.
- How to start apps from a complete, working scaffold and evolve it as needed.
- How to create a bespoke App/Shell application from scratch.
- How to layer on more advanced experiences
- Push Notifications, BLE, Physical Web etc.
- How to add progressive web app capabilities to my existing codebase.
Tasks
This is bit below is being worked on.
- Create a landing page:
- A clear definition of progressive web app’s
- Point to live examples.
- An overview of all of the platform pieces involved in a progressive web app. What they provide, what their browser support looks like, and how they fit together.
- Guidance for Service Worker and Offline
- Udacity Course
- Web Fundamentals explainer (it never landed)
- Guidance for Add to Homescreen and installability
- Udacity Course
- Web Fundamentals explainer (it needs to be tidied)
- Guidance for Server Rendering
- Guidance for Progressive Enhancement
- What is progressive enhancement and why it is important
- You don't need the exact same experience + data
- Best practice and guidance
- Guidance for RAIL - weave existing docs and guidance in.
- Guidance for Native Interactions (Sharing for example)
- Udacity Course
- Web Fundamentals explainer
- Guidance for TLS - this already exists on /web/fundamentals to an extent, needs to be updated and referenced
- Guidance for Service Worker and Offline
- Create a Your First Progressive Web Apps guide (Create Your First Progressive Web App guide #2375)
- Create Canonical Apps and case studies
- A handful of case-studies with different verticals and use-cases.
- A complete demo applications that people can play with on a mobile device.
- A walkthrough that points out each of the progressive web app-specific features of this demo.
- Create a section on How to structure your app to be a progressive web app.
- An overview of what the goals of the app-shell architecture are, and how it relates to SW & progressive web app. (strongly highlight the progressive nature).
- A few specific examples of App/Shell-compliant structures, and their strengths/weaknesses.
Learn what my options are for getting started. - Testing strategies locally and in staging environments
- Complete list of tools, templates, and examples available to me, and what they provide. Should call out a clear starting point.
- Create 5 minutes starter pack and guide: Start building from a complete, working scaffold and evolve it as needed. (App Shell project + Guidance)
- A codelab/step-by-step docs that arrive at a basic set of components/boilerplate for a working Progressive Web App.
- A complete, out-of-the-box working kit that I can download and get something visible in 5 mins, that looks kind of like the thing I want to build.
- Examples and Guidance for verticals:
- E-Commerce - a shopping app a la Flipkart
- Publishing? - a blog/news type app
- Media? - a Podcast player / video player?
- Gaming? - lots of web games, they need push, offline etc.
- UI components that come with the toolkit that I can use to customize by app’s UI, that work seamlessly with the SW architecture.
- Create a guide for UI Performance
- Applying FLIP and RAIL to Progressive Web Apps
- Create a library of 60fps UI patterns, e.g. pinch-zoom, fling, pull-to-refresh(?).
- Create a how to build a more bespoke App/Shell application from scratch guide.
- Common challenges in building with this model. What big issues am I going to run into? How can I get through them?
- Libraries to help smooth over the rough edges identified above.
- Template(s) to serve as jumping-off points for how to leverage the libraries.
- Create a section on upgrading an existing codebase to be a progressive web app
- App Cache to Service Worker
- Library
- Rationale, Guidance and best practice
- Best practice guidance on how to do it for React, Polymer, MDL etc. Hints and tips of things that we have found that work well.
- Case studies from developers who have already done this step.
- Create Blog posts or annotated pull requests showing what changes were made to an existing React, Angular, Polymer, MDL, etc. site to restructure it into a progressive web app.
- App Cache to Service Worker
Metadata
Metadata
Assignees
Labels
Type
Projects
Milestone
Relationships
Development
Issue actions
You can’t perform that action at this time.