Saltar a contenido

03. Decisión de Stack (Multiplataforma)

Fase: 02 — Project Kickoff
Entregable: 03
Proyecto: NoteVault (PC, Mac, Android, iPhone)


1. Justificación de la Decisión del Stack Multiplataforma

Desktop (PC Windows, macOS, Linux)

  • Stack: Electron 44 + Node.js 20/22 + TypeScript 5.9 + React 19 + Tailwind CSS v4 + Vite 8.
  • Razón: Acceso directo a disco con APIs nativas de Node.js, velocidad de desarrollo en React 19, integración de editores de alto nivel (CodeMirror 6 y Milkdown) y empaquetado multi-OS con electron-builder (.exe, .dmg, AppImage).
  • Alternativas Descartadas: WPF/.NET (limitado a Windows), Qt/C++ (desarrollo lento de interfaces fluidas).

Mobile (Android & iPhone / iOS)

  • Stack: Flutter 3.24+ + Dart 3.5+ (Material 3 & Cupertino).
  • Razón: Rendimiento nativo a 120 FPS, acceso a Scoped Storage / DocumentPicker sin puentes lentos, y un solo código base para compilar tanto en Android como en iOS/iPhone.
  • Alternativas Descartadas: React Native (mayor consumo de memoria y puentes serializados lentos para I/O masivo de archivos).

2. Marco Conceptual: Decisión de Stack Técnico

1. **Entidad principal e independiente.** 2. **Es la entidad líder del conjunto de datos:** posee un identificador global único que fija la selección tecnológica oficial (`stack_decision_id`: `STACK-ELECTRON-FLUTTER-LOCAL`) archivado en el histórico de arquitectura. 3. **Existe por sí misma en el registro técnico sin depender de versiones transitorias de paquetes**, y es la única responsable de dictar los lenguajes oficiales (TypeScript y Dart) y herramientas de compilación obligatorias. 4. **Punto de entrada y límite de consistencia:** Prohíbe la inclusión de librerías en otros lenguajes en el núcleo de producción.