Aplicação móvel para ofertar vagas de trabalho (a job-offer mobile app).
A presente documentação se refere a um projeto que nasce em 2024 na universidade Estácio. Trata-se de uma aplicação móvel para ofertas de vagas de trabalho, cuja engenharia de software é conduzida através do Laboratório de Transformação Digital (LTD) da instituição, e também através de uma disciplina de extensão, que entrega o protagonismo do projeto aos alunos da Estácio. A disciplina em questão é denominada "ARA0089 Programação para dispositivos móveis em Android", e por deter caráter extensionista, objetiva entregar aplicações que atendam aos alunos e também à comunidade.
1) INTRODUçÃO
2) REACT NATIVE
3) REQUISITOS E PRINCIPAIS COMPONENTES
3.1) CACHING E PERSISTÊNCIA
3.1.1) LOCALMENTE
3.1.2) REMOTAMENTE
4) ESTRUTURA DO PROJETO RH EM AçÃO
4.1) O DIRETÓRIO /ASSETS/
4.2) O DIRETÓRIO /COMPONENTS/
4.2.1) O FICHEIRO /COMPONENTS/STYLES.JS
4.3) O DIRETÓRIO /.PERSISTENCE/
4.3.1) O FICHEIRO /.PERSISTENCE/LOG.CSV
5) OBSERVAÇÕES
REFERÊNCIAS
Vislumbres do primeiro quarto do século XXI revelam claras tendências tecnológicas.
A disciplina "ARA0089 Programação para dispositivos móveis em Android" é ministrada em formato sala de aula invertida, conforme determina a sua ementa.
As turmas da disciplina foram divididas em equipes de cinco e/ou seis alunos, que escolheram seus líderes, e a partir de então, passaram a trabalhar no desenvolvimento de uma aplicação que atendesse aos requisitos funcionais e não-funcionais mínimos do chamado "Projeto RH em Ação".
Uma vez que a ementa determina a utilização do arcabouço React Native, a principal linguagem de programação utilizada é a JavaScript, juntamente à extensão JavaScript Syntax eXtension (JSX), que agrega a sintaxe XML à referida linguagem de programação.
O professor utiliza o laboratório para orientar as equipes, e para produzir interações entre elas. Assim, algumas aulas ocorrem como o chamado "coding dojo", um modelo de programação coletiva no qual o código é projetado para que todos os presentes possam auxiliar em sua depuração e/ou em seu aprimoramento.
A engenharia de software do projeto lança mão do notório arcabouço Scrum, que por sua vez compõe o conjunto de sistemáticas chamado "desenvolvimento ágil de software".
A aplicação está disponível para Android e iOS.
Arcabouço mantido pela organização chamada Meta, que permite a criação de aplicativos para Android e iOS a partir de uma base única, escrita predominantemente em JavaScript e JSX.
O projeto utiliza uma implementação do React Native chamada Snack.
A presente seção trata das dependências listadas pelo ficheiro package.json.
Note que todos os projetos criados no Snack são acessíveis publicamente através do URL do projeto, e.g., o Projeto RH em Ação [1]. Isso é bem útil para mostrar o código a alguém. O próprio Snack em tem código aberto, disponível em seu repositório do GitHub.
Caso queira testar ou mostrar o aplicativo em funcionamento num dispositivo móvel de verdade, use o QR code disponível em "My Device", que fica sobre a telinha do dispositivo virtual.
Caso você já tenha um editor de texto ou IDE de sua preferência, faça o download do seu projeto, e use o expo cli).
Adicionalmente, o Expo oferece um fórum para dúvidas gerais e específicas.
A biblioteca react-native-fs figura como uma opção para a criação de ficheiros, entretanto se mostrou problemática no IDE Snack.
Dados da aplicação são salvos localmente e remotamente. Eles são organizados em três tipos de tabelas: um tipo para tabelas de contas, um tipo para tabelas de vagas, e um tipo para tabelas de registros ou logs.
Tabelas de registros ou logs servem para auxíliar a própria atividade do desenvolvimento da aplicação.
O armazenamento local de dados depende da plataforma.
Caso a plataforma seja Android ou iOS, o armazenamento local pode utilizar os componentes AsyncStorage e Cache, que amenizam problemas do usuário nas situações em que as consultas a bancos de dados remotos forem impossíveis. Isso significa que o Cache melhora a experiência do usuário. O referido componente copia para o sistema operacional local alguns dados que normalmente exigiriam consultas a serviços remotos.
Dada a urgência de uso, a implementação padrão irá provisoriamente utilizar planilhas online como bancos de dados.
Diretórios e ficheiros com códigos-fontes.
Abriga conteúdo visual e audiovisual.
Abriga os ficheiros locais de biblioteca, chamados de componentes.
Os estilos ficam concentrados no ficheiro /components/Styles.js.
Abriga dados, e.g., conta, vagas, registros, e etc.
Persiste registros.
Quanto à viabilidade da utilização de planilhas online como bancos de dados para situações urgentes.
[1] BARBADO JUNIOR, Marcio. projeto-rh-em-acao. 2024. 650 Industries. Disponível em: https://snack.expo.dev/@marcio.barbado/projeto-rh-em-acao, acessado em 30 de Abril de 2024.