Qué es la programación móvil (Mobile Programming)
Los móviles son parte integral de la sociedad actual. Nos permiten mantener comunicación constante con el mundo. Han habido varios avances en métodos para transmitir datos entre móviles y proveedores de contenido. Esto se denomina programación móvil.
WAP (Wireless Application Protocol)
WAP fue uno de los primeros métodos para entregar contenido de Internet a móviles. Muy basado en texto, casi sin imágenes/media. Desde su primer uso en 1997, fue la forma más simple de distribuir datos a usuarios móviles.
Web Móvil (Mobile Web)
La experiencia rica de Internet actual en móviles de gama alta se conoce como "Web Móvil". Esta versión entrega experiencia más rica a usuarios mediante versión simplificada de webs populares. Altamente interactiva y puede entregar streaming vídeo, audio, imágenes alta resolución.
Apps (Aplicaciones nativas)
La programación móvil dio un gran salto con el desarrollo reciente de apps de móvil. Estas versiones en miniatura de programas de ordenador se ven en smartphones como iPhone, Droid (Android), y Windows Phone. Proporcionan función específica al usuario en entorno autocontenido.
Evolución y estado actual 2024
Tecnologías base
- WAP/WML: Obsoleto (2013). Reemplazado por HTML/CSS/JS estándar.
- HTML5 + CSS3 + JavaScript (ES6+): Estándar universal. Web Responsive / PWA.
- PWA (Progressive Web Apps): Web instalable, offline, push notifications, background sync, acceso hardware (Bluetooth, USB, NFC, sensores, cámara, micrófono, geolocalización). Unifica web + app nativa.
- WebAssembly (Wasm): Código C/C++/Rust/Go en navegador a velocidad nativa. Juegos, CAD, vídeo, IA en web.
Desarrollo nativo (2024)
- iOS/iPadOS: Swift / SwiftUI / Xcode / TestFlight / App Store. SwiftUI declarativo, multi-plataforma Apple.
- Android: Kotlin (oficial) / Jetpack Compose (UI declarativa) / Android Studio / Play Console. Multi-dispositivo (teléfono, tablet, Wear, TV, Auto, XR).
- Cross-platform: Flutter (Dart), React Native (JS/TS), .NET MAUI (C#), Tauri (Rust+Web), Capacitor/Ionic (Web->Native), Kotlin Multiplatform (KMP).
Arquitecturas y patrones modernos
- Clean Architecture / MVVM / MVI / VIPER (separación capas, testabilidad)
- Reactive: RxJava/Kotlin Flow / Combine / RxSwift / Dart Streams
- Offline-first: Room / Realm / SQLite / WatermelonDB / IndexedDB (PWA)
- Modularización: Dynamic Feature Modules (Play Feature Delivery), KMP shared logic
Backend & Cloud para móvil
- Firebase / Supabase / Appwrite / NHost / PocketBase (BaaS: Auth, DB, Storage, Functions, Push, Analytics, Remote Config)
- GraphQL / tRPC / REST / gRPC (APIs)
- Edge: Cloudflare Workers, Vercel Edge, Deno Deploy, AWS Lambda@Edge
Distribución alternativa
- F-Droid / IzzyOnDroid / Obtainium / Accrescent (Android open source)
- AltStore / SideStore / Sideloadly (iOS sideload, UE DMA)
- Web / PWA: Sin store, URL directa, actualización instantánea.
Conclusión: "Programación móvil" hoy = Ingeniería de software full-stack con foco en: UX táctil, offline-first, batería/red limitadas, seguridad/privacidad, fragmentación dispositivos, stores gatekeepers, actualizaciones continuas, medición/analytics, monetización (IAP, ads, sub), cumplimiento legal (RGPD, DMA, CCPA, COPPA, leyes locales).
- ·Qué es la tecnología 3G para teléfonos celulares
- ·Qué es 3G en teléfonos móviles: Estándares, velocidades y tecnologías
- ·Qué móviles funcionan con Mac (iPhone, Android, Windows Phone, BlackBerry)
- ·Para qué sirve desbloquear (debranding) teléfonos móviles
- ·Qué es WAP habilitado en móviles
- ·Qué es el GPS 3G de AT&T para móviles
- ·Qué es el número ESN de un teléfono móvil
- ·Qué son los teléfonos móviles reacondicionados
- Qué es el modo silencioso en los móviles
- Tecnología celular: cómo funciona la telefonía móvil
- Uso del móvil en el campus universitario: ventajas, riesgos y seguridad
- Qué es el modo TTY en los teléfonos móviles
- Cómo flashear (actualizar firmware) un teléfono móvil
- Ventajas e inconvenientes de los teléfonos móviles
