Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Relação de Front-end com o Back-end

Pode parecer meio bobo e até confusa, mas... Estou com dúvida de como é feito o processo de interação do codigo do back-end com o de front-end.

Comecei os meus estudos aqui através do Vba, onde eu mesmo ali construi meus macros e formulários, e facilmente ja acontecia a interação do codigo com o usuário.

Mas agora parto para o java, e me encontro com a dificuldade de como fazer o codigo que fiz no back-end com o java, interagir com o usuário.

Tô ligado que existe bibliotecas do java para construir interfaces e tals, como é o caso do Swing, mas tipo, vejo o java sendo uma linguagem de back-end e me parece errado o utilizar para algo do front-end.

Tipo, penso que na programação funciona da seguinte forma, uma linguagem do Back-end deve ser utilizado para o Back-end, e uma linguagem do Front-end deve ser utilizada para o front-end. Tá errado essa linha de pensamento?

1 resposta
solução!

Olá Robert! Tudo bem?

Muito boa a sua dúvida!

Quando falamos em Front-end e Back-end, estamos nos referindo ao desenvolvimento de aplicações Web.

Nesse contexto o Java é utilizado para o desenvolvimento back-end, ou seja, desenvolvimento no lado dos servidores, bancos de dados... tudo o que não está em contato direto com o usuário, mas que é necessário para que a aplicação web funcione.

A questão do uso do Java para interfaces web se dá por meio do padrão MVC, onde fazemos as camadas de modelo, visualização e controle. Utilizando esse padrão nós realmente fazemos a interface com recursos do Java, por meio de JSP. Esse no entanto, é um recurso do pacote Java EE, que hoje em dia é encontrado geralmente em projetos legados (projetos antigos). Os projetos que utilizam as tecnologias mais modernas com Java, geralmente envolvem a produção de APIs REST com frameworks como Spring Boot (o mais utilizado). Essas APIs produzidas em Java são utilizadas pelas interfaces feitas pelo Front-end, com Javascript e seus frameworks. De forma geral é assim que está o ecossistema atual, se levarmos em conta o que temos de mais moderno na utilização do Java para web.

A respeito do swing que você citou... trata-se na verdade do uso do Java para aplicações desktop e não aplicações web. Tanto o swing quando o Java FX são frameworks voltados especificamente para produção de aplicações desktop com Java, e portanto envolvem sim a produção da interface da aplicação com o próprio Java. Mas é importante lembrar que a maneira como essas aplicações são desenvolvidas é diferente da maneira como as aplicações web interagem com suas interfaces.

A respeito do uso ou não de linguagens mais voltadas ao back-end para criar interfaces, ou de linguagens voltadas a criação de interfaces sendo utilizadas no back-end... é bem complicado afirmar que algo deve ou não ser utilizado.

Pensando no Java especificamente, o recurso do Java EE que nos permite criar interfaces com JSP foi muito útil por anos... hoje em dia não é mais a primeira opção e com certeza não é a mais utilizada para novos projetos Java Web. Mas isso não significa que o Java não dê suporte a esse tipo de uso. Da mesma forma que o Javascript foi idealizado como a linguagem dos navegadores web, com o objetivo totalmente ligado a visualização das páginas web, e que mais tarde passou a ser usado também no back-end.

Nada impede que essas mudanças ocorram com o tempo. As linguagens evoluem, seus ecossistemas crescem, novas ferramentas passam a possibilitar seu uso em áreas que inicialmente não eram o objetivo da linguagem. O que mais influencia na escolha de determinada linguagem para seu uso no Front-end ou Back-end é o custo que isso traz para a organização. E quando falamos em custo, pensamos não só no imediato, mas também nos custos de manutenção, na confiabilidade que as ferramentas dessa linguagem oferecem, segurança e escalabilidade das aplicações.

Ou seja, sempre temos mais de uma aplicação para qualquer linguagem que seja... o que nos ajuda a decidir onde desejamos utilizar ela é onde ela demonstra vantagens em relação às demais.

Espero ter ajudado a refletir um pouco sobre o assunto... perceba que não existe uma resposta única para isso... as escolhas dependem das nossas necessidades.

Vou deixar aqui abaixo alguns conteúdos adicionais que podem ser interessantes e agregar ainda mais no assunto:

Se houver algo mais em que eu possa te ajudar nesse assunto, é só falar! 😄

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.Bons Estudos!