Aguarde...

24 de maio de 2019

Por que o JavaScript é onipresente no desenvolvimento moderno?

Por que o JavaScript é onipresente no desenvolvimento moderno?

O que é JavaScript (em termos leigos)

Por que o JavaScript é onipresente no desenvolvimento moderno?

Quando você é novo em alguma coisa, você normalmente procura definições e acaba na Wikipédia. No caso do JavaScript, você pode acabar com mais perguntas do que você veio com.

Você vai ouvir e ler muito que é uma linguagem de programação do lado do cliente, o que é verdade. Mas também é meio diminutivo para o que o JavaScript realmente é hoje. Mas nós voltaremos a isso mais tarde.

Por enquanto, digamos simplesmente que o JavaScript é uma ferramenta para os desenvolvedores adicionarem interatividade aos sites.

Veja, seu navegador precisa de três coisas para permitir que você consuma este conteúdo:

  • HTML estrutura o conteúdo
  • Estilos CSS
  • JavaScript faz com que ele ganhe vida!

Isso faz tudo parecer simples, mas acredite, há muito mais nisso. Então, vamos começar bem, voltando no tempo.

Um pouco de história

Para entender onde estamos hoje e para onde estamos indo, primeiro precisamos entender totalmente de onde viemos. Para JavaScript, a história é uma estrada longa e esburacada.

1995 é onde começa. Nos escritórios da Netscape, onde a primeira versão do JavaScript nasceu. 1995… reserve um momento para pensar em como a web foi diferente na época. Eu tinha três anos de idade; a maioria dos leitores provavelmente nem nasceu. O próprio Netscape é uma memória muito distante.

Naquele momento, porém, o Navigator do Netscape era um dos navegadores da web mais populares. É para apoiá-lo que o JavaScript foi criado, como uma linguagem complementar ao Java. O fato de que a Netscape queria uma linguagem que fosse “parecida com Java” descartou muitas outras linguagens existentes que poderiam ter sido usadas para rodar o navegador (Python, Tcl, Scheme, etc.).

Naquela época, a web era totalmente estática, alimentada por HTML e CSS simples. JS trouxe dinamismo.

Por que o JavaScript é onipresente no desenvolvimento moderno?

O objetivo inicial com essa nova linguagem de programação era tornar a web uma plataforma de aplicativos completa, o que significa que o JavaScript seria executado tanto no cliente quanto no servidor. Não foi um sucesso completo, já que levou muitos anos para ser levado a sério como uma linguagem de backend. Mas rapidamente prosperou no frontend, tornando-se a linguagem de programação padrão da web.

Mesmo após a morte do Navigator, acabou sendo adotado por todos os navegadores da web, do Explorer ao Firefox e Chrome.

JavaScript nasceu com pressa, e várias peculiaridades prejudicariam a adoção da linguagem em seus primeiros anos. Ainda assim, algumas de suas características poderosas faziam parte desde sua criação. Estes definiriam JS e permitiriam que ele crescesse.

O próximo grande passo após o lançamento público veio com a padronização ECMA, que se tornou a “convenção” por trás do JavaScript. Ele trouxe a linguagem para um público mais amplo e permitiu que outros implementadores em potencial, como a Microsoft, pudessem opinar em sua evolução.

Não há história suficiente para você? Leia a versão estendida aqui .

Por que a web precisa disso?

Até este ponto, uma questão que pode ficar é:

Por que o Netscape precisava de uma linguagem totalmente nova para a Web, o Java não era suficiente?

A percepção na época era que o Java não era adequado para uma audiência inteira que poderia potencialmente adotar o desenvolvimento da web, como scripters, amadores e designers. Era grande demais para o papel.

Com a chegada do JavaScript, foi possível satisfazer diferentes públicos: 1) criadores de componentes e profissionais de nível empresarial com Java e 2) criadores de scripts e designers com JavaScript. Esse segundo grupo que também poderíamos chamar, em termos modernos de desenvolvimento web, desenvolvedores frontend.

O nome Java Script surgiu de uma tentativa de aproveitar a onda da popularidade do Java e acelerar a adoção. Hoje, você não encontrará muitas semelhanças entre os dois idiomas.

Como já mencionei, também trouxe recursos dinâmicos para a web. O que isso significa exatamente? Aqui estão algumas coisas que você vê toda vez que passa dois minutos em um navegador da Web, que são resultado do JavaScript:

  • autocompletar
  • Carregar novo conteúdo ou dados na página sem recarregar a página
  • Efeitos de rolagem e menus suspensos
  • Animando elementos de página, como desvanecimento, redimensionamento ou realocação
  • Reproduzindo áudio e vídeo
  • Validando entrada de formulários
  • … muito mais

JavaScript é uma linguagem de script inserida diretamente no HTML de uma página. É a única linguagem de programação deste tipo que pode ser entendida pelos navegadores da web. Os navegadores podem ler o Javascript, interpretá-lo e, em seguida, executar o programa, criando poderosas experiências do lado do cliente.

Desde 2017, o WebAssembly também é suportado por navegadores modernos. É um novo tipo de linguagem projetado para ser executado ao lado do JavaScript.

Ele alcançou esse status porque é aberto, padronizado e, o mais importante, se você concorda ou não, uma linguagem muito boa. É bem adequado para a web, com sua natureza dinâmica e forte integração com o DOM .

O JavaScript também é compatível com outros idiomas. Isso é super importante, pois os servidores da web são executados em diferentes idiomas, seja PHP, Python, Ruby, Java ou .NET. Como o JavaScript em execução no navegador é 100% dissociado de como as páginas da Web em HTML são geradas, os usuários sempre terão a mesma experiência rica que o JS funciona, independentemente da linguagem usada no servidor.

Você quer ter uma ideia real do que o JavaScript está fazendo pela web? Tente desligá-lo em seus navegadores e veja o resultado !

Por que o JavaScript é tão importante?

Qual é o problema, companheiro?

Mesmo que o JavaScript seja a língua dos navegadores há muito tempo, não faz tanto tempo desde que recebeu (quase) reconhecimento universal da comunidade de desenvolvimento. Quero dizer, até mesmo Brendan Eich, considerado o pai do JavaScript, teve palavras muito duras sobre JS em 2008 :

“Muitos amaldiçoam [JavaScript], inclusive eu. Eu ainda penso nisso como uma criança amorosa rapidinha de C e Self . As palavras do Dr. Johnson vêm à mente: “a parte que é boa não é original, e a parte original não é boa”.

No entanto, aqui estamos nós, mais de dez anos depois e o JavaScript está mais presente do que nunca. Quero dizer, está em todo lugar.

É quase impossível encontrar uma maneira de trabalhar com o JavaScript de uma forma ou de outra em você é um desenvolvedor.

Por que o JavaScript é onipresente no desenvolvimento moderno?

Por que é que?

Para respostas, precisamos olhar para o incrível ecossistema que foi construído nele. Nós temos um bom e velho paradoxo de “galinha ou ovo” aqui.

É o poder do JavaScript que permitiu a criação de um ecossistema próspero ou aquele ecossistema que permitiu que JS evoluísse e se tornasse uma linguagem mais viável?

Também podemos atribuir a origem desta “revolução JS” ao lançamento do ECMAScript 6 (ou ECMAScript 2015). Esta atualização adicionou nova sintaxe para escrever aplicativos mais complexos e muitos outros recursos que definiriam a próxima era do JavaScript.

De qualquer forma, essa comunidade vibrante e a ascensão da web tomaram o lugar JavaScript que nunca foi concebido para ser.

Linguagem do agora poderoso frontend

Por um longo tempo, os sites eram, na maioria das vezes, baseados em CMSs baseados em PHP, como o WordPress. O código do lado do servidor estava lidando com a maior parte da lógica. As coisas estão mudando, você pode ter ouvido que os sites “estáticos” estão voltando. No entanto, eles não são nada como os sites gerados estaticamente nos anos 90 que mencionei anteriormente.

Navegadores modernos agora têm a capacidade de torná-los interativos e totalmente dinâmicos. Uma particularidade que eles compartilham com seus ancestrais é a abstração do desenvolvimento de backend. A lógica é tratada no lado do cliente, diretamente no navegador, graças ao JavaScript.

Tendências modernas da web nasceram desse novo paradigma, como o JAMstack. Eu escrevi um post inteiro sobre o assunto que eu convido você a ler aqui .

Algumas das aplicações web mais proeminentes atualmente são construídas usando JS. Pense no Facebook, Gmail, Twitter e muito mais. Se usarmos o Facebook como exemplo, o JavaScript habilita atualizações de status e a maior parte da interatividade do usuário. Não teria muito apelo sem isso.

Esses gigantes da tecnologia realmente criaram seus próprios frameworks de JavaScript, e agora eles permitem que milhares de desenvolvedores criem seus próprios aplicativos da web. Você pode ter ouvido falar do Angular , apoiado pelo Google, e o React , apoiado pelo FB. Eu também tenho que mencionar Vue aqui que, mesmo que não seja apoiado por uma central de tecnologia, completa a tríade de importantes frameworks JS.

Por que o JavaScript é onipresente no desenvolvimento moderno?

Além de reduzir o tempo e os esforços necessários para desenvolver sites e aplicativos baseados em JS, essas estruturas ajudaram a moldar novas experiências na web. Tome aplicativos de uma única página (SPA), por exemplo. Um SPA é um site que interage com os usuários, reescrevendo dinamicamente uma página no navegador, em vez de carregar páginas novas inteiras de um servidor, fazendo com que elas se comportem mais como aplicativos de área de trabalho.

Linguagem de … muitas, muitas coisas

Sim, o uso principal do JavaScript ainda pode ser para desenvolvimento web de frontend. A verdade é que, em 2019, está fazendo muito mais do que isso.

Por que o JavaScript é onipresente no desenvolvimento moderno?

→ Código do lado do servidor

Houve tentativas malsucedidas de tornar o JavaScript executado no servidor desde o início. Muitos pensaram que nunca se tornaria uma linguagem de backend estável, até a chegada do Node.js.

Hoje, esse tempo de execução do JS é uma ferramenta popular para alimentar servidores da web. Isso significa que os desenvolvedores de JS podem usar o Node.js para gravar o código do lado do cliente e do lado do servidor em JavaScript, sem depender de servidores da Web externos.

Eu mergulhei mais fundo no Node.js e no JavaScript como uma linguagem do lado do servidor nesta postagem do blog .

aplicativos móveis

No passado, você precisaria de outros idiomas para desenvolver ótimos aplicativos móveis, como o Objective-C para iOS ou o Java para Android. Agora é mais fácil do que antes usar o JavaScript para se conectar a APIs móveis. Isso significa que você pode usar recursos de dispositivos móveis, como a câmera ou a localização, para criar aplicativos com tecnologia JS.

Mais uma vez, isso abriu o desenvolvimento de aplicativos para dispositivos móveis a um número mais significativo de desenvolvedores que não precisam mais aprender um novo idioma.

Não só isso, mas o uso de JavaScript em aplicativos móveis até abriu novas possibilidades para torná-los ainda mais eficazes. Dê uma olhada nos Progressive Web Apps (PWA), por exemplo. Combinando o melhor da Web e os melhores aplicativos, os PWAs aprimoram a confiabilidade, o desempenho e o engajamento. Eles permitem novas funcionalidades impressionantes, como navegação offline.

Estruturas acima mencionadas como Vue.js e React são cada vez mais usadas para criar PWAs. Você deveria dar uma olhada !

→ integrações de API

Os desenvolvedores podem usar o JavaScript para buscar dados de outras fontes e exibi-los em seu próprio site. Um conceito que é mais promovido do que nunca no desenvolvimento da Web é o uso de ferramentas diferentes usando modularidade para executar tarefas específicas. Bem, agora é fácil criar esses tipos de pilha graças às APIs e ao JavaScript.

No Snipcart, por exemplo, nosso carrinho de compras é adicionado aos sites dos usuários usando JavaScript .

Saiba mais sobre APIs e como elas funcionam nesta peça .

Então, por que usar JavaScript? (ou benefícios JS)

Isso tudo é ótimo. Viva JavaScript! Certo?

Por que o JavaScript é onipresente no desenvolvimento moderno?

Mas espere um segundo, toda essa história não importa se não traz benefícios para desenvolvedores e usuários finais.

Benefícios do JavaScript

  • A execução do lado do cliente da lógica traz experiências de usuário mais rápidas. Com o código sendo executado diretamente no navegador, a necessidade de chamadas do servidor é abstraída, portanto, um corte nos tempos de carregamento. Mesmo com a presença de um servidor, o fato de o JS ser assíncrono significa que ele pode se comunicar com o servidor em segundo plano sem interromper a interação do usuário que ocorre no frontend.
  • Desde o início, o JavaScript trouxe a interatividade da interface do usuário para a web. Agora ele faz o mesmo para aplicativos de todos os tipos, ajudando a desenvolver a experiência mais envolvente. Hoje, estruturas como o Vue.js estão trazendo transições e animações para o próximo nível .
  • JavaScript está por trás de qualquer bom design web responsivo . Cada vez mais, os desenvolvedores precisam adaptar seu design em vários navegadores e dispositivos. Combinando HTML5, CSS3 e JavaScript, eles podem fazer isso em uma única base de código.
  • Para os desenvolvedores, o JS é fácil de aprender e rápido para entrar no desenvolvimento ativo. Sua sintaxe é fácil e flexível para os recém-chegados. Ele também simplifica o desenvolvimento de aplicativos complexos, permitindo que os desenvolvedores simplifiquem a composição do aplicativo. Os muitos frameworks e pacotes lá fora também facilitam a vida dos desenvolvedores até certo ponto.
  • Se você ainda não tem isso, o JavaScript é insanamente popular . Se a popularidade nem sempre é igual à qualidade de vida em geral, pelo menos significa uma coisa importante: você encontrará a solução para qualquer problema dentro da comunidade. No desenvolvimento web, isso não é um detalhe insignificante. Se você é alguém que precisa contratar desenvolvedores, isso também é uma grande vantagem, já que o pool de candidatos é enorme.

Isso significa que JS é perfeito? De maneira alguma, há de fato desvantagens de se estar ciente.

Armadilhas potenciais do JavaScript

  • Não está claro, até hoje, em que medida os mecanismos de pesquisa podem rastrear o JavaScript. Mesmo que o Google faça isso, você não deve ter nenhuma chance se não quiser enfrentar problemas de rastreabilidade / SEO. Esse problema não é sem solução, pois há maneiras de lidar com o JavaScript de uma maneira que os rastreadores o veem.
  • Há algo como muito JavaScript . Enfraquecer seus projetos com o JS fará um desserviço a longo prazo, uma vez que acabará por causar problemas de desempenho . A maneira de evitar isso é inserir JavaScript apenas quando necessário e não calçá-lo em todos os lugares, como costumamos fazer.
  • Os milhares de pacotes que constituem o ecossistema JS permitem que os desenvolvedores trabalhem rapidamente sem reinventar a roda para cada nova tarefa. No entanto, eles também causam o que alguns chamam de “inferno da dependência”. Você precisa aprender a lidar com essas dependências muitas vezes necessárias, para que elas não se tornem um aborrecimento para você e para as pessoas que usam seus projetos.

O que vem por JS?

Isso faz uma explicação abrangente de por que o JavaScript é tão crucial na comunidade de desenvolvimento de hoje – e por que você provavelmente deve aprimorar seu conhecimento JS.

Agora, quero deixar você com uma reflexão sobre o que devemos esperar para o futuro próximo do JavaScript. Porque confie em mim, não vai a lugar nenhum, quer você goste ou não. 😉

O JavaScript está sempre evoluindo e seu ecossistema também. Eu pessoalmente acho que o futuro começa com menos ferramentas novas sendo criadas e os grandes participantes ficando mais maduros e ganhando grande adoção. Já estamos observando isso no campo dos frameworks JS, onde o React e o Vue.js estão levando vantagem.

O mesmo em outros níveis em que as ferramentas são criadas nesses frameworks. Gatsby, Next.js e Nuxt estão lentamente se tornando os principais geradores estáticos de site e PWA.

O TypeScript provavelmente desempenhará um papel importante no que está por vir também. Este superconjunto de JavaScript está sendo adotado maciçamente pela comunidade porque permite que o JS seja escalonado melhor.

O futuro contém muitas coisas no mundo da tecnologia que sem dúvida influenciarão o desenvolvimento frontend, como a Inteligência Artificial ou a Internet das Coisas. O JavaScript terá que se adaptar a essas novas realidades. Como? Bem, esta questão seriamente excede minha experiência por enquanto e mereceria seu próprio artigo. Independentemente disso, será interessante acompanhar essas mudanças à medida que elas surgirem.

Uma coisa é certa, se você quiser se manter relevante neste campo, você nunca deve parar de aprender coisas novas!

Quero mais?

Temos muitas postagens de blog de alto nível sobre as muitas facetas do JavaScript, além das que eu já vinculei ao longo deste artigo.

Espero que isso ajude você a entender melhor o que diabos é JavaScript e porque está em toda parte hoje em dia!

Postado em BlogTags:
Escreva um comentário