Inovação e Tecnologia

Javascript ou JS, é uma linguagem de programação leve, aplicada principalmente no desenvolvimento web, lugar onde ganhou popularidade com ênfase no desenvolvimento front-end. Juntando-se às linguagens de marcação HTML e CSS, o Javascript completa a trindade do ecossistema básico da parte “visual” de uma aplicação (site ou aplicativo).  

Mas, nem tudo são flores. Neste artigo, vamos entender as vulnerabilidades que o Javascript pode nos trazer e como o Typescript entra na jogada para nos salvar nessas situações.

Antes de tudo, devemos lembrar da importância de aprender o Javascript. Atualmente, ela é considerada a linguagem de programação mais usada por desenvolvedores no mundo, segundo uma pesquisa realizada pelo Stack Overflow no ano de 2020.

Como dito anteriormente, o Javascript atua com maior ênfase no desenvolvimento front-end, porém, com seu crescimento, a linguagem começou a ser explorada no back-end através do famoso framework Node.js. 

Devido sua alta escalabilidade, é utilizado por gigantes do mercado como, por exemplo: Netflix e LinkedIn, e não para por aí! 

O Javascript também conquistou seu espaço no mundo do banco de dados com o banco não-relacional MongoDB, em que também é utilizado por gigantes da tecnologia como: Google, Facebook e até a Adobe.

Desvantagens do Javascript

1. Frameworks que se tornam obsoletos rapidamente

Com a facilidade do uso da ferramenta e sua soberania no desenvolvimento web, o Javascript conta com milhares de frameworks publicados em sua comunidade web. Uma variedade desnecessária em que muitos não conseguem manter o suporte necessário para aplicações de grande escala e acabam caindo no esquecimento. 

Caso o projeto esteja utilizando um desses frameworks obsoletos, provavelmente a equipe ficará presa a um código legado, ou demandará um esforço maior de toda a equipe para fazer uma migração de framework às pressas, para não comprometer a produtividade e o desenvolvimento da aplicação.

2. Incompatibilidade com navegadores 

Esse ponto se torna uma faca de dois gumes. Por um lado a vantagem do Javascript é ser facilmente interpretado por diversos navegadores, porém, por outro, requer que uma equipe de desenvolvimento tenha muita atenção, pois cada navegador possui seu próprio “motor”, o qual realizará a leitura do script do Javascript.

Por exemplo, você pode ter desenvolvido uma nova funcionalidade para seu produto e ter testado em navegadores como Chrome ou Opera, mas ao testar em um navegador como Internet Explorer, poderá enfrentar problemas. 

Assim, é preciso ficar atento à compatibilidade das suas features em diferentes navegadores para evitar problemas de desempenho.

3. Segurança e tipagem

Outra desvantagem do Javascript é a vulnerabilidade a brechas de segurança, principalmente em ataques “cross-site”, isto é, quando um invasor é capaz de obter um acesso a uma página da web e injetar scripts maliciosos. Além disso, podem facilmente plagiar o código-fonte da sua página web.

Exemplo: em uma variável que deve receber um valor do tipo numérico pode receber um valor do tipo string (caracteres) e o Javascript não irá “reclamar” desta ação.

Typescript, o javascript com “esteróides”

Fonte: thenewstack.io

O Typescript ou ts, é um superconjunto, também chamado de superset, feito a partir do Javascript, ou seja, um conjunto de ferramentas que contém o objetivo de escrever código Javascript de forma mais eficiente, segura e dinâmica.

Seu desenvolvimento começou em 2012 pela Microsoft e seu maior destaque é acrescentar ao Javascript mais uma camada de desenvolvimento, o sistema de tipos Typescript.

No exemplo abaixo temos a seguinte função:

Temos uma função que recebe dois parâmetros, tipo numérico: depósito e saldo. 

Perceba que, ao tentar injetar o segundo valor passando entre aspas, ou seja, como um dado do tipo string, o Typescript acusa a mensagem de erro, alertando que o valor esperado era do tipo número, coisa que o Javascript aceitaria e poderia acarretar problemas na tratativa desses dados, no lado do back-end.

Outra vantagem de utilizar o Typescript é o suporte à maioria das bibliotecas e frameworks, ferramentas e bibliotecas do Javascript.

Um dos pioneiros no uso do Typescript é o Angular, framework front-end desenvolvido e mantido pela Google, que começou a utilizar o Typescript a partir da segunda versão, trazendo popularidade ao superset que acabou ganhando suporte de outros gigantes frameworks como Reactjs e Vuejs.

Utilizar o Typescript em seus projetos pode te trazer algumas vantagens como:

  • Feedback de erros de forma rápida e instantânea;
  • Processo de refatoração mais fácil;
  • O Typescript pode ser implementado gradualmente em seu projeto sem problemas de quebrar a aplicação;
  • Ter uma empresa gigante que é a Microsoft lançando novas atualizações para o Typescript mantendo a comunidade desenvolvedora com um superset sólido e confiável.

O TypeScript tem alguma desvantagem?

Adotar o Typescript em seus projetos pode fazer com que a produtividade do time caia em um primeiro momento. 

Não se pode ignorar a curva de aprendizado que o Typescript requer e a camada adicional de tipagem e tratamento de dados.

Afinal de contas devo utilizar Javascript ou Typescript?

É altamente recomendado utilizar o Typescript quando se tratar de grandes projetos que requerem uma complexidade e segurança maior, tornando o código limpo e consistente.

É claro, haverá situações que o Javascript será mais vantajoso como, por exemplo, em pequenos projetos com pouca complexidade.

Aqui na Vsoft utilizamos o Typescript no front-end dos nossos produtos com a premissa de que nossas aplicações se tornam mais seguras, eficientes e consistentes.

Se você ficou interessado em ser parte da nossa equipe, a Vsoft está em constante crescimento. Acompanhe aqui as vagas da Vsoft.

Author

Isaac Souza

Analista de Desenvolvimento de Software

Posts relacionados

Todos os posts

Não perca as nossas atualizações!

Assine para receber a newsletter da Vsoft e fique por dentro do mundo da identificação e tecnologia.

Obrigado! Recebemos sua mensagem!
Oops! Algo deu errado no envio do formulário.
Tente novamente em instantes.
go  top