- 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.
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 é 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++.
É um banco de dados de documentos compatível com JSON, que oferece grande capacidade de consulta.
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.
É 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.
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.
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?
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