O JavaScript sem servidor é usado para construir aplicativos da web sem servidor com latência mínima.
Após ler este artigo, você será capaz de:
Copiar o link do artigo
JavaScript sem servidor é um código JavaScript que compreende todo um aplicativo ou parte dele, sendo executado apenas quando solicitado. Não é hospedado em servidores de propriedade exclusiva. Ele permite que os desenvolvedores criem aplicativos sem servidor de alto desempenho e baixa latência (como os aplicativos JAMstack) que são executados em uma rede e evitam muitos problemas associados a outros aplicativos sem servidor, como as inicializações a frio.
Sem servidor O JavaScript é hospedado em uma rede de borda ou por um serviço de armazenamento em cache HTTP, que armazena conteúdo para responder rapidamente às solicitações HTTP. Os desenvolvedores podem escrever e implantar funções JavaScript que processam solicitações HTTP antes que elas percorram todo o caminho até o servidor de origem .
Ao utilizar o JavaScript sem servidor, é possível ampliar a funcionalidade e melhorar a experiência do usuário dos aplicativos existentes executando o código na borda, ou criar um novo aplicativo totalmente sem servidor que seja rápido e altamente escalável. O Cloudflare Workers é uma plataforma JavaScript sem servidor.
Varnish é um acelerador web projetado para acelerar os aplicativos web e melhorar o desempenho do site. É um proxy reverso HTTP de armazenamento em cache, o que significa que ele reside na frente de qualquer servidor web e acelera o tráfego HTTP de e para esse servidor por meio de caching, ou armazenamento em cache, de qualquer conteúdo que seja solicitado com frequência pelos clientes web. A linguagem de configuração Varnish, ou VCL, é usada juntamente com o Varnish para permitir que os desenvolvedores personalizem a forma como o Varnish gerencia as solicitações web.
VCL é uma linguagem de configuração desenvolvida para facilitar a configuração do cache do Varnish; não é uma linguagem de programação completa. A VCL não é flexível o suficiente para construir ou expandir aplicativos robustos. Em comparação com o JavaScript, é uma linguagem limitada em termos do que permite fazer. Além disso, a VCL não é utilizada fora das implementações do Varnish e, consequentemente, a maioria dos desenvolvedores não está familiarizada com ela. Por outro lado, o JavaScript é onipresente e já é amplamente utilizado na criação de aplicativos. O uso do JavaScript em uma arquitetura sem servidor permite que os desenvolvedores construam aplicativos completos em uma linguagem com a qual estão familiarizados.
O JavaScript sem servidor permite que um grupo mais amplo de desenvolvedores aproveite a computação sem servidor na borda, permitindo que esses desenvolvedores criem uma maior variedade de aplicativos.
O JavaScript sem servidor é executado em uma rede de armazenamento em cache HTTP, que está mais próxima do usuário final do que o código hospedado em um servidor de origem. Dessa forma, as solicitações não precisam percorrer todo o caminho até o servidor de origem e voltar, e o aplicativo responde muito mais rapidamente às interações do usuário. Quanto mais geograficamente distribuídas forem as localizações de borda de uma rede de armazenamento em cache, maior a redução da latência.
Em um modelo sem servidor, os aplicativos são divididos em funções, e o código de função é executado em resposta a determinados eventos: ele não é executado de outra forma. O evento que aciona o JavaScript sem servidor a ser executado é uma solicitação HTTP. Os desenvolvedores podem personalizar o tipo de solicitações HTTP às quais suas funções JavaScript respondem e a forma como a solicitação HTTP será alterada ou atendida.
É uma solicitação enviada pelo HTTP (protocolo de transferência de hipertexto) de um cliente para um servidor. Os navegadores convertem as ações dos usuários, como clicar em um hiperlink ou enviar um formulário, em solicitações HTTP. A solicitação é então enviada para o servidor, e o servidor envia uma resposta HTTP para atender à solicitação. Uma solicitação HTTP também ocorre quando um aplicativo faz uma chamada de API.
Armazenamento em cache HTTP é quando um servidor ou um navegador salva uma cópia de uma resposta a uma solicitação HTTP do usuário a fim de produzir respostas mais rápidas a futuras solicitações. Um servidor de CDN é um exemplo de cache HTTP. Alguns serviços de armazenamento em cache HTTP permitem que os desenvolvedores personalizem a forma como o armazenamento em cache HTTP funcionará para seus aplicativos.
A Cloudflare é uma rede de armazenamento em cache HTTP com data centers em todo o mundo que permite aos desenvolvedores escrever e implantar seu próprio JavaScript na borda de rede. Na rede Cloudflare, o armazenamento em cache HTTP não ocorre em nenhum servidor específico, mas sim dentro de qualquer data center que estiver mais próximo da origem da solicitação HTTP.
Service workers são scripts que os navegadores baixam e executam para criar experiências personalizadas para os usuários. Os service workers viabilizam recursos como notificações push, sincronização em segundo plano e funcionalidade off-line no navegador. Escritos em JavaScript, eles interceptam, modificam e respondem às solicitações HTTP antes que elas cheguem à internet.
Os service workers podem responder às solicitações HTTP sem entrar em contato com o servidor web
Os service workers podem modificar as solicitações e respostas HTTP
Cloudflare Workers é uma plataforma destinada a permitir que funções sem servidor sejam executadas o mais próximo possível do usuário final. Basicamente, o próprio código sem servidor é "armazenado em cache" na rede e executado quando recebe o tipo certo de solicitação. Os Cloudflare Workers são escritos em JavaScript, em comparação com os service workers API, o que significa que eles podem usar todas as funcionalidades oferecidas pelos service workers. Eles aproveitam o motor Chrome V8 para a execução. O código do Cloudflare Workers é hospedado na vasta rede de data centers da Cloudflare ao redor do mundo.
Chrome V8, também conhecido apenas como "V8", é um motor JavaScript desenvolvido pelo Google para compilação, otimização e execução do JavaScript. Ao usar o V8 para execução do código JavaScript, o tempo de inicialização para os workers do JavaScript é bastante reduzido, eliminando o problema das "inicializações a frio"' na maioria dos casos. O V8 também é fortemente analisado quanto às vulnerabilidades de segurança, o que o torna ideal para executar o código JavaScript de forma segura.
Uma das principais diferenças entre o uso do Cloudflare Workers e o uso dos service workers é que os service workers são executados no lado do cliente e precisam ser baixados pelo navegador do usuário, enquanto o Cloudflare Workers é executado na borda da rede da Cloudflare entre o usuário e o resto da internet, sendo executado efetivamente dentro da própria rede.
Saiba mais sobre o Cloudflare Workers e sobre o motivo para a criação do Cloudflare Workers.