Skip to main content

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

HerramientaVersión recomendadaUso principal
Android StudioMeerkat 2024.3.1IDE oficial para desarrollo Android
Android targetSdk35Versión objetivo soportada del SDK Android
Android compileSdk35Versión compilada del SDK Android
Android minSdk24Versión mínima soportada del SDK Android
Gradle8.4Sistema de construcción y automatización
Kotlin1.9.22Lenguaje oficial de desarrollo Android
JDK17Entorno de ejecución y compilación Java/Kotlin
Git2.49.0Control 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-ktx
    • firebase-crashlytics-ktx
    • firebase-messaging
    • firebase-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

HerramientaUso
PostmanPruebas de APIs REST
SoapUIPruebas de servicios SOAP
GitHub DesktopInterfaz gráfica de Git
SourcetreeVisualización y gestión de ramas
Sublime TextEditor liviano para scripts o pruebas rápidas
GenymotionEmulador Android de alto rendimiento
Proxyman / HttpCanarySniffer 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.

note

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.