Application Architecture Patterns
Created on February 16, 2025
3. Application Architecture Patterns
3.1 Full-Stack JavaScript Web Application
Frontend runs in the browser using JavaScript frameworks.
Backend runs on Node.js.
Single language across the stack allows shared types, utilities, and tooling.
Typical communication
API layer (REST, GraphQL, or type-safe RPC)
Common when
Team is comfortable with JavaScript/TypeScript and targets primarily web.
3.2 Flutter as Cross-Platform Frontend
Single codebase written in Dart compiles to:
- Native mobile (iOS & Android)
- Web
- Desktop
Backend is separate and accessed via APIs.
Common when
Consistent UI/behavior across multiple platforms is important and performance matters.
3.3 Web Technologies Packaged as Desktop Applications
Electron: full Chromium + Node.js runtime
Tauri: system webview + lightweight Rust backend
Streamlit / similar: Python logic rendered in browser-like view
Common when
Desktop file system access, notifications, or tray integration is needed using web or Python skills.
3.4 Fully Local / Offline-First Applications
All logic, UI, and data storage run on the user’s device.
No (or optional) server dependency.
Common when
Privacy, offline capability, or extremely low latency is the priority.
3.5 Native Mobile with Flutter + Server Backend
Flutter delivers near-native mobile performance from one codebase.
Backend hosted remotely and accessed via APIs.
Common when
Mobile-first consumer or enterprise applications are the main target.
3.6 Other Cross-Platform Approaches
- React Native: JavaScript → native mobile UI components
- Electron / Tauri: web technologies → desktop
- Ionic / Capacitor: web technologies → hybrid mobile
Common when
Code and skill reuse across platforms is more valuable than maximum native performance.
REFERENCE LIST
There is no related material added for this note.
Here are all the notes in this garden, along with their links, visualized as a graph.