Sobre el proyecto
Este repositorio contiene las aplicaciones oficiales de Android de Bitwarden, que combinan un gestor de contraseñas y un autenticador en un único cliente móvil. El proyecto tiene como versión mínima Android 10 (SDK 29) y como objetivo Android 17 (SDK 37), y admite factores de forma de teléfono y tableta en orientaciones vertical y horizontal.
El código está escrito en Kotlin y utiliza Jetpack Compose como su marco de interfaz de usuario declarativo, junto con un amplio conjunto de bibliotecas de AndroidX, incluyendo Activity, Appcompat, Autofill, Biometrics, Browser, Camera, Core, Credentials, Lifecycle, Navigation, Room, Security y WorkManager. La inyección de dependencias se maneja con Dagger Hilt, la carga de imágenes con Glide y las redes con Retrofit 2 y OkHttp 3. Las corrutinas de Kotlin, colecciones inmutables y bibliotecas de serialización soportan código asíncrono y reactivo, mientras que Timber proporciona registro y ZXing maneja el escaneo de códigos de barras para códigos de autenticador.
La aplicación se distribuye en dos variantes de compilación. Las compilaciones estándar incluyen Firebase Cloud Messaging para notificaciones push, Firebase Crashlytics para informes de fallos e integración con Google Play Reviews. Las compilaciones de F-Droid omiten estos componentes dependientes de Google, manteniendo la aplicación libre de servicios propietarios.
El desarrollo requiere JDK 21 y Android Studio, con un esquema de estilo de código específico del proyecto (bitwarden-style.xml) que los contribuyentes importan en su IDE. Se necesita un Token de Acceso Personal de GitHub con alcance read:packages para extraer dependencias de GitHub Packages, y una bandera localSdk puede redirigir el SDK a un artifactory Maven local para contribuyentes que trabajan en características del SDK. La calidad del código se aplica mediante análisis estático detekt, con un gancho de pre-commit opcional que ejecuta detekt antes de cada commit. Las pruebas dependen de JUnit 5, MockK, Robolectric y Turbine para pruebas de flujos de corrutinas. CI/CD utiliza Fastlane para compilar, firmar y distribuir la aplicación, y Kover para cobertura de código Kotlin.
El README también documenta un flujo de contribución claro: mantener los cambios de formato separados de los cambios lógicos, formatear el código antes de enviar solicitudes de extracción y seguir la documentación de estilo y mejores prácticas del proyecto. En general, este es un cliente de Android de código abierto maduro y bien estructurado para un gestor de contraseñas y autenticación de dos factores ampliamente utilizado.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.