Typescript
Typescript é uma linguagem de programação baseada no Javascript que "resolve" uma série de problemas dele, sendo um deles, e o mais importante na minha opinião, permitir definir tipos de variáveis.
O Typescript pode ser usando tanto para backend sobre o NodeJS/Dyno como para frontend em aplicações SPA (single page application) tipo Angular e React.
Mas atenção, não existe mágica no Typescript porque o browser ou o NodeJS não o executam nativamente (e nunca irão), eles rodam apenas Javascript. Para seu código Typescript funcionar é preciso transformar (transpilar) ele em Javascript antes. Se você está acostumado com linguagens fortemente tipadas como Java, C++, Kotlin, tenha consciência de que Typescript não é como elas.
Como usar o Typescript e como criar um projeto usando ele?
Você precisa do NodeJS instalado e também do NPM para fazer códigos em Typescript (tanto front-end como backend), mas por quê NodeJS no front-end em Typescript? NodeJS não é apenas para backend?
Sim! Só que o programinha que transforma Typescript em Javascript (transpilador) é feito em NodeJS, então ele acaba sendo uma ferramenta de suporte ao desenvolvimento, assim como o gerenciador de pacotes e dependências npm (que precisa do NodeJS para funcionar!).
Vamos criar um projeto Typescript com NodeJS (backend):
npm initnpm i --save-dev typescriptnpm i --save-dev ts-node# Adicionando tnpm i --save-dev @types/node@^14# Criando o arquivo tsconfig.jsonnpx tsc --init
Como rodar scripts typescript com NodeJS?
Você precisa já ter um projeto typescript configurado. Instale as seguintes dependências de desenvolvimento (se ainda não houver):
npm i --save-dev typescript ts-node
Você pode testar scripts em typescript usando o seguinte comando:
npx ts-node meu-script.ts
Vendo sua aplicação Typescript em tempo real
Você pode criar um servidor local para debugar seu projeto em tempo real:
https://docs.microsoft.com/pt-br/archive/blogs/cdndevs/visual-studio-code-and-local-web-server
https://stackoverflow.com/questions/52583550/steps-to-run-node-http-server-in-visual-studio-code
Crie um arquivo package.json nesse formato
{"name": "typescript", "version": "1.0.0", "private": true, "scripts": { "lite": "lite-server --port 10001", "start": "npm run lite" }, "devDependencies": { "lite-server": "^1.3.1" } }
Faça o npm instalar as dependências do projeto e o lite-server com:
npm install
Inicie o servidor com:
npm start
Typescript para Browser
Ao usar o comando tsc (typescript compile), os arquivos gerados apresentam chamadas de funções do NodeJS backend.
Para transformar o arquivo .js recém gerado pelo tsc para um arquivo .js compatível no browser use o browserify.
https://techblog.topdesk.com/coding/front-end-with-typescript-tutorial-step-5-using-browserify/
Referências - Typescript para Browser
Arquivo tsconfig.json
https://www.typescriptlang.org/docs/handbook/tsconfig-json.html
Usando o Browserify
https://techblog.topdesk.com/coding/front-end-with-typescript-tutorial-step-5-using-browserify/
Referências
Executando scripts Typescript com NodeJS
https://www.digitalocean.com/community/tutorials/typescript-running-typescript-ts-node
Tutorial completo de NodeJS + Typescript + Docker
https://blog.risingstack.com/building-a-node-js-app-with-typescript-tutorial/
https://www.digitalocean.com/community/tutorials/how-to-add-javascript-to-html