A programação web é uma programação de computador que permite a edição de websites . Permite a criação de aplicações, destinadas a serem implantadas na Internet ou na Intranet . Esses aplicativos da web consistem em páginas da web que podem assumir diferentes formas, como:
Para um usuário da Internet que usa um URL , a página da web correspondente, seja estática ou dinâmica, consiste em um código "cliente" ( HTML , CSS , Javascript , etc.) que é interpretado por seu navegador ( Google Chrome , Firefox ,. ..) produzindo uma interface de usuário . Este código, que é retornado por um servidor da web , pode ou não ter sido gerado por computação do "lado do servidor", por meio de linguagens de programação específicas, que podem chamar bancos de dados , APIs, etc.
Existem diferentes tecnologias e diferentes linguagens que permitem construir sites através de servidores web , podendo portanto ser classificados de acordo com dois princípios: as linguagens de programação do lado do cliente ou do lado do servidor . Esta distinção é feita para separar as linguagens do "lado do servidor" cujo código é executado no servidor web antes de chegar ao navegador do usuário, das linguagens do "lado do cliente" cuja execução não requer cálculo na web. Servidor web, mas , somente após o download da página, uma interpretação pelo navegador do usuário.
Quando um visitante solicita uma página digitando um endereço ou URL , o servidor web envia de volta o conteúdo da página solicitada, na maioria das vezes em HTML , Javascript ou XML .
É então o navegador que interpreta o conteúdo retornado, utilizando ou não plug-ins que interpretam determinados objetos.
A programação "do lado do cliente" (ou desenvolvimento web front-end ) consiste na produção de código (HTML, CSS , Javascript, ...) que será interpretado por um navegador da web (ou uma janela, para software de desktop ou aplicativos móveis) e será produzir uma renderização visual: uma interface de usuário ( UI ), e certos elementos que permitirão a navegação, links, com outras páginas ( UX ).
Qualquer página da web inclui uma base de linguagem HTML ou XHTML . É uma linguagem de marcação que basicamente define a estrutura da página web (títulos, tabelas, parágrafos, listas, etc.).
Inicialmente, é uma linguagem que permite a criação de hiperligações , nomeadamente ligações de um documento para outro ou de um local num documento para outro local no mesmo documento ( identificador de fragmento ).
Esta linguagem inicialmente apenas definia a estrutura da página, mas muito rapidamente foram adicionados beacons (ou tags ) que se encarregaram de especificar as características da página web (hierarquia de conteúdo, atributos dados às tags, etc.).
Desde a versão 4, o HTML é acompanhado pelo CSS, estilos que cuidam da formatação e animação da página.
XHTML é uma evolução do HTML baseada em XML .
Inserindo objetos em HTMLPara tornar uma página web mais dinâmica em HTML, é possível inserir objetos, usando as tags <object>, <img>, <applet> ou <script> por exemplo.
FotosUm primeiro tipo de objeto são as imagens integradas na página da web. As imagens são geralmente estáticas, exceto para GIFs animados .
Portabilidade Tanto quanto nós limitar -nos a padrão formatos de arquivo para a web (. .Gif, .jpg ou Jpeg . E PNG ), as imagens são, sem dúvida, um dos mais objetos multiplataforma na web: a maioria dos navegadores da Web pode exibir imagens. Configurando As imagens digitais estão se tornando um meio muito "público em geral" e são muito fáceis de implementar em um site usando a tag img. MultimídiaIntegração de documentos multimídia ( som ou vídeo ).
Configurando Uma vez que o arquivo de som ou vídeo foi produzido, a colocação na página HTML pode ser feita, em HTML5 , por meio das tags <audio> ou <video>. Desempenho Os arquivos multimídia costumam ser pesados e, portanto, demoram muito para serem baixados. Eles podem reduzir o desempenho (tempo de carregamento) da página da web. No entanto, existem tecnologias que permitem a reprodução em streaming . Até o início da década de 2010Animação em flash
Flash (da Adobe Systems - Macromedia ) é um programa que permite criar animações em um formato vetorial proprietário relativamente leve. O programa gera um arquivo com a extensão .fla que é o arquivo de trabalho e que será 'compilado' em um arquivo com a extensão .swf. Swift é outro programa que gera arquivos swf fora da esfera da Macromedia .
Em uma página da web, uma animação Flash (arquivo com extensão .swf) pode ser integrada como parte da página (um anúncio, um menu, ...) ou toda a página pode estar em flash, mas sempre haverá um esqueleto HTML .
Flash permite criar animações de qualidade, permite alguma interação com o usuário graças à linguagem de programação ActionScript (derivada de ECMAScript como JavaScript ). As versões mais recentes do Flash também permitem a interface com um banco de dados.
Adobe Flash Player será oficialmente descontinuado em dezembro de 2020, bem como seu suporte em navegadores da web.
Miniaplicativo Java (miniaplicativo)
Também é possível criar pequenos programas com interface em uma linguagem de programação como Java . Esses pequenos programas são chamados de miniaplicativos ou miniaplicativos . Eles são completamente autônomos, mas possivelmente configuráveis e podem ser integrados em uma página da web. Eles são baixados com a página da web e executados pelo computador cliente.
O código é independente de plataforma graças à máquina virtual Java .
ActiveX
ActiveX é uma solução de criação de aplicativos desenvolvida pela Microsoft . Os princípios de funcionamento são muito semelhantes ao funcionamento dos miniaplicativos. Veja também o Modelo de Objeto Componente
Limitações de HTMLUma página web criada em HTML é totalmente estática e oferece poucas possibilidades de interação com o visitante. Cada página deve ser criada com antecedência e deve ser atualizada manualmente.
HTML é multiplataforma. Todos os navegadores da web reconhecem a linguagem HTML básica, apenas algumas tags ou atributos são específicos para determinados navegadores. Os CSS, mesmo que sejam padronizados pelo W3C , nem sempre são reconhecidos da mesma forma por diferentes navegadores.
ConfigurandoO HTML tem a vantagem de ser fácil de configurar e não requer habilidades técnicas muito avançadas. Suas páginas são muito leves e de processamento rápido pelo servidor.
XML ( eXtended Markup Language )A linguagem de marcação XML também pode ser a base de uma página da web. O arquivo XML conterá o conteúdo da página da web.
Este arquivo pode ser vinculado a um arquivo XSL (XML Style Sheets) que formatará os dados no arquivo XML.
Na maioria das vezes, a página da web não será baseada em um arquivo XML nativo, mas será gerada dinamicamente por uma das linguagens de programação da web abaixo.
CSS (folhas de estilo em cascata) é uma linguagem de programação para formatar uma página da web. HTML e CSS são complementares.
A programação do lado do cliente usa linguagens de script. Ao contrário das linguagens de programação do lado do servidor, essas linguagens não são compiladas. Eles são interpretados pelo navegador do visitante.
As linguagens de script são utilizadas inicialmente no caso de validação de formulários (campos obrigatórios, pequenos cálculos, etc.) e na criação de animações no navegador do usuário (menus suspensos, atualização do conteúdo sem recarregar a página,… ) Porém, hoje eles permitem que muito mais seja feito, como a criação de videogames (API Canvas), a criação de ambientes sonoros (API Web Audio), comunicação em tempo real (API RTC), etc.
A partir de meados da década de 2010, a programação Script tornou-se muito comum para o desenvolvimento de aplicações web completas com a chegada de plataformas de software e frameworks open-source baseados em JavaScript , bem documentados e amplamente recomendados pela comunidade de desenvolvedores, como o programa Node.js. , mas também os frameworks e bibliotecas Vue.js (independente), ReactJS (Facebook) ou AngularJS (Google).
Existem, historicamente, várias linguagens de script:
Quando um visitante solicita (ou solicita ) o carregamento de uma URL em seu navegador, uma chamada (na maioria das vezes via HTTP ou HTTPS ) é feita no servidor web que hospeda o site correspondente. O servidor web irá então identificar o (s) script (s) (escrito (s) em uma linguagem do “lado do servidor”) correspondente a este URL e solicitar sua execução. A execução resultará então em um conteúdo HTML, que será enviado em resposta ao visitante, legível por seu navegador.
A programação "server side" consiste portanto em produzir código cuja execução, cálculo e recuperação de dados externos ( bases de dados , API , etc.) resultará no envio de conteúdos ao cliente. Este conteúdo pode ser um código do "lado do cliente".
É possível configurar um servidor web utilizando o programa Node.js , expondo URLs, notadamente via Express.js , a um projeto de código desenvolvido em Javascript.
PHPPHP ( PHP: Hypertext Preprocessor ) é uma linguagem de script interpretada no lado do servidor. O código PHP é lido pelo servidor e interpretado para produzir uma página HTML (ou outros tipos de arquivo como imagens ou documentos PDF) cada vez que a página é solicitada. Esta linguagem foi originalmente criada como parte de um software de código aberto . Muitos desenvolvedores aproveitaram o código aberto para desenvolver vários módulos prontos para uso que podem ser configurados à vontade.
Módulos de servidor PHP são implementados em servidores Apache e Unix, mas PHP pode ser implementado em outras plataformas via CGIs.
A sintaxe é relativamente simples, a partir de uma base de C .
Frameworks notáveis: Symfony , Laravel
PitãoDjango : framework de código aberto amplamente usado para construir e implantar um aplicativo do lado do servidor em Python .
RubiRuby on Rails : framework de código aberto amplamente usado para construir e implantar um aplicativo do lado do servidor em Ruby .
JavaÉ possível desenvolver um site do "lado do servidor" em C ++, em particular com frameworks como Wt ou CppCMS, por exemplo.
Tecnologias MicrosoftColdFusion é uma tecnologia de criação de página dinâmica desenvolvida pela Macromedia . As páginas do aplicativo são páginas da web que contêm instruções de programação escritas em uma linguagem proprietária, CFML ( ColdFusion Markup Language ). CFML é uma linguagem simples baseada em tags cuja sintaxe é semelhante à do HTML, mas interpretada pelo servidor.
Cada uma dessas linguagens, para possibilitar a construção de páginas cujos conteúdos e dados são construídos dinamicamente de acordo com a utilização de usuários ou outros parâmetros externos, pode recorrer a uma ou mais bases de dados .
Existem muitos tipos: dBase, filePro, Firebird / InterBase, FrontBase, IBM DB2, Cloudscape, Informix, Ingres, EDBC, Enterprise Access, Mssql, MySQL , PostgreSQL , SQLite, SQLite3, SQLSRV, Sybase.
Ajax ( Asynchronous JavaScript And XML ) é uma tecnologia, com suas vantagens e desvantagens, que combina vários elementos:
Essa tecnologia permite realizar uma solicitação HTTP assíncrona (em paralelo) de um cliente para o servidor web (realizar uma ação, atualizar informações, etc.). O servidor retorna o recurso solicitado, que pode conter informações ou código para atualizar a página HTML.