Cómo está estructurado el código fuente de la aplicación oficial de WooCommerce para Android
Cuando necesitas estudiar la arquitectura de una aplicación Android grande de e-commerce, encontrar un ejemplo adecuado puede ser complicado. La mayoría de los proyectos reales están ocultos en repositorios privados de empresas, y los tutoriales públicos se limitan a listas de tareas simples. La aplicación móvil de WooCommerce es una excepción bienvenida. El equipo de Automattic mantiene el código fuente del cliente completamente abierto.
El repositorio contiene una aplicación Kotlin completa utilizada diariamente por miles de propietarios de tiendas en línea. Es una excelente plataforma para aprender soluciones arquitectónicas prácticas, enfoques de testing y layouts.
Qué hay dentro del proyecto
La aplicación está construida alrededor de Kotlin y los componentes de Android Jetpack. Anteriormente, la capa de datos vivía en una biblioteca FluxC separada. Posteriormente, los desarrolladores movieron esta lógica directamente al repositorio principal.
Detalle interesante: se utiliza Google ML Kit para el escaneo de códigos de barras y el reconocimiento de texto en el empaquetado de productos. Esta es una de las pocas dependencias propietarias del proyecto. Si planeas compilar sin servicios de Google, este módulo tendrá que ser reemplazado.
La documentación del repositorio incluye guías sobre los siguientes temas:
- Configurar la autorización OAuth2 para trabajar con la API REST de WooCommerce.
- Soportar interfaces de derecha a izquierda (RTL) y localización.
- Adaptar pantallas para tablets y pantallas grandes.
- Usar feature flags para el lanzamiento seguro de nuevas funcionalidades.
Compilación y ejecución
Puedes tener el proyecto funcionando localmente en pocos minutos. Los requisitos básicos son simplemente Android Studio y un SDK instalado.
Primero, clona el repositorio:
git clone https://github.com/woocommerce/woocommerce-android.git
cd woocommerce-android
Luego, copia la plantilla de configuración al directorio de secrets:
cp defaults.properties ~/.configure/woocommerce-android/secrets/secrets.properties
Después de eso, abre la carpeta en Android Studio. La interfaz gráfica creará local.properties con las rutas del SDK automáticamente. Puedes compilar una versión de debug o ejecutar tests desde la terminal usando comandos estándar de Gradle:
./gradlew assembleVanillaDebug
./gradlew installVanillaDebug
./gradlew :WooCommerce:testVanillaDebugUnitTest
./gradlew :WooCommerce:connectedVanillaDebugAndroidTest
Por qué deberías estudiar este repositorio
En el código de WooCommerce para Android, puedes encontrar soluciones a tareas cotidianas que enfrentan desarrolladores de nivel medio o senior:
- Detekt configurado como analizador estático con un conjunto listo de reglas que coinciden con los estándares del equipo.
- Generación automática de capturas de pantalla para Google Play a través de una ejecución especial de tests.
- Seguimiento de eventos de analytics organizado por separado para la gestión básica de la tienda y el terminal POS.
- Separación adecuada de estilos y temas usando Material Design.
Quién se beneficiará de este proyecto
El repositorio será útil para desarrolladores Android que quieran ver cómo está estructurada una aplicación Kotlin real con una rica historia. Aquí puedes evaluar cómo el equipo de ingeniería de Automattic maneja la deuda técnica, estructura los módulos e integra nuevas bibliotecas de Jetpack.
Si estás construyendo tu propio cliente de e-commerce o integración con la API de WordPress, este código te ahorrará mucho tiempo durante la fase de diseño de la arquitectura.
Proyectos relacionados