O que é desenvolvimento web?
Desenvolvimento web é o termo utilizado para descrever o desenvolvimento de sites, na Internet ou numa intranet. O profissional que trabalha desenvolvendo websites pode ser um web designer (desenvolvedor do layout) ou um web developer (desenvolvedor de sistemas).
O desenvolvimento refere-se a um processo de construção e testes do software especifico para a web, com a finalidade de se obter um conjunto de programas, que satisfazem as funções pretendidas, quer em termos de usabilidade dos usuários ou compatibilidade com outros programas existentes.
O desenvolvimento web pode variar desde simples páginas estáticas a aplicações ricas, comércios eletrônicos ou redes sociais.
Áreas de atuação
Front-end
O desenvolvimento front-end da web é a prática de converter dados em uma interface gráfica, por meio do uso de HTML, CSS e JavaScript, para que os usuários possam visualizar e interagir com esses dados. Existem várias ferramentas e plataformas, como WordPress , Joomla e Drupal , disponíveis que podem ser usadas para desenvolver o front-end de um site, e entender quais ferramentas são mais adequadas para tarefas específicas marca a diferença entre desenvolver um site hackeado e um site bem projetado e escalável.
Hyper Text Markup Language
Hyper Text Markup Language (HTML) é a espinha dorsal de qualquer processo de desenvolvimento de website, sem o qual uma página da web não existe.
Hipertexto significa que o texto possui links, chamados de hiperlinks, embutidos nele. Quando um usuário clica em uma palavra ou frase que tem um hiperlink, ele traz outra página da web.
Uma linguagem de marcação indica que o texto pode ser transformado em imagens, tabelas, links e outras representações. É o código HTML que fornece uma estrutura geral de como o site ficará.
HTML foi desenvolvido por Tim Berners-Lee. A última versão do HTML é chamada de HTML5 e foi publicada em 28 de outubro de 2014 por recomendação W3. Esta versão contém maneiras novas e eficientes de lidar com elementos como arquivos de vídeo e áudio.
Cascading Style Sheets (CSS)
Cascading Style Sheets (CSS) controla o aspecto da apresentação do site e permite que seu site tenha sua própria aparência exclusiva. Ele faz isso mantendo as folhas de estilo que seguem outras regras de estilo e são acionadas com base em outras entradas, como o tamanho da tela do dispositivo e a resolução.
JavaScript
JavaScript é uma linguagem de programação imperativa baseada em eventos (em oposição ao modelo de linguagem declarativa do HTML ) que é usada para transformar uma página HTML estática em uma interface dinâmica.
O código JavaScript pode usar o Document Object Model (DOM), fornecido pelo padrão HTML, para manipular uma página da web em resposta a eventos, como entrada do usuário. Usando uma técnica chamada AJAX, o código JavaScript também pode recuperar ativamente conteúdo da web (independentemente da recuperação da página HTML original) e também reagir a eventos do lado do servidor, adicionando uma natureza verdadeiramente dinâmica à experiência da página da web.
WebAssembly
WebAssembly, suportado por todos os principais navegadores (ou seja, dos principais fornecedores Google, Apple, Mozilla e Microsoft), é a única alternativa ao JavaScript para a execução de código em navegadores da web. Antes de sua adoção, havia o asm.js (um subconjunto do JavaScript), que também é usado como um alvo de compilador com suporte eficiente em navegadores como o Internet Explorer 11; e para navegadores que não suportam WebAssembly diretamente, ele pode ser compilado para asm.js e os navegadores suportados dessa forma. Em geral, os programadores não programam em WebAssembly (ou asm.js) diretamente, mas usam linguagens como Rust, C ou C ++ ou, em teoria, qualquer linguagem que seja compilada para ele.
Back-end
Essa forma de desenvolvimento se relaciona com o que está por trás das aplicações desenvolvidas na programação. Ou seja, tudo que dá estrutura e apoio às ações do usuário da máquina é chamado de back-end.
Quando acessamos um site, por exemplo, por trás de toda sua apresentação amigável esteticamente, há uma comunicação das informações trocadas entre banco de dados e navegador. Portanto, por trás da interface gráfica do realizador, o back-end está sempre agindo.
Enquanto os desenvolvimentos de front-end estão relacionados à área visual de aplicações, como design, forma da disposição de seções de texto e imagens, apresentação, linguagens HTML, CSS, cores e outros pontos; o desenvolvimento de back-end é tudo aquilo que possibilita o funcionamento.
Sendo assim, front-end e back-end estão bastante ligados, porém o segundo é voltado aos bancos de dados e servidores; responsável por atualizações, mudanças, segurança, gerenciamento de conteúdo, estrutura, etc. Se tomarmos o exemplo das redes sociais, seu funcionamento só é possível com um banco de dados que contenha informações como nome, data de nascimento, foto de perfil, e por aí vai.
As vertentes da programação podem se enveredar por diferentes caminhos. Ou seja, um software developer pode trabalhar na área de front-end ou back-end. Quando seu domínio atinge os dois lados, sua denominação passa a ser Full Stack.
O desenvolvimento da linguagem back-end passa por diversas etapas, desde o planejamento até a construção, a implantação e os cuidados com a manutenção da estrutura que suporta a aplicação.
Como o back-end é considerado o centro nervoso de qualquer site, suas tarefas podem até parecer menos palpável, uma vez que não se relacionam diretamente com a parte de design e jamais são vistas pelo usuário externo. Portanto, é indicado conhecer linguagens de programação como Java, TypeScript, Node.js, PHP, Python, etc. Além disso, possíveis problemas devem ser antecipados e evitados antes mesmo que aconteçam.
Bancos de dados e servidores
Um servidor é o responsável por fornecer serviços aos computadores. Os bancos de dados, por sua vez, são como uma enorme fonte de informações, e é por meio deles que as aplicações se tornam dinâmicas. Ao fazer uma pesquisa, o resultado é trazido de acordo com a busca no banco de dados. Podemos dizer então que esse centro de informações é acessado de maneira indireta, a partir de uma aplicação externa.
Segurança de dados
Em um momento que a transformação digital praticamente dita os processos dentro do mundo corporativo, dados são considerados um patrimônio de muito valor e são constantemente alvo de ataques.
Dessa maneira, ao programar em back-end, o desenvolvedor deve sempre seguir as melhores práticas, alinhadas a um padrão de segurança que seja confiável e resistente a invasões, principalmente referente a roubos de informações pessoais.