TypeScript

Olá Pessoal,

    
  Já expliquei em outro post o que significa transpilar e o porque esta é uma técnica interessantíssima quando estamos trabalhando com JavaScript, e para quem vai trabalhar com o framework Angular 2, recomendo e muito a utilização do TypeScript nesse sentido.
  TypeScript  nada mais é do que um superset da linguagem JavaScript, basicamente é uma linguagem que fornece a tipagem que falta no JS, além é claro de uma série de outras vantagens. E falando um pouco sobre a minha experiencia nesse campo, confesso que no começo dos meus estudos fiquei me perguntando o porque escrever em uma linguagem que depois de compilada vira JS, parece meio estranho de primeira vista não é não? Fato que passado alguns meses logo se justificou, dado as vantagens em tempo de compilação que você tem de cara, e se você utilizar um Editor ou IDE que suporta TypeScript em poucas horas você vai ver entender o porque programadores C# e Java se dão tão bem com essa linguagem, afinal existe uma semelhança muito grande.
   A linguagem é Open-Source e foi criada pela Microsoft, possui um site excelente e cheio de recursos para quem se interessar em aprender, logo abaixo:
Site Oficial:  www.typescriptlang.org

     Pra quem trabalha com JavaScript, sabe que pelo menos no ES5, versão mais utilizada atualmente e suportada pelos browsers, não possui suporte a classes e interfaces, logo o que vemos na verdade são técnicas que alguns programadores JavaScript utilizam para representam essas estruturas, o que funciona, mas causa bastante estranhismo principalmente de quem vem de uma linguagem orientada a objetos na qual temos as palavras reservadas class, interface, enum e etc, por exemplo, Java e C#. Dito isso então de cara então temos as principais vantagens:

  • TypeScript é Baseada no ES6;
  • Tipagem Estática Opcional;
  • Possui suporte a O.O;
  • Encapsulamento de Código por meio de Classes e Interfaces;
  • Já existem basantes arquivos de tipos definidos em TypeScript;
  • Suporte a Enum.

    Indo para a prática, vejamos o exemplo abaixo, nele estamos criando uma classe chamada Car, que possui um construtor e um método, perceba que não chega a ser nem de perto dificil de entender por um programador Java ou C#, esse código após compilado gerará o código visto a direita, ou seja, um código JavaScript.

Do lado esquerdo o código TypeScript e do lado direito o código gerado em JavaScript

   Irei trazer mais exemplos práticos no futuro, espero que gostem!

Abrcs.
Natanael Fonseca

Visual Studio Code

Ola Pessoal,
    Eis que depois um tempo resolvo falar sobre um produto Microsoft, quem diria hein?  A verdade é que brincadeiras a parte, a MS nos últimos anos tem feito uma grande revolução nas suas estratégias e também nos seus produtos, principalmente naqueles relacionados a desenvolvimento de software. 
    Tenho me dedicado nos últimos meses a estudar Angular 2 e TypeScript e vasculhando a gama de Editores e IDEs que podemos utilizar para trabalhar com essas tecnologias, acabei encontrando o VSCODE, que no primeiro momento assusta por ser tão leve, mas depois surpreende por ter tantos recursos que chega a quase perder o título de “Editor de Texto”.
   Ele pode ser baixado no site https://code.visualstudio.com/  e sua instalação segue o padrão windows de viver, muita moleza e next next next! Mas antes que alguém fale que eu estou apenas citando o windows, saibam que o VSCODE roda no linux, e dica-se de passagem, MUITO BEM!
      Sua interface gráfica é simples e creio que em pouco tempo o programador consegue se habituar e já sair codando rapidamente, como pode ser visto na imagem abaixo, existe o suporte a cores para as mais diversas linguagens e principalmente JavaScript, C#.
  
Visual Studio Code
    Mas o grande barato deste editor de texto, na minha humilde opinião, são os plugins que são chamados de extensions. No momento em que escrevo este post existem uma variedade enorme deles e podem ser baixado diretamente na opção “extensions” que fica no canto esquerdo, como também pelo site:  https://marketplace.visualstudio.com/VSCode.  Logo abaixo uma lista dos que eu mais gostei e estou utilizando em meus projetos pessoais:
Minhas Extensions favoritas
    Fica então essa dica, se forem trabalhar com Angular 2, TypeScript vale muito a pena utiliza-lo, um grande abraço a todos.
Att.
Natanael Fonseca

Projeto no GitHub ( Angular 2 DashBoard )

Olá Pessoal,

   Estou criando um projeto open-source que pode ser utilizado em treinamentos para aprender a desenvolver em Angular 2 com TypeScript, NodeJS e no futuro próximo MongoDB. O projeto foi criado por mim mesmo durante o último curso que ministrei no grupo segurador Banco do Brasil e MAPFRE e atualmente está bem no começo, mas pretendo melhora-lo incluindo suporte a autenticação com OpenID e persistência com MongoDB.
    Quem quiser ficar por dentro, basta seguir o repositório no GitHUb:

   https://github.com/natanaelfonseca/angular2-dashboard

Abrcs.
Natanael Fonseca

Transpilar código para JavaScript

Olá Pessoal,
   Hoje vamos falar sobre uma técnica para geração de código fonte em JavaScript que está sendo bastante utilizada no desenvolvimento de páginas HTML, chamada de “Transpilação”. Mas o que seria Transpilação?
   Transpilar significa converter um código fonte em outro por meio de um processo de compilação, ou seja, o programador escreve o código fonte em uma linguagem que após ser compilada gerará um código equivalente em outra linguagem. Essa técnica não é nova e já é utilizada em diversos cenários na computação, falando especificamente sobre desenvolvimento web e principalmente de JavaScript, acontece que  nos últimos anos vemos um número crescente de linguagens e compiladores que se propõem a gerar código fonte em JavaScript. 
   E por que isso está acontecendo? Apesar de JavaScript ser uma linguagem extremamente boa para o que que se propõe, a resposta está em algumas dificuldades encontradas quando estamos utilizando JavaScript de maneira séria em projetos de grande porte, algumas dessas dificuldades são:

  • O fato da linguagem não ser fortemente tipada;
  • A dificuldade em encontrar IDEs e Editores que alertam sobre erros de codificação, isso em grande parte é devido ao fato de que a linguagem não possui tipos;
  • Pelo menos até o ECMAScript 5,  não existe suporte claro para a criação de classes e interfaces;
  • Dificuldade em encontrar programadores que saibam todos os conceitos da linguagem e saibam utilizar esta em aplicações Enterprise;
    Claro que esses exemplos são simplistas e, é fato que existem no mercado alguns profissionais que possuem domínio de sobre a linguagem, mas acreditem, esses profissionais não são fáceis de encontrar e principalmente não vão vir por um preço baixo. Com relação aos Transpilers  os mais conhecidos são:

  Tenho me dedicado nos últimos meses a aprender este último, chamado de TypeScript, e que me surpreendeu bastante, principalmente porque  se assemelha bastante a linguagens “Enterprise” que já estão consolidadas, como Java e C#.  
    TypeScrpt possui algumas vantagens, que são: 
  • Suporte a criação de classes e interfaces;
  • Suporte a Generics;
  • Suporte a tipos de dados bem definidos(string, number, boolean e etc);
  • Com uma extensa gama de Editores e IDEs que podem ser utilizados.

    E o melhor de tudo isso e que como TypeScript após ser compilado gerará um JavaScript, é possível utiliza-lo também para desenvolver aplicações NodeJS, por falar nisso, é inegável o crescimento de projetos utilizando NodeJS não apenas como VM mas também como Ambiente de desenvolvimento, isso porque já existem uma gama enorme de pacotes e utilitários de linha de comando no repositório oficial, é por esse fato que podemos utilizar o NodeJS para criar nossos códigos em TypeScript.

Abrcs e até logo!
Natanael Fonseca