Skip to content

rdpresser/ReactNativeFidelidade

Repository files navigation

ReactNativeFidelidade

Projeto final de Semestre, utilizando a tecnologia de React Native.

Projeto simples para comprovar a utilização da tecnologia aprendida em aula. Neste projeto foi consumido uma api desenvolvida em C# com o padrão de consumo OData v4. Nessa api é possível fazer login, ver os pontos atuais do cliente logado, quais os prêmios que ele consegue resgatar com a pontuação atual, e também consegue customizar o seu perfil com o seu avatar com foto.

Principais bibliotecas utilizadas:

  • axios: "^0.18.0" => Responsável por fazer as requisições HTTP: -> Possui mais recursos que o tradicional fetch, como o interceptor, para incluir token a cada requisição;
  • query-string: "^6.1.0" => Auxiliar para transformar objetos json em queryString, facilitando para armazenar no Storage;
  • react-native-camera: "^1.1.4" => Componente nativo para utilizar a câmera como recurso;
  • react-native-config: "^0.11.5" => Utilizado para armazenar as configurações de ambiente (dev, stage, prod) em arquivo .env
  • react-native-elements: "^0.19.1" => Lib utilizada que possui vários elementos React com mais recursos de text, label, avatar, listview, etc;
  • react-native-vector-icons: "^4.6.0" => Lib que possui vários elementos de telas como ícones e fontes;
  • react-navigation: "^2.9.3" => Componente de navegação entre as cenas (telas) do app;

Versões da Lib React Native utilizadas

  • react: "^16.3.1"
  • react-native: "^0.55.4"
  • Obs.: Utilizando a última versão do React apresentou problemas na compilação, por esse motivo optei por esta versão (downgrade)

Principais benefícios da Linguagem:

  • Desenvolvimento único das regras de negócio;
  • Bastante reaproveitamente de código fonte, e de interface;
  • Bastante exemplos de recursos disponíveis na comunidade do React;
  • Debugg pode ser feito direto na aba do Chrome com o DevTools;

Principais dificuldades:

  • Pelo fato de automatizar os processos de compilação do Gradle via linha de comando, muitos erros são apenas corrigidos com o auxílio do Android Studio;
  • Nem sempre atualizar o projeto com as últimas versões dos pacotes (utilizando ncu ou audit fix) é uma boa idéia, pois a última versão do React Native (0.56) tem apresentado problemas que muitas pessoas também estão tentando corrigir (problemas de compilação mesmo em projetos simples, do tipo "Hello World");