Camada de Apresentação

Introdução

A camada de apresentação é composta dos componentes React que representam as telas da aplicação.

Para navegação entre telas sugere-se o framework React Navigation.

Estrutura de Arquivos

As telas, nos padrões da presente arquitetura, ficam localizadas dentro da pasta app/screens, dedicada à camada de apresentação. A pasta pode conter subníveis, conforme necessidade, para representar a estrutura de navegação ou organização das telas.

Exemplo de conteúdo da pasta app/screens:

ajustes/
   ajustesScreen.js
apoio/
   apoioScreen.js
executores/
   executoresScreen.js
home/
   homeScreen.js
   atestarOrdemServico/
      atestarOrdemServicoScreen.js
   cancelarOrdemServico/
      cancelarOrdemServicoScreen.js
   ...

Telas

Implementar cada tela na forma de um componente React, conforme as diretrizes:

  • Declarar em módulo JavaScript com sufixo Screen.

  • Evitar dois ou mais componentes de tela na mesma pasta.

  • Evitar a implementação de regras de negócio, que é função do backend, com exceção de redundâncias para fins de UX, especialmente validações de formulários.

  • Evitar componentes React com mais de 200 linhas de código.

    • Prefira dividí-los em componentes menores. Para melhor legibilidade, estes componentes ficam localizados no mesmo diretório da página.
  • Não consumir webservices diretamente na página.

    • Deve-se implementar o consumo na camada de integração, na forma de serviço remoto, e importar a função correspondente na página. Consulte a seção de Integração para mais informações.

Sugere-se o seguinte template de código para um componente React de tela:

import React from 'react';

// Demais imports

const ExemploScreen = ({ navigation }) => {
  
    // Hooks

    // Refs
    
    // States

    // Funções de apoio

    // Funções de eventos de UI

    // Effects

    return (
        <>            
            {/* Elementos da página */}
        </>
    );
}

export { ExemploScreen };

Componentes de UI

Consulte o código-fonte do aplicativo móvel Showcase da arquitetura, que demonstra todos os componentes de UI da biblioteca react-native-cloudsupport.

Veja algumas imagens do aplicativo de showcase:

Screenshot Screenshot Screenshot Screenshot Screenshot Screenshot

Próximos Passos

A próxima leitura sugerida é a seção Integração, que detalha o consumo de serviços do backend.

A seção Documentação da API contém a referência completa de todos os módulos e componentes da arquitetura.