/e_commerce

Projeto em Kotlin, com arquitetura MVVM, Firebase

Primary LanguageKotlin

Static Badge

E-commerce

Apresentação do aplicativo

Tecnologias - recursos utilizados nesse aplicativo:

  • Kotlin;
  • Navigation Component: Uma activity contém vários fragments em vez de criar várias activities;
  • Firebase Firestore: Banco de dados para o sistema Firebase Storage / Firebase Cloud Messaging;
  • Firebase Auth: Gerenciamento de contas / Login e registros;
  • MVVM & LiveData: Separe o código lógico das visualizações e salve o estado, caso a configuração da tela seja alterada;
  • Coroutines: faça algum código em segundo plano;
  • View Binding: Em vez de inflar as visualizações manualmente, a vinculação de visualizações cuidará disso;
  • Glide: Capture imagens e carregue-as no imageView.

Benefícios do Kotlin:

São vários os benefícios do Kotlin, alguns estão listados aqui:

  • Menos código e maior legibilidade: Gasta-se menos tempo escrevendo código em Kotlin;
  • Menos erros comuns: Aplicativos em Kotlin têm 20% menos probabilidade de travar com base nos dados do Google;
  • Suporte a Kotlin em bibliotecas Jetpack: O Jetpack Compose é o kit de ferramentas moderno recomendado pelo Android, para criar UI nativa em Kotlin. As extensões KTX, adicionam recursos da linguagem Kotlin, como coroutines, extension functions, lambdas e parameters.
  • Suporte para desenvolvimento multiplataforma: O Kotlin Multiplataforma permite o desenvolvimento não apenas para Android, mas também para iOS, backend e web. Algumas bibliotecas do Jetpack já são multiplataforma.
  • Linguagem e ambiente maduros: Desde sua criação em 2011, o Kotlin está em desenvolvimento contínuo e, atualmente está perfeitamente integrado ao Android Studio.
  • Interoperabilidade com Java: Você pode usar Kotlin e Java juntos sem problemas.
  • Fácil aprendizado: Kotlin é fácil de aprender, principalmente para desenvolvedores Java.
  • Comunidade: Kotlin tem grande suporte e muitas contribuições da comunidade.

Firebase:

Firebase é um conjunto de serviços de computação em nuvem de backend e plataformas de desenvolvimento de aplicativos fornecidos pelo Google. Hospeda bancos de dados, serviços, autenticação e integração para aplicativos incluindo Android, iOS, JavaScript, Node.js, Java, Unity, PhP e C++.

Firestore:

É um banco de dados de documentos compatível com JSON, que oferece grande capacidade de consulta.

Firebase Auth:

O Firebase Authentication, tem como objetivo facilitar a construção de sistemas de autenticação seguros, ao mesmo tempo em que melhora a experiência de login para os usuários.

Firebase Storage:

É um serviço de armazenamento de objetos, simples e econômico, criado pelo Google. Os Firebase SDKs for Cloud Storage, adicionam segurança do Google a uploads e downloads de arquivos.

Firebase Cloud Messaging:

O Firebase Cloud Messaging fornece uma conexão confiável e com baixo consumo de bateria entre seu servidor e dispositivos, permitindo o envio e recebimento de mensagens e notificações.

MVVM:

Model View View Model: é uma arquitetura onde, na prática, a camada Model não se comunica com a View e nem a View se comunica com a Model, mas, a View conhece a ViewModel e se comunica com ela através do binding. A camada ViewModel é importante no fluxo, pois disponibiliza à View, uma lógica de apresentação e coordena as iterações da View com a Model, além de poder implementar a lógica de validação, garantindo a consistência dos dados. O que é arquitetura MVVM?

Coroutines and Flows:

Em coroutines, um fluxo é um tipo que pode emitir múltiplos valores sequencialmente, ao contrário de suspend function, que retorna apenas um único valor, ex.: um fluxo pode ser usado para receber atualizações em tempo real de um banco de dados. Fluxos de Kotlin no Android

Algumas telas do app: