帮助设计或评估单页应用架构,涵盖路由、状态、性能与离线能力。
复制安装指令,让 AI 自动完成配置 · 推荐新手
请帮我安装 askskill 上的 "system-type-spa" 技能: 1. 下载 https://raw.githubusercontent.com/microsoft/amplifier-bundle-systems-design/main/skills/system-type-spa/SKILL.md 2. 保存为 ~/.claude/skills/system-type-spa/SKILL.md 3. 装好后重载技能,告诉我可以用了
请为一个企业后台单页应用设计前端架构方案,需包含客户端路由、全局状态管理、鉴权流程、接口缓存、按需加载、错误边界和离线支持,并说明各模块如何协作。
一份结构化 SPA 架构方案,说明核心模块选型、职责划分与协作关系。
请评估这个渐进式 Web 应用方案是否适合高频使用场景,重点检查首屏渲染策略、状态同步、登录安全、Service Worker 缓存、离线回退和性能瓶颈,并给出改进建议。
一份问题清单与优化建议,帮助识别架构风险和可落地的改进方向。
我正在做一个浏览器端富客户端应用,请比较不同的渲染策略、路由组织方式和状态管理模式,分析它们对 SEO、交互性能、开发复杂度和可维护性的影响,并给出推荐方案。
一份带对比分析的技术决策建议,帮助团队选择合适的 SPA 模式。
Patterns, failure modes, and anti-patterns for browser-based single-page applications.
When to use. Interactive applications where SEO is not critical — dashboards, admin panels, internal tools, authenticated experiences. When the team already has frontend expertise and the app's value is in interactivity, not content discovery. When to avoid. Content-heavy marketing sites, blogs, e-commerce product pages — anything where first meaningful paint and SEO matter. When users are on slow devices or unreliable networks. Key decisions. Shell loading strategy (skeleton screens vs spinners), code splitting granularity, initial bundle size budget, CDN caching for static assets.
When to use. When first contentful paint matters for conversion. Public-facing pages that need SEO. When you need the interactivity of a SPA but can't sacrifice initial load performance. When to avoid. Purely authenticated apps where crawlers never see content. When the backend team can't support a Node.js rendering tier. When the added infrastructure complexity isn't justified by the SEO/performance benefit. Key decisions. Hydration strategy (full hydration, partial, progressive, islands), streaming vs buffered SSR, caching rendered HTML, handling authentication during SSR, server cost for rendering.
When to use. Content that changes infrequently — documentation, marketing pages, blogs. When you want SPA-like navigation but with pre-built HTML for instant loads. When to avoid. Highly dynamic, personalized content. Pages that change per-user or per-request. Large sites with millions of pages where build times become prohibitive. Key decisions. Build frequency, incremental regeneration strategy, preview/draft workflow, handling dynamic sections within static pages.
When to use. Mostly-static pages with isolated interactive widgets. When you want to ship minimal JavaScript and hydrate only the components that need interactivity. When to avoid. Heavily interactive applications where most of the page is dynamic. When shared state between islands creates coupling that negates the isolation benefit. Key decisions. Island boundary identification, shared state between islands, framework choice (Astro, Fresh, 11ty), progressive enhancement baseline.
When to use. Legacy browser support. Deployments where you can't configure server-side fallback routes (e.g., static file hosting without URL rewriting). Simple applications that don't need clean URLs. When to avoid. Any modern application where clean URLs matter. When anchor links are needed for in-page navigation. Key decisions. None significant — this is a fallback strategy, not a primary choice.
When to use. The default for modern SPAs. Clean URLs, proper browser back/forward behavior, shareable deep links. When to avoid. Environments where the server can't be configured to serve the SPA shell for all routes (static hosting without rewrite rules). In those cases, hash routing or SSG is better. Key decisions. Server fallback configuration (all unmatched routes serve index.html), route-based code splitting, scroll restoration, route transition animations, route guards for authentication.
When to use. Any SPA beyond trivial size. Load code for a route only when the user navigates to it. Essential for keeping initial bundle size manageable. When to avoid. Extremely small applications where the overhead of chunking exceeds the benefit.
…
帮助设计可离线运行的边缘系统,处理同步、冲突恢复与弱网故障场景。
帮助设计与评估企业系统集成方案,覆盖遗留改造、网关、事件与失效模式。
用于按七步法系统审查架构设计,识别风险、权衡并产出改进建议。
用 Unix/Linux 设计哲学评估系统方案的可组合性、简洁性与关注点分离。
帮助用户设计或评估基于 Azure 的系统架构与运维方案
帮助设计和评估多租户SaaS的平台隔离、计量计费与稳定性方案
帮助你设计或评估Web服务架构、API模式、扩展性与可靠性问题。
帮助设计或评估命令行工具与开发者 SDK 的架构、兼容性和使用体验
帮助设计与评估实时协作系统的连接、同步、冲突处理与故障模式
帮助设计与评估去中心化点对点系统的架构模式与关键机制
帮助设计与评估机器学习训练、部署及实验平台架构方案
帮助设计和评估事件驱动、消息驱动与异步工作流系统架构。