O TypeScript (TS) é uma linguagem criada pela Microsoft e publicada em 2012, que estende o JavaScript adicionando tipos. Para os desenvolvedores mais acostumandos a programar em linguagens fortemente tipadas no back-end, como Java e C#, o TypeScript pode ser um grande facilitador no front-end pela familiaridade em usar tipagem explícita. Além disso, a ferramenta já foi incorporada e pode ser utilizada nos frameworks front-end React (Top 1), Vue.js (Top 2) e Angular (Top 3), mais utilizados em 2019 de acordo com a pesquisa feita por State of JS.
Pré-requisitos
Conhecer JavaScript, conhecer JavaScript, conhecer JavaScript. (rsrs)
O TS é baseado e compilado em JS para ser interpretado pelos browsers quando estamos desenvolvendo no front-end. Nesse sentido, conhecer JS é fundamental para resolver problemas, seguir boas práticas e gerar código de qualidade a partir do desenvolvimento com TS.
Documentação oficial
Cursos online
Ideias para desafios
- Refatore algo desenvolvido em JS para usar TS, depois compare o JS compilado com o anterior
Quando estive na Vue Summit, em 2018, os contribuidores na evolução do framework comentaram que iriam adotar TS como oficial ao invés de JS puro. Foi notável e audível a decepção de vários desenvolvedores front-end com a decisão e é compreensível, já que em TS você precisa escrever mais código do que em JS para ter o mesmo resultado, além de ter a possibilidade de um código JS ruim ser gerado a partir da compilação de TypeScript.
No entanto, eu acredito que a criação da ferramenta é proveniente da necessidade de mercado para atuação do desenvolvedor tanto em front-end quanto em back-end pela alta demanda e baixo nível de profissionais qualificados nas áreas.
Ter “var” em Java e tipos em JavaScript, me parecem ser mudanças no sentido de facilitar o desenvolvimento em Client e Server usando a mesma abordagem e ajudando na formação de desenvolvedores de software full stack. Esse termo é bastante discutido em TI, querendo envolver todas as áreas de sistemas e não apenas desenvolvimento de software, mas a princípio, vamos assumir que ele é referente ao desenvolvimento back-end e front-end.
Gostou? Sentiu falta de algum material de apoio? Comenta ai e vamos aprender mais juntos.
Espero que te ajude 😉