Files
LogWhispererAI/.opencode/skills/frontend-developer/references/modern-signals.md
Luca Sacchi Ricciardi aa489c7eb8 docs: add comprehensive frontend landing page plan and download design skills
Add detailed landing page development plan in docs/frontend_landing_plan.md:
- Complete landing page structure (Hero, Problem/Solution, Features, Demo, CTA)
- Design guidelines from downloaded skills (typography, color, motion, composition)
- Security considerations (XSS prevention, input sanitization, CSP)
- Performance targets (LCP <2.5s, bundle <150KB, Lighthouse >90)
- Responsiveness and accessibility requirements (WCAG 2.1 AA)
- Success KPIs and monitoring setup
- 3-week development timeline with daily tasks
- Definition of Done checklist

Download 10+ frontend/UI/UX skills via universal-skills-manager:
- frontend-ui-ux: UI/UX design without mockups
- frontend-design-guidelines: Production-grade interface guidelines
- frontend-developer: React best practices (40+ rules)
- frontend-engineer: Next.js 14 App Router patterns
- ui-ux-master: Comprehensive design systems and accessibility
- ui-ux-systems-designer: Information architecture and interaction
- ui-ux-design-user-experience: Platform-specific guidelines
- Plus additional reference materials and validation scripts

Configure universal-skills MCP with SkillsMP API key for curated skill access.

Safety first: All skills validated before installation, no project code modified.

Refs: Universal Skills Manager (github:jacob-bd/universal-skills-manager)
Next: Begin Sprint 3 landing page development
2026-04-03 13:13:59 +02:00

44 lines
1.3 KiB
Markdown

# Modern Signals & Fine-Grained Reactivity
**Stack**: Svelte 5 (Runes), SolidJS, Qwik
## 🧠 The Philosophy: "No Virtual DOM"
Unlike React/Vue, these frameworks target the DOM directly.
- **Fine-Grained**: Only the text node that changes updates. No component re-renders.
- **Mental Model**: Code runs _once_ (setup), then reactivity takes over.
## 🧱 Framework specifics
### Svelte 5 (Runes)
- **State**: `let count = $state(0)`
- **Derived**: `let double = $derived(count * 2)`
- **Side Effects**: `$effect(() => ...)`
- **Snippets**: Replace slots with `{#snippet}`.
### SolidJS
- **Read/Write Split**: `const [count, setCount] = createSignal(0)`
- **DOM Access**: strictly in `onMount`.
- **Control Flow**: Use `<Show>`, `<For>` (don't use map).
### Qwik (Resumability)
- **The Golden Rule**: Do not execute JS on the client unless checking an event.
- **Serialized State**: All state must be serializable (JSON).
- **$**: The optimizer barrier. `onClick$`, `useSignal$`.
## ⚡ Performance Targets
1. **Hydration**:
- **Svelte/Solid**: Fast hydration.
- **Qwik**: No hydration (Resumability).
2. **Closures**: Avoid creating closures in render loops (except Qwik where `$` handles it).
## 🧪 Testing
- **E2E**: Playwright is the gold standard for all three.
- **Unit**: Vitest.