Introdução ao TypeScript

Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Para efetuar o download você precisa estar logado. Clique aqui para efetuar o login
Confirmar voto
0
 (13)  (0)

Veremos o TypeScript, um superset da linguagem JavaScript criado pela Microsoft para permitir a escrita de scripts com a utilização de tipagem estática, orientação a objetos, e facilitando a escrita de código com uma sintaxe de fácil compreensão

Fique por dentro
Nos últimos anos, o JavaScript teve seu alcance expandido para além do front-end web e hoje pode ser utilizado no desenvolvimento de outros tipos de projetos, como mobile, IoT e no ¬back-end de aplicações. A linguagem TypeScript surge como um superset do JavaScript, adicionando a este funcionalidades que nativamente não estão disponíveis ou requerem grande esforço para utilização, como tipagem de dados e Orientação a Objetos. Conhecer essa nova opção de desenvolvimento é útil para aqueles que utilizam JavaScript intensamente em seus projetos e desejam construir códigos com melhor arquitetura, aplicando padrões de projeto e práticas comumente encontradas em outras linguagens orientadas a objetos.

Ao longo da nossa trajetória como desenvolvedores de sistemas web, nos deparamos com a necessidade de utilizarmos a linguagem de programação JavaScript em várias das nossas aplicações. Considerada uma das linguagens mais populares do mercado, ela ainda não possui, mesmo com tanto tempo no mercado, alguns recursos e características normalmente necessárias no desenvolvimento de software de grande escala.

Diferentemente do que ocorria alguns anos atrás, onde JavaScript era utilizada apenas no lado cliente das aplicações, atuando na validação de formulários e composição de elementos da interface, atualmente temos iniciativas que levam essa linguagem a representar a parte principal de aplicações mobile (em frameworks de desenvolvimento híbrido como Apache Cordova) e web (no lado servidor com Node.js). Nestes cenários, os projetos não se resumem mais a pequenos arquivos com algumas linhas de código, muitas vezes apenas utilizando outros frameworks front-end. Agora, passa a ser necessária a possibilidade de construir arquiteturas mais sólidas, onde se possa organizar adequadamente o código e aplicar as melhores práticas e técnicas de programação, como a Orientação a Objetos e, dentro desta, o uso de interfaces.

TypeScript

Criada pela Microsoft, TypeScript está provando ser uma escolha comum entre os desenvolvedores ASP.NET. Não se trata, na verdade, de uma linguagem completamente nova, mas sim um superset (ou superconjunto) do JavaScript.

Com TypeScript dispomos de recursos que melhor suportam o uso da Programação Orientada a Objetos, que tem como base quatro princípios fundamentais: encapsulamento, herança, abstração e polimorfismo, os quais veremos de forma mais detalhada a seguir. A POO sempre foi um problema ao ser aplicada em JavaScript, devido a sua sintaxe não permitir escrever classes, por exemplo, de forma tão clara, além da fraca tipagem de dados. O TypeScript oferece então uma forma de corrigir ou contornar esses problemas, adicionando funcionalidades que quando compiladas resultarão em código JavaScript novamente. Porém, agora o desenvolvedor lidará diretamente com uma sintaxe simplificada, mais clara e amplamente suportada por editores de código modernos.

O TypeScript, que no momento da publicação deste artigo encontrava-se em sua versão 1.8, teve como seu principal desenvolvedor o mesmo criador da linguagem C#, Anders Hejlsberg, e sua equipe na Microsoft. Visando aproveitar o máximo da linguagem e contar com a adesão e colaboração da comunidade técnica, o projeto é open source e baseia-se nos padrões ES6 (ECMAScript), que podem ser compilados para JavaScript.

Por ser um superconjunto do JavaScript, qualquer código dessa linguagem pode ser colocado em um arquivo TypeScript, que possui a sua extensão “.ts”, e utilizado diretamente. Este é um ponto bastante positivo, pois podemos utilizar códigos JavaScript já existentes, sem a necessidade de realizarmos grandes conversões. Uma vez que tenhamos um arquivo TypeScript salvo, podemos compilá-lo para JavaScript utilizando a ferramenta de compilação tsc.exe, ou mesmo utilizando task runners (BOX 1) como o Grunt ou mesmo o Gulp.

BOX 1. Task Runner

Muitas vezes, durante o desenvolvimento de softwares, é preciso executar tarefas que se repetem com certa frequência, como concatenação, minificação de arquivos, e testes. Os Task Runners são ferramentas utilizadas para automatizar esse tipo de tarefa. O Grunt e o Gulp são exemplos desse tipo de ferramenta para JavaScript, havendo vários no mercado para outras linguagens que, baseados em arquivos de configuração onde as tarefas são definidas, as executam em determinado momento durante o desenvolvimento, como no build da aplicação.

ECMAScript 6

ECMAScript é uma especificação de linguagens de script com marca registrada padronizada pela Ecma International nos padrões ECMA-262 e ISO/IEC 16262. Algumas das implementações que conhecemos desta padronização estão no JavaScript, JScript e também no ActionScript, os quais são bastante utilizados em aplicações web no client-side. Com a evolução da Web e o alto uso de scripts, novas metas foram definidas pelo ECMAScript 2015 (também chamado ES6), as quais incluem o fornecimento de um melhor suporte para grandes aplicações, criação de bibliotecas, além do uso de ECMAScript em outras linguagens. Algumas de suas principais melhorias incluem módulos, declarações de classe, promises para programação assíncrona, dentre outras. A biblioteca do ECMAScript foi expandida para suportar abstrações de dados adicionais, incluindo mapas, conjuntos e matrizes de valores numéricos, bem como suporte adicional para caracteres Unicode em strings e expressões regulares.

Baseado nas especificações do ES 6, o TypeScript é capaz de oferecer recursos como interfaces e generics, características já presentes em outras linguagens de programação orientadas a objetos, como C# e Java.

Princípios básicos da Orientação a Objetos

Para que possamos compreender melhor as diferenças de escrita de código entre TypeScript e JavaScript “puro”, é importante que tenhamos conhecimento dos princípios básicos do paradigma da Orientação a Objetos. A seguir, veremos o conceito e exemplos de como aplicar cada princípio em TypeScript.

Encapsulamento

O conceito de encapsulamento define uma forma de estruturar o código para que um determinado bloco tenha pontos de acesso específicos para o ambiente externo, o que garante a visibilidade e acessibilidade controladas dos elementos internos da classe.

Por meio do encapsulamento pode-se definir quais atributos da classe serão visíveis para utilizadores externos, e a forma como serão expostos ao uso por " [...]

A exibição deste artigo foi interrompida :(
Este post está disponível para assinantes MVP

 
Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Receba nossas novidades
Ficou com alguma dúvida?