1. Stack Tecnológico
Este apartado detalla todas las herramientas, tecnologías, librerías y versiones requeridas para el desarrollo profesional de aplicaciones móviles nativas para Android, utilizando Kotlin y Jetpack Compose, alineadas a los estándares oficiales de Google y a las necesidades específicas del sector industrial-ganadero (Alpura).
1.1 IDE y herramientas base
| Herramienta | Versión recomendada | Uso principal |
|---|---|---|
| Android Studio | Meerkat 2024.3.1 | IDE oficial para desarrollo Android |
| Android targetSdk | 35 | Versión objetivo soportada del SDK Android |
| Android compileSdk | 35 | Versión compilada del SDK Android |
| Android minSdk | 24 | Versión mínima soportada del SDK Android |
| Gradle | 8.4 | Sistema de construcción y automatización |
| Kotlin | 1.9.22 | Lenguaje oficial de desarrollo Android |
| JDK | 17 | Entorno de ejecución y compilación Java/Kotlin |
| Git | 2.49.0 | Control de versiones |
1.2 Arquitectura recomendada
- Clean Architecture
- Basada en capas: UI, Domain, Data
- ViewModel + Use Cases + Repository Pattern
- Navigation Compose
- Hilt para inyección de dependencias
1.3 Frameworks y librerías esenciales
Jetpack Compose
implementation("androidx.compose.ui:ui:1.6.0")
implementation("androidx.compose.material3:material3:1.2.0")
implementation("androidx.navigation:navigation-compose:2.7.6")
ViewModel, Lifecycle y State
implementation("androidx.lifecycle:lifecycle-viewmodel-ktx:2.7.0")
implementation("androidx.lifecycle:lifecycle-runtime-compose:2.7.0")
Inyección de dependencias (Hilt)
implementation("com.google.dagger:hilt-android:2.48")
kapt("com.google.dagger:hilt-compiler:2.48")
Corrutinas y Flow
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3")
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.3")
Retrofit + OkHttp
implementation("com.squareup.retrofit2:retrofit:2.9.0")
implementation("com.squareup.retrofit2:converter-gson:2.9.0")
implementation("com.squareup.okhttp3:logging-interceptor:5.0.0-alpha.11")
Room DB
implementation("androidx.room:room-runtime:2.6.1")
kapt("androidx.room:room-compiler:2.6.1")
Firebase
- Firebase BoM:
32.7.3 - Librerías usadas:
firebase-analytics-ktxfirebase-crashlytics-ktxfirebase-messagingfirebase-auth
implementation(platform("com.google.firebase:firebase-bom:32.7.3"))
implementation("com.google.firebase:firebase-analytics-ktx")
implementation("com.google.firebase:firebase-crashlytics-ktx")
implementation("androidx.lifecycle:lifecycle-viewmodel-ktx:2.7.0")
implementation("androidx.lifecycle:lifecycle-runtime-compose:2.7.0")
implementation("com.google.dagger:hilt-android:2.48")
kapt("com.google.dagger:hilt-compiler:2.48")
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3")
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.3")
implementation("com.squareup.retrofit2:retrofit:2.9.0")
implementation("com.squareup.retrofit2:converter-gson:2.9.0")
implementation("com.squareup.okhttp3:logging-interceptor:5.0.0-alpha.11")
implementation("androidx.room:room-runtime:2.6.1")
kapt("androidx.room:room-compiler:2.6.1")
implementation(platform("com.google.firebase:firebase-bom:32.7.3"))
implementation("com.google.firebase:firebase-analytics-ktx")
implementation("com.google.firebase:firebase-crashlytics-ktx")
1.4 Herramientas auxiliares
| Herramienta | Uso |
|---|---|
| Postman | Pruebas de APIs REST |
| SoapUI | Pruebas de servicios SOAP |
| GitHub Desktop | Interfaz gráfica de Git |
| Sourcetree | Visualización y gestión de ramas |
| Sublime Text | Editor liviano para scripts o pruebas rápidas |
| Genymotion | Emulador Android de alto rendimiento |
| Proxyman / HttpCanary | Sniffer de red para Android (alternativa a Charles en Windows) |
1.5 Pruebas y calidad
- JUnit 5 para pruebas unitarias
- MockK para mocking
- ktlint para análisis estático
- SonarQube / SonarCloud como gateway de calidad, se deberá agregar cuando se implementen los pipelines
1.6 Seguridad y análisis
- Checkmarx para análisis de vulnerabilidades
Este stack tecnológico garantiza un entorno de desarrollo profesional, seguro, moderno y escalable, alineado con los estándares de Google y las prácticas empresariales actuales para aplicaciones móviles Android.
Este stack tecnológico ha sido implementado y validado en el proyecto base funcional AlpuraMobileArchetype.
🔗 Repositorio oficial del arquetipo: alpura-moblie-kotlin-android-archetype-base
Este repositorio debe utilizarse como template de inicio para todo nuevo desarrollo mobile en Alpura.