Escolar Documentos
Profissional Documentos
Cultura Documentos
API REST.
Using Nextjs to build a web frontend using an API REST as Backend.
1
FREIRE, Victor Rodrigues; 2LIMA, Edilson Carlos Silva;
Abstract. Nowadays, the market that involves computing is on the rise for the
programming area like web, applications, or engineering (Hardware +
Software). Therefore, the coworking at ceuma needed a website to show its
junior companies and the projects of each company, to obtain more notoriety
and visibility. However, this article aims to show the use of the React framework
called Nextjs, as an aid to solve the proposed problem and using a REST API as
an aid.
Keywords: Web, Hardware, Software, Framework, API REST, Nextjs.
1. Introdução
O site é uma das principais ferramentas de divulgação, assim como as redes
sociais, o site diferente de uma rede social tem a possibilidade de vender online, ter maior
potencialidade nas buscas em sites de pesquisas como o google e um maior alcance se
bem divulgado. Com isso, o ceuma com a necessidade de divulgar, explanar e detalhar ao
público sobre suas empresas juniores e seus projetos, tiveram a necessidade de ter um site
para esse propósito.
Para o desenvolvimento do site do coworking foram utilizadas tecnologias com
nextjs (Um framework do React), utilizando a linguagem Javascript, sendo utilizado como
backend uma API REST. O site tem o propósito de mostrar os projetos e as empresas
juniores, para melhor divulgação e notoriedade dos mesmos.
Neste artigo vamos abordar alguns tópicos importantes, sendo eles: a
fundamentação teórica e metodológica no capítulo 2 deste artigo, no capítulo 3
discorreremos do site web que foi desenvolvido para auxiliar na problemática escrita na
introdução, no capítulo 4 falaremos sobre os resultados e discussões, no capítulo 5 sobre a
conclusão e trabalhos futuros, no capítulo 6 ressalto meus agradecimentos e por fim no
capítulo 7 encontram-se as referências utilizadas para a construção deste artigo.
2. Fundamentação Teórica
Neste capítulo, vamos abordar uma revisão literária dos assuntos essenciais para
o desenvolvimento de um site com o desenvolvido tendo ênfase em Nextjs e está dividido
nos seguintes itens: 2.1 Web, 2.2 Javascript, no item 2.3 React, no item 2.4 Front End
2.1- Web
A Web tem se tornado parte essencial da prática comum de negócios.
Atualmente, toda empresa ou negócio possui, independentemente de seu tamanho, um site
ou portal de conteúdo na internet. Com a expansão dos telefones celulares, um novo
mercado surge com possibilidades infinitas, levando a Web a lugares antes inimagináveis.
A Web pode ser também espaço de autopromoção, de organização de círculos sociais, de
entretenimento, sendo incrível seu alcance, seja a nível regional ou mundial. Apesar de
estar cada vez mais sofisticada, com recursos gráficos poderosos, sons, vídeos, efeitos
visuais, a Web nem sempre foi assim. Em seus primeiros anos (década de 1990) ela
possuía poucos atrativos visuais, com pouquíssimas fotos ou vídeos. Isto de devia ao fato
da baixa capacidade de processamentos dos computadores, bem como da baixíssima
velocidade da internet em seus primórdios. (SEHN, 2018)
A web cresceu muito desde a sua origem, hoje a web é indispensável para
diversos trabalhos, como por exemplo a venda de NFT’s e as Cripto Moedas que são
assuntos tendencias nos dias atuais, a web também trouxe a possibilidade de comunicação
quase instantânea, e com a chegada do 5G, em um futuro próximo poderemos afirma que
será instantânea.
2.2- Javascript
Se você já conhece outras linguagens de programação, talvez ajude saber que
Javascript é uma linguagem de alto nível, dinâmica, interpretada e não tipada, conveniente
para estilos de programação orientados a objetos e funcionais. A sintaxe de Javascript é
derivada da linguagem Java, das funções de primeira classe de Scheme e da herança
baseada em protótipos de Self. Mas não é preciso conhecer essas linguagens nem estar
familiarizado com esses termos para utilizar este livro e aprender Javascript
(FLANAGAN, 2013).
A linguagem Javascript é uma das linguagens mais utilizadas nos dias atuais e
uma das maiores linguagens do mercado de desenvolvimento web, o Javascript tem
diversos frameworks e bibliotecas que facilitam o desenvolvimento de sites e web Apps, o
Javascript também trouxe ao desenvolvimento web uma facilidade no desenvolvimento de
sites responsivos (que são sites que rodam em qual quer tamanho de tela).
2.3 - React
A React é uma biblioteca para construção de UIs – ela ajuda você a definir a UI
de uma vez por todas. Então, quando o estado da aplicação mudar, gastar metade do corpo
de sua função procurando nós do DOM; tudo que você deve fazer é manter o estado (sua
aplicação (com um velho objeto Javascript comum), e o restante simplesmente se resolve.
Conhecer a React é um bom negócio, você pode criar aplicações nativas com desempenho
e controles nativos (controles realmente nativos, e não cópias com aparência nativa)
usando as mesmas ideias (STEFANOV, 2019).
O React é um dos frameworks (o React é considerado um framework do ponto de
vista do seu ecossistema) que estão em alta, o motivo para ele e outros estarem é alta é o
fato deles terem uma curva de aprendizado simples.
2.3.1- Nextjs
O desenvolvimento web mudou muito nos últimos anos. Antes do advento das
estruturas Javascript modernas, a criação de aplicativos da Web dinâmicos era complexa e
exigia muitas bibliotecas e configurações diferentes para que funcionassem conforme o
esperado. Angular, React, Vue e todos os outros frameworks permitiram que a web
evoluísse muito rapidamente e trouxeram algumas ideias muito inovadoras para o
desenvolvimento web front-end. (RIVA, 2022)
A partir desses frameworks e bibliotecas, surgiram outros frameworks e um deles
foi o nextjs que trouxe os benefícios do React para um outro nível, deixando o
desenvolvimento menos complexo e mais reativo e dinâmico.
2.4.2- Axios
Axios é um cliente HTTP baseado-em-promessas para o node.js e para o
navegador. É isomórfico (= pode rodar no navegador e no node.js com a mesma base de
código). No lado do servidor usa o código nativo do node.js - o modulo http, enquanto no
lado do cliente (navegador) usa XMLHttpRequests. (AXIOS, 2020)
A biblioteca Axios é uma ferramenta que auxilia na comunicação com API’s, ela
é uma ferramenta que contém tratamentos de erros e uma melhor depuração durante uma
comunicação com uma API, ela é uma biblioteca utilizada na linguagem Javascript.
2.4.3- Tailwind
Tailwind é um conjunto de classes utilitárias reutilizáveis de baixo nível que
podem ser usadas como blocos de construção para criar praticamente qualquer projeto que
possamos imaginar. Essa estrutura que prioriza o utilitário cobre as propriedades CSS
mais importantes, mas pode ser facilmente estendida de várias maneiras. Ele pode ser
usado para prototipagem rápida ou para criar projetos completos. (GERCHEV, 1978)
O Tailwind é um dos principais Design System que são utilizado no
desenvolvimento de sites, no brasil ele ainda não é muito utilizado, mas em outros países
como os EUA eles são um dos requisitos para se conseguir uma vaga de emprego.
3. Desenvolvimento do site
Nesse capitulo, será abordado como o site foi desenvolvido e como cada
tecnologia foi utilizada para chegar ao objetivo de criar um site para o Ceuma, por tanto,
os tópicos estão na seguinte ordem: no item 3.1 relata sobre o uso do nextjs como um
facilitador para a criação de rotas, utilizando como base o React. No item seguinte o 3.2
relata sobre a organização visual do site e sua estilização utilizando um Postcss (uma folha
de estilo pre-processada) chamado Tailwind e flowbite e obtendo dados da API REST
através do módulo chamado Axios.
A figura 1 mostra que as rotas principais presentes no site são User, e a rota raiz
que seria “/”, a rota raiz é a rota padrão do site, exemplo: https://host.com.br (rota raiz),
https://host.com.br/user (rota não raiz).
As sub-rotas do site é possivel ver pelas figuras 2, 3 e 4:
Parceiros: onde contem todo o método CRUD (Create, Read, Update, Delete) para
a criação de cadastro de novos parceiros, edição de cada parceiro, remoção de cada parceiro
e alteração de valores de cada parceiro, como mostra a figura 4.
A página inicial, parceiros foi pensada para mostar os parceiros das empresas
juniores. Os dados mostrados nessa página são dinamicos e estão sendo obtidos através da
API REST, utilizando um módulo do react chamado Axios, o Axios possibilita fazer
requisições HTTP, já com tratativas (exeptions) implementadas por ele, ele também
possibilita uma requisição mais segura pois já contem também proteções contra ataques
hackers. A requisição utilizada é o método GET.
Figura 8. Home - Empresas
Fonte: Autoral, 2022
Na página inicial, há também uma parte que mostra os projetos que o coworking
desenvolve e a empresa que desenvolve o projeto, nessa parte o usuário tem a capacidade de
ver sobre a empresa especifica do projeto ou ver sobre o projeto especifico.
Figura 10. Studio - Parceiros
Fonte: Autoral, 2022
Com o usuário logado, na página de parceiros o usuário como administrador pode adicionar
um novo parceiro, editar um parceiro, excluir um parceiro e ver todos os parceiros
cadastrados. O menu de edição e exclusão podem ser vistos na figura 11.
4. Resultados e Discussões
Também foi realizada uma pesquisa, com o objetivo de obter informações sobre a
usabilidade e a interação do usuário com a interface com o objeto de identificar falhas ou
melhorias que poderiam ser realizadas. A pesquisa obteve 150 entrevistados com o público
alvo, os alunos e pessoas relacionadas ao Ceuma. Foram feitas 4 perguntas dissertativas,
sendo as três primeiras acompanhadas pelas imagens do site e a última sobre quais
melhorias poderiam ser realizadas, veja os resultados:
1. Questionando se os entrevistados tem algumas dificuldades em utilizar sites:
2. A próxima pergunta, questiona aos usuários se eles seriam capazes de navegar pelo
site sem dificuldades:
Com essa pergunta foi possível notar que ainda sim, a maioria dos usuários
(98%) conseguiriam utilizar o site tranquilamente. Por outro lado, os outros 2% dos
entrevistados demostraram dificuldades para navegar entre as empresas na página
inicial.
5. Conclusão
FLANAGAN, David. Javascript: O guia definitivo. 6. ed. Porto Alegre: Bookman, 2013.
STEFANOV, Stoyan. Primeiros passos com React: Construindo aplicações web. 1. ed.
São Paulo: Novatec, 2019.
SAUDATE, Alexandre. APIs REST: Seus serviços prontos para o mundo real. Digital:
Casa do Código, 2021.
EIS, Diego. Guia Front-End: O caminho das pedras para ser um dev front-end. Digital:
Casa do Código, 2014.
RIVA, Michele. Real-World Next.js: Build scalable, high-performance, and modern web
applications using Next.js, the React framework for production. 1. ed. BIRMINGHAM:
Packt Publishing Ltd, 2022.
GERCHEV, Ivaylo. Tailwind CSS: Craft Beautiful, Flexible, and Responsive Designs.
Austrália: SitePoint, 1978.