Merge pull request #2 from fullsizemalt/claude/mobile-stack-decision-2025-11-17
Proposal: Mobile Stack Decision (Android/iOS)
This commit is contained in:
commit
3bbb2796c7
2 changed files with 56 additions and 0 deletions
|
|
@ -0,0 +1,48 @@
|
||||||
|
# Proposal: Mobile Stack Decision (Android/iOS)
|
||||||
|
|
||||||
|
Status: draft
|
||||||
|
Authors: Platform Team
|
||||||
|
Owners: Architecture Lead, Mobile Lead
|
||||||
|
Created: 2025-11-17
|
||||||
|
Scope: spec
|
||||||
|
Related: openspec/specs/architecture.md
|
||||||
|
|
||||||
|
Summary
|
||||||
|
- Decide between React Native + Expo vs Flutter for Android/iOS with full accessibility parity, strong privacy posture, and long-term maintainability.
|
||||||
|
|
||||||
|
Motivation
|
||||||
|
- Commit to a mobile stack that accelerates delivery while meeting a11y, compliance, and performance requirements across all features.
|
||||||
|
|
||||||
|
Goals / Non‑Goals
|
||||||
|
- Goals: select stack, document rationale, list enabling libraries/tooling, define migration/rollback path.
|
||||||
|
- Non‑Goals: finalize design system visuals (handled in later proposals).
|
||||||
|
|
||||||
|
Evaluation Criteria
|
||||||
|
- Accessibility: VoiceOver/TalkBack parity; dynamic type; reduced motion; larger text support.
|
||||||
|
- Performance: cold start, nav latency, list virtualization; p95 targets defined in architecture spec.
|
||||||
|
- Ecosystem: first‑party support, community libs for a11y, storage, media, push, payments.
|
||||||
|
- Compliance & Security: secure storage, network stack, logging redaction, crash reporting controls.
|
||||||
|
- Developer Experience: CI/CD, hot reload, E2E testing, upgrade cadence.
|
||||||
|
|
||||||
|
Options
|
||||||
|
- React Native + Expo (with Reanimated, RN‑Skia optional, TypeScript, Detox/E2E)
|
||||||
|
- Flutter (Dart, integration_test/E2E, Impeller renderer)
|
||||||
|
|
||||||
|
Risks & Mitigations
|
||||||
|
- Accessibility gaps → add native modules or platform adapters; enforce CI a11y gates.
|
||||||
|
- Perf regressions → profiling budgets and regression tests.
|
||||||
|
|
||||||
|
Rollout Plan
|
||||||
|
- Pilot with Forum MVP screens; run A11y + perf checks; make decision.
|
||||||
|
|
||||||
|
Test Plan
|
||||||
|
- Prototype forum list/thread/post; run a11y audits; measure startup and interaction latencies.
|
||||||
|
|
||||||
|
Acceptance Criteria
|
||||||
|
- Decision recorded with rationale; pilot results included; sign‑off from a11y and compliance.
|
||||||
|
|
||||||
|
Slash Commands
|
||||||
|
- `/review areas=mobile,accessibility,security`
|
||||||
|
- `/apply spec=openspec/specs/architecture.md`
|
||||||
|
- `/archive link=<PR>`
|
||||||
|
|
||||||
|
|
@ -33,3 +33,11 @@ Implementation notes
|
||||||
|
|
||||||
Decisions
|
Decisions
|
||||||
- <record cross‑cutting decisions here>
|
- <record cross‑cutting decisions here>
|
||||||
|
|
||||||
|
Client platform decisions
|
||||||
|
- Mobile: React Native + Expo (TypeScript).
|
||||||
|
Rationale: strong a11y ecosystem, mature tooling, and DX.
|
||||||
|
Notes: Expo modules; E2E via Detox; push via Expo/FCM/APNs.
|
||||||
|
|
||||||
|
Decisions
|
||||||
|
- 2025-11-17 — Mobile stack: React Native + Expo.
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue