Giter VIP home page Giter VIP logo

evolving-my-js-to-ts's Introduction

Formação: Melhore sua experiência de desenvolvimento com TypeScript

Tempo estimado de conclusão: 32h

Cursos

TypeScript parte 1: evoluindo seu JavaScript, a etapa

TypeScript parte 2: avançando na linguagem

Typescript parte 3: mais técnicas e boas práticas

Índice

  1. TypeScript parte 1: evoluindo seu JavaScript
    1. Introdução ao projeto e sua estrutura
    2. Módulos do ECMAScript
    3. Modelagem de uma Negociação em JavaScript
    4. Limitações da modelagem em JavaScript
  2. TypeScript parte 2: avançando na linguagem
    1. Download e configuração do TypeScript
    2. Integração com Node.js
    3. Modificadores de acesso
    4. Benefícios iniciais do TypeScript
    5. Tipagem estática e tipos implícitos
    6. Configurações do compilador
    7. Modelagem e mutabilidade
  3. TypeScript parte 3: mais técnicas e boas práticas
    1. Templates declarativos e dinâmicos
    2. Herança e classes abstratas
    3. Enums e validação
    4. Métodos estáticos e parâmetros opcionais
    5. StrictNullChecks e programação defensiva
    6. Decorators
    7. Consumo de APIs externas
    8. Polimorfismo e interfaces

TypeScript parte 1: evoluindo seu JavaScript

Introdução ao projeto e sua estrutura

  • Visão Geral: Introdução ao projeto e a estrutura básica.

Módulos do ECMAScript

  • Módulos: Explicação sobre os módulos do ECMAScript.

Modelagem de uma Negociação em JavaScript

  • Modelagem: Criação de uma modelagem de negociação em JavaScript.

Limitações da modelagem em JavaScript

  • Buracos na Modelagem: Identificação de limitações e buracos na modelagem devido às limitações da linguagem JavaScript.

TypeScript parte 2: avançando na linguagem

Download e configuração do TypeScript

  • Download do TypeScript: Como baixar e configurar o TypeScript.
  • tsconfig.json: Configuração do compilador através do tsconfig.json.

Integração com Node.js

  • Integração com Node.js: Integração do TypeScript com scripts do Node.js.

Modificadores de acesso

  • Private e Public: Uso de modificadores de acesso private e public.

Benefícios iniciais do TypeScript

  • Benefícios: Primeiros benefícios do uso do TypeScript.

Tipagem estática e tipos implícitos

  • Tipagem Estática: Vantagens da tipagem estática e o tipo implícito any.

Configurações do compilador

  • Configurações Avançadas: Mais configurações do compilador tsc.

Modelagem e mutabilidade

  • Negociações e Generics: Modelagem da classe Negociações, utilização de Generics e questões de mutabilidade.
  • ReadonlyArray: Uso do tipo ReadonlyArray e programação defensiva.

TypeScript parte 3: mais técnicas e boas práticas

Templates declarativos e dinâmicos

  • Inspiração no React: Criação de templates declarativos e dinâmicos inspirados no React.
  • Manipulação do DOM: Manipulação declarativa do DOM através de templates dinâmicos.
  • Formatação de Datas: Uso do Intl para formatação de datas.

Herança e classes abstratas

  • Herança: Herança com TypeScript e classes com tipo genérico.
  • Classes Abstratas: Criação e uso de classes abstratas.
  • Modificador Protected: Uso do modificador protected.

Enums e validação

  • Enums: Vantagens e cuidados ao usar enums.
  • Validação: Validação de negociações em dias úteis.

Métodos estáticos e parâmetros opcionais

  • Métodos Estáticos: Revisão da lógica de conversão de negociações e uso de métodos estáticos.
  • Parâmetros Opcionais: Implementação de parâmetros opcionais.

StrictNullChecks e programação defensiva

  • StrictNullChecks: Ativação do strictNullChecks e seus benefícios.
  • Programação Defensiva: Como suprimir erros resultantes do strictNullChecks de forma segura.

Decorators

  • Decorators de Método: Introdução ao uso de decorators para logar tempo de execução.
  • Decorators com Parâmetro: Criação de decorators de inspeção e simplificação de seu design.
  • Decorator de Propriedade: Evitando código duplicado com decorator de propriedade e criação dinâmica de getters.

Consumo de APIs externas

  • API Externa: Consumo de APIs externas, definição de interfaces e isolamento do acesso à API em um serviço.

Polimorfismo e interfaces

  • Polimorfismo: Aplicação prática do polimorfismo.
  • Interfaces de Método: Criação e uso de interfaces de método.
  • Evitar Duplicação: Estratégias para evitar importar negociações duplicadas e estender interfaces.

evolving-my-js-to-ts's People

Contributors

denisfreitas999 avatar

Watchers

 avatar

evolving-my-js-to-ts's Issues

js-to-ts/feat/parte-02

Etapa 01

  • Inspiração no React para criação de templates declarativos e dinâmicos
  • Manipulação declarativa do DOM através de template
  • Template dinâmico
  • Formatação de datas usando Intl

Etapa 02

  • Herança com TypeScript
  • Classes com tipo genérico
  • Classes abstratas
  • O modificador protected

Etapa 03

  • Visibilidade de métodos
  • Validando negociações em dias úteis
  • Vantagens do uso de enums
  • Cuidados com enums

Etapa 04

  • Revisão da lógica de conversão negociações
  • Método estáticos
  • Parâmetros opcionais

Etapa 05

  • Remoção de comentários do código compilado
  • Ativação do strictNullChecks
  • Como suprimir erros, quando fizer sentido, resultantes do strictNullChecks
  • Benefícios do strictNullChecks no controle do fluxo da sua aplicação

js-to-ts/feat/parte-01

Etapa 01

  • Introdução ao projeto e sua estrutura;
  • Um pouco sobre módulos do ECMASCRIPT;
  • Modelagem de uma Negociação em JavaScript;
  • Buracos em nossa modelagem por limitações da linguagem JavaScript.

Etapa 02

  • Download do TypeScript;
  • Configuração do compilador e papel do tsconfig.json;
  • Integração com scripts do Node.js;
  • Modificadores de acesso private e public;
  • Benefícios iniciais da linguagem TypeScript.

Etapa 03

  • O tipo implícito any;
  • Benefícios da tipagem estática;
  • Mais configurações do compilador tsc;
  • Retorno de método explícito;
  • Conversão de valores da interface do usuário.

Etapa 04

  • Modelagem da classe Negociacoes;
  • Utilização de Generics;
  • Revisão sobre encapsulamento;
  • Questões de mutabilidade e como solucioná-la;
  • O tipo ReadonlyArray;
  • Adição de negociações em nossa lista.

Etapa 05

  • Nova maneira de declaração de array com generics;
  • O tipo ReadonlyArray;
  • O modificador readonly;
  • Getters e propriedades públicas em modo de leitura;
  • Programação defensiva.

js-to-ts/feat/parte-03

Etapa 01

  • Introdução e estrutura do projeto
  • Requisitos não funcionais
  • Decorator de método
  • Logar tempo de execução com decorator

Etapa 02

  • Decorator com parâmetro
  • Criação de um decorator de inspeção
  • Ordem de execução dos decorators
  • Simplificação no design de decorators
  • Portabilidade de funcionalidade antiga para decorators

Etapa 03

  • Como evitar código duplicado
  • Decorator de propriedade
  • Criação dinâmica de getters
  • O uso de Object.defineProperty
  • Cache de decorators

Etapa 04

  • API externa
  • Consumindo API externa
  • Definindo uma interface para a API
  • Isolando o acesso à API em um serviço

Etapa 05

  • Chega de múltiplos console.log
  • Aplicação prática do Polimorfismo
  • Interface de método
  • Evitando importar negociações duplicadas
  • Estendendo interfaces

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.