Pois é o seguinte, em minha mente tenho muito claro os conceitos de front-end e back-end, porém, conversando com um colega eu cheguei a algumas dúvidas que estão me matando, que são pontualmente:
Se eu utilizar uma linguagem back-end como o Java para fazer uma interface no meu programa eu estou realizando algo “front-end” ?
Uma linguagem back-end criar qualquer coisa gráfica é considerado algo front-end?
Como que a Linguagem PHP é utilizada pra desenvolver sites se ela é back-end?
C é back-end… certo?
São algumas perguntas um tanto quanto… “burras”, mas isso acabou me confundindo bastante…
Não existe “linguagem back-end” ou “linguagem front-end”. Existe aplicações da linguagem para tal fim. Por exemplo, eu posso usar Java pra back e front, não significa que a linguagem é unica e exclusivamente para aquilo (e é OBVIO que existem exceções)
1-Depende, se for aplicação Desktop eu não considero que exista front-end.
O Java tem um Framework web chamado JSF, com ele é possível desenvolver o front-end e o back-end
O código gerado pelo JSF é HTML, CSS e JS, assim como qualquer framework responsavel por gerar componentes
2-Mesma resposta que o item acima
3-O que é adotado hoje em dia é o seguinte:
O backend recebe um JSON do frontend, então faz o que tiver que ser feito no backend e então devolve um novo JSON para o frontend. O frontend recebe o JSON e monta a interface com os dados do JSON
Exemplo:
Temos uma página que é de consulta de usuarios, nesta página nós gostarimos de consultar todas as ações do usuario 5006, logo mandariamos pro backend um JSON com o id 5006 e outros parametros desejados (filtros, etc), o backend pega os dados do banco e devolve um JSON pro frontend com as informações da consulta ao banco. O frontend então monta a tabela com essas informações
O Front-end pode ser Bootstrap + JS, as vezes não é nem necessário que tenha um framework js como o Angular, React ou Vue
--------------------------------------------------
Ação | Data |
--------------------------------------------------
Excluiu o produto X | 04/12/2018 11:05 |
Consultou a lista de produtos | 04/12/2018 11:42 |
--------------------------------------------------
Obrigado pelas respostas, agora tudo está mais claro.
De modo geral então, tudo depende da aplicação, e então a tecnologia será usada de acordo com o que for necessário pra aplicação. Existem linguagens de programação que são mais usadas pra back e outras mais pra front, existem algumas que suportam coisas de ambas, outras que não.
@FearX muito obrigado pela resposta, muito clara e objetiva.
@Mike muito obrigado pela resposta, consegui entende-la com clareza, aliás, uma pergunta quanto ao primeiro ponto, você diz: