Como o Código-Fonte do Aplicativo Android Oficial do WooCommerce é Estruturado
Quando você precisa estudar a arquitetura de um grande aplicativo Android de e-commerce, encontrar um exemplo adequado pode ser complicado. A maioria dos projetos reais está escondida nos repositórios privados das empresas, e tutoriais públicos são limitados a listas simples de tarefas. O aplicativo móvel WooCommerce é uma exceção bem-vinda. A equipe da Automattic mantém o código-fonte do cliente totalmente aberto.
O repositório contém uma aplicação Kotlin completa usada diariamente por milhares de proprietários de lojas online. É uma excelente plataforma para aprender soluções arquiteturais práticas, abordagens de teste e layouts.
O Que Está Dentro do Projeto
O aplicativo é construído em torno de Kotlin e componentes Android Jetpack. Anteriormente, a camada de dados vivia em uma biblioteca FluxC separada. Posteriormente, os desenvolvedores moveram essa lógica diretamente para o repositório principal.
Detalhe interessante: Google ML Kit é usado para escaneamento de código de barras e reconhecimento de texto em embalagens de produtos. Esta é uma das poucas dependências proprietárias do projeto. Se você planeja compilar sem os serviços do Google, este módulo precisará ser substituído.
A documentação do repositório inclui guias sobre os seguintes tópicos:
- Configurar a autorização OAuth2 para trabalhar com a API REST do WooCommerce.
- Suporte a interfaces da direita para a esquerda (RTL) e localização.
- Adaptar telas para tablets e telas grandes.
- Usar feature flags para lançamento seguro de novas funcionalidades.
Compilando e Executando
Você pode ter o projeto funcionando localmente em poucos minutos. Os requisitos básicos são apenas Android Studio e um SDK instalado.
Primeiro, clone o repositório:
git clone https://github.com/woocommerce/woocommerce-android.git
cd woocommerce-android
Em seguida, copie o modelo de configuração para o diretório de segredos:
cp defaults.properties ~/.configure/woocommerce-android/secrets/secrets.properties
Depois disso, abra a pasta no Android Studio. A GUI criará automaticamente local.properties com os caminhos do SDK. Você pode compilar uma versão de debug ou executar testes do terminal usando comandos Gradle padrão:
./gradlew assembleVanillaDebug
./gradlew installVanillaDebug
./gradlew :WooCommerce:testVanillaDebugUnitTest
./gradlew :WooCommerce:connectedVanillaDebugAndroidTest
Por Que Você Deve Estudar Este Repositório
No código WooCommerce Android, você pode encontrar soluções para tarefas cotidianas que desenvolvedores de nível médio ou sênior enfrentam:
- Analisador estático Detekt configurado com um conjunto pronto de regras que correspondem aos padrões da equipe.
- Geração automática de capturas de tela para o Google Play através de uma execução de teste especial.
- Rastreamento de eventos de analytics organizado separadamente para gerenciamento básico da loja e terminal POS.
- Separação adequada de estilos e temas usando Material Design.
Quem Se Beneficiará Deste Projeto
O repositório será útil para desenvolvedores Android que querem ver como uma aplicação Kotlin real com uma história rica é estruturada. Aqui você pode avaliar como a equipe de engenharia da Automattic lida com tech debt, estrutura módulos e integra novas bibliotecas Jetpack.
Se você está construindo seu próprio cliente de e-commerce ou integração com a API do WordPress, este código poupará muito tempo durante a fase de design da arquitetura.
Projetos relacionados