CodeRoadMap
首页路线题库资源库文章社区
CodeRoadMap

程序员的学习成长路线图。内容免费开放,登录后可同步路线图与课时进度。

由 程序员柏风 独立维护 · 关于作者

学习

  • 路线图
  • 课程
  • 面试题
  • 文章
  • 我

更多

  • 资源
  • 社区
  • 关于作者
  • 内容说明

© 2026 CodeRoadMap

津ICP备2026012044号-1·津公网安备12011002026155号·coderoadmap@126.com
跨平台前端入门/课时/PWA 基础
RawBlame
课时目录12 节

跨平台前端入门

  1. 01跨平台前端地图
  2. 02PWA 基础
  3. 03Service Worker
  4. 04Web API
  5. 05Electron
  6. 06Tauri
  7. 07移动 Web 与混合
  8. 08Flutter 概览
  9. 09Ionic 概览
  10. 10Web Components
  11. 11Lighthouse 与 DevTools
  12. 12综合练习

PWA 基础

pwas、manifest、离线缓存。

30 分钟

PWA 基础

PWA(Progressive Web App)在普通网页上叠加 可安装、离线友好、类 App 体验——不靠应用商店,仍用 HTTPS 分发。核心是 Web App Manifest 与(通常)Service Worker;本课先建立 Manifest 与安装流程直觉。

学习目标

  • 理解 Manifest 字段与「添加到主屏幕」流程
  • 区分 PWA 与纯 Web、与原生 App 的能力边界
  • 对照路线图 pwas 节点

Manifest 做什么

manifest.json(或 manifest.webmanifest)告诉浏览器:名字、图标、主题色、启动 URL、显示模式。

{
  "name": "CodeRoadMap 离线阅读",
  "short_name": "CRM",
  "start_url": "/tracks",
  "display": "standalone",
  "background_color": "#0f172a",
  "theme_color": "#38bdf8",
  "icons": [
    { "src": "/icons/icon-192.png", "sizes": "192x192", "type": "image/png" },
    { "src": "/icons/icon-512.png", "sizes": "512x512", "type": "image/png" }
  ]
}

HTML 引用:

<link rel="manifest" href="/manifest.json" />
<meta name="theme-color" content="#38bdf8" />
字段作用
display: standalone隐藏浏览器地址栏,更像 App
start_url从主屏幕启动时的入口
icons主屏幕与启动屏图标(多尺寸)

安装与更新体验

  • Chrome / Edge:地址栏或菜单「安装应用」
  • Safari iOS:「添加到主屏幕」(能力子集,SW 限制见后文)
  • 更新:仍走 Web 部署;用户下次打开拉新版本(与 frontend-toolchain-essentials 静态/SSR 部署衔接)

PWA 不是自动离线:没有 Service Worker 时,只是「可安装的快捷方式」。

与 html-css / http 的衔接

  • 布局与 css-responsive 移动优先一致——PWA 首屏多在手机
  • 资源仍经 http-protocol-essentials 的 HTTPS;Manifest 必须 同源可访问
  • 若用 react-essentials SPA,构建产物需把 manifest 与图标拷进 public/

能力边界(诚实预期)

能做难做 / 受限
离线静态资源、推送(平台差异大)
全功能后台、复杂文件系统
全屏、独立窗口(display 模式)与原生同等深系统集成
复用现有 Web 代码与 CIiOS 对 SW、推送的历史限制

练习

  • 为假想「课程离线清单」页写一份最小 manifest.json(含 name、icons、standalone)
  • DevTools → Application → Manifest,检查字段是否被解析
  • 对比:纯书签 vs PWA 安装,用户体验差在哪

小结

Manifest 定义「像 App 的外壳」;真正离线靠 Service Worker。 下一课深入 SW 注册与缓存策略。

加载本节练习…
← 上一课跨平台前端地图下一课 →Service Worker