Primeiramente eu gostaria de agradecer por essa aula postada em vosso canal, foi bastante satisfatória, e também gratificante para mim como expectador do vosso trabalho ver o grau de qualidade que nos entregam!
Trabalho com TS nos projetos em Angular a alguns meses e gostei bastante das features dele, poder usufruir desses recursos em conjunto com node é bem bacana. Valeu pelo conteúdo!
Bem, eu trabalho com infra, já estudei programação em linguagens com tipagem, mas nunca fui a fundo nos estudos com programação, até que vi a semana omnistack, nossa sensacional, mas fique muito perdido com a linguagem por ser bem diferente do que estudei, mas vendo agora um pouco do typescript ficou um pouco mais entendível mesmo sendo um mero iniciante. obrigado pela aula.
Diego, estou começando agora no mundo do React e já estou embarcando em um projeto todo em React e eles utilizam typescript no React e cara esses negócios de tipagem estava meio complicado para entrar na minha cabeça e tudo mais. E sinceramente, estou gostando de mexer com o typescript no React e cara só tenho agradecer por ajudar com estas master class que vc posta e tudo mais. Vou rever dnv a aula, pq sinceramente tu é um monstro da programação e explica muito bem
caraca pior que o erro é de que não reconhece o comando ts-node-dev e não a flag, e ainda não acertaram a Doc no npmjs eu nunca ia adivinhar, vlw mano!
Fantastico! Faz uma aplicação com banco de dados sql e typescript e no frontend typescript com react (tsx), igual foi no NLW com o Proffy, amei de mais, obrigado a todos da Rocketseat.
O Typescript por definição ainda vai estar SEMPRE na frente na questão de features. Oficialmente eles sempre implementam na linguagem tudo que chega nas stage-3 proposals do ECMA Script (desde que seja interesse da comunidade). Sendo que o próprio ECMA Script (Javascript) só implementa oficialmente depois de passar o stage-3 e deixar de ser um proposal. Bons exemplos atualmente são o optional chaining (.?), o nullish coalescing (??), e os campos private nas classes
Mas esquece que temos Babel.js, onde podemos não somente usar as features que destacou como também as que estão em stage 2 ou até mesmo inicial. Se for por isso, não há necessidade de TS. Parece que há que lembrar, mas TS é TYPEscript, não FEATURESscript, ou seja, TS é justificado apenas quando há uma necessidade de tipagem, e ainda assim temos Flow. Óbvio que há situações que justificam usar TS, mas não é a que citou.
Acho que ainda sou mto novo nesse mundo pra entender as vantagens do typescript, pra min só parece uma forma de se complicar o que é fácil, acho que o que me falta é um pouco de experiência.
É tipo o que o Diego passou também, isto é, depois de uma certa experiência - não necessariamente longa - que passa-se a observar o quão otimizado e profissional o seu código-fonte se torna quando tecnologias como o TypeScript são acrescidas a um determinado projeto. Esta mesma questão se extende a outras linguagens com tipagens fracas (como o PHP, por exemplo), onde também é possível aprimorar o código escrito através de tipos e interfaces, traits, etc.
A integração do editores de texto com typescript já faz com o que o uso dele seja muito útil. Dá pra fazer imports automáticos, ver quais parâmetros as funçoes podem receber, isso ajuda muito durante o desenvolvimento.
Você não está errado. TS não é uma panaceia, isto é, não resolve tudo. Às vezes até complica problemas, piorando a situação. Em alguns casos pode ser útil, quando por exemplo há projetos com equipes muito grandes ou bem descentralizadas, mas em projetos com equipe reduzida ou até individual, TS é floreio. Um Flow resolve 90%, caso haja necessidade de tipagem. Além do mais, hoje com os avanços em JS e suas versões a diferença entre TS e JS diminuiu muito. Portanto, faça o que funciona e não siga a modinha. Lembre que JS foi criada para ser uma linguagem dinâmica, não para ser tipada. Tipagem tem que ser muito bem avaliada para ver se realmente é justificável em um projeto. Parafraseando Steve Jobs, lembre que há uma beleza inigualável na simpleza.
Para quem estiver acompanhando em 2022, codando passo a passo junto, vai chegar um momento onde você terá que trocar o --transpileOnly por --transpile-only, pois o --transpileOnly mudou nessa nova versão do ts-node-dev para --trasnpile-only. Se não trocar vai aparecer um erro e não irá rodar o servidor. Deverá ficar assim; "scripts": { "dev:server": "ts-node-dev --respawn --transpile-only src/index.ts" },
Rocketseat todas as vagas que vejo e recebo, em sua maioria, ele pedem assim => conhecimentos sólidos em TypeScript seria para inicio ter umas aulas de o famoso CRUD tanto pata React JS e React Native
Fala Dev, rsrs Diego e galera da Rocket vcs são Fodas. Eu participei da ultima Next level Week e ainda não tinha tido contato nenhum com Typescript,. E realmente foi uma das melhores coisas que eu aprendi, antes da NLW eu só via conteúdos de JS agora dou preferencia por TS e a Rocket mais uma vez tem que ser parabenizada, pois é um dos poucos canais que vem utilizando e ensinando amplamente o TS, que vem sendo cada vez mais requisitrado no desenvoldimento web e de apps. E com essa masterclass e a hooks com TS ( ua-cam.com/video/GOB-lawExXc/v-deo.html ) tem me ajudado a utilzar aulas antigas de node e react com JS para aplicar os conhecimentos em TS. Um abrço a todo o time e muito obrigado pela dedicação de todos.
Sou Programador PHP e o PHP também está indo nessa mesma linha de se tornar uma linguagem tipada. Antes, na versão 5.x, era somente parâmetro de função, depois, na versão 7.0, passou a ser no retorno da função, e a partir da versão 7.2 ou 7.3, passou a aceitar tipagem nos atributos da classe. Mas, essas tipagens são todas opcionais.
Eu estava estudando Deno e tinha duvida se ele iria substituir o Nodejs, mas agora vendo a quantidade de configurações que é necessario fazer no Nodejs, eu tenho certeza de que Node vai ser substituido. Mesmo o Deno estando num estado embrionário ja é mto produtivo.
Muito bom, consegui fazer o passo a passo. Apenas pra adicionar o @types/express que estava dando erro no terminal do VS code. Consegui usando o terminal do Windows(cmd). Valeu
Diego, show de vídeo, muito bem explicado, pude aprender muita coisa. Pra mim, o nível de detalhamento foi perfeito: overview :) Assim, deu pra ter uma ideia geral dos benefícios e dos pontos de entrada para conversão do projeto para TS. Uma sugestão: talvez valesse a pena mostrar que um dos maiores benefícios do uso das interfaces é que elas podem ser COMPARTILHADAS entre os times (backend, frontend, system design e, em alguns casos, até UI/UX). Assim, cada um pode trabalhar independentemente ENQUANTO o backend desenvolve a implementação. Desde que as interfaces estejam definidas - mesmo que por um tempo - ninguém precisa esperar a implementação para desenvolver o front. E não há chance de informação truncada, porque a interface formaliza a definição. Pode-se mudar a implementação à vontade, desde que o "contrato" das interfaces seja respeitado. (sOLId) Os devs que vem do Java, C++ em times numerosos e, eventualmente, distribuídos (remotos) conhecem bem esse benefício: escala infinita já no desenvolvimento. Valeu, pelo vídeo, pela explicação dedicada e atenta. Vai me ajudar bastante no projeto CRA que estou migrando para Next.js e quero aproveitar para converter para TS. Abraço, sucesso para a Rocketseat!
Achei que ficou .. digamos.. mais burocrático. Porém te ensina de forma bem intuitiva como "tipar" e melhorar a qualidade do seu código, bem como o benefício de saber de onde está vindo cada coisa. Mas é uma avaliação muito pessoal de cada um saber se faz sentido usar ou não.
sou um aluno rockseat, realizando o metodo ignite para tentar acompanhar a minha equipe. Você enfrentou a mesma dificuldade que estou enfrentando... parece que gerei um bloqueio, migrando do php fullstack, pro node+react+typescript+next...
Boa Introdução, deu pra ter uma noção um pouco melhor de como é trabalhar com o Typescript. Apesar de hoje em 2022 preferir usar o Vite pro frontend em ReactJs hehe
Faz um vídeo de como criar uma aplicação com salvamento de dado local com realm e redux-persit + fila de ações para envio a api. Se puder acho que ajudaria muito os devs a entender a arquitetura de um app mais complexo.
Parabéns pelo conteúdo! AInda apanho usando typescript, mas consegui fazer o projeto rodar consumindo a api do backend. Preciso fazer vários masterclass desse pra conseguir tipar os objetos nos lugares corretos. Pra mim é a maior dificuldade, onde por essas tipagens...
Fiquei pensando se ele iria utilizar o Sequelize com o Typescript, mas ele recorreu ao TypeORM, ainda bem, usar o Sequelize com Typescript gera muitos problemas, em grande parte devido ao suporte ruim do Sequelize
Eu tenho ainda uma visão parecida com a do Deschamps, bom, acho que foi por conta de ter entrado em contato com o React agora também, e foi muito para absorver, mas as definições de prototipagem quando você considera variável de tipos do TS, complica um pouco as coisas... Na real eu super concordo com o Diego quando ele fala fala de que isso para o time, "ajuda de mais" para rastrear definições entre os tipos no código implementado, o problema é implementar ainda, e lidar com ele depois de implementado. TS sobre JS é ainda um código sobre o código, e é bom, mas o quanto conseguimos abstrair para não perder tempo?
Olá... considerando a alteração que fez na Interface IUser e teve que fazer isso no outro arquivo que utiliza a mesma estrutura, existe a possibilidade de criar um arquivo contendo todas as interfaces da aplicação? Se sim, como isto é importado nos arquivos em que estas seriam utilizadas?
Sim, você faria uma pasta de interfaces (similares a de controllers) e criaria o arquivo correspondente à ela, colocando um "export suaInterface' para possibilitar que ela seja consumida em outros arquivos, como por exemplo: " import { suaInterface } from '../interfaces/interface.ts' ". Espero ter ajudado :)
@@JoaoOliveira-fz2nv Tem uma forma que eu uso que considero um pouco melhor ainda. Nessa pasta de interfaces, eu crio um arquivo para cada domínio, mas com a extensão .d.ts e ao invés de export eu uso o declare. Quando eu dou um declare em um type ou interface, ele fica disponível no meu projeto sem a necessidade de fazer o import dessa interface. Refatorando o código que o julioze fez aqui embaixo, ficaria assim: #src/interfaces/IRole.d.ts declare interface Role { ...definicao da interface } #src/interfaces/IUser.d.ts /*note que não preciso fazer o import de IRole aqui*/ declare interface IUser { id: number; company_id: number; username: string; email: string; roles: IRole; }
@@squitt mas esse declare não deixa o codigo vulnevarel? por poder ser acessado de qualquer arquivo e etc, e outra, esse declare não impacta na performance ou consumo de ram da aplicação?
@@marcosandre6916 Brother, não sei posso divulgar o link, mas em algum anuncio aqui do youtube você vai ver sobre, e também, acessa o instagram deles, @rocketseat_oficial, que lá tem o link se n me engano
A minha lombriga de usar TypeScript atacou agora, realmente eu tinha todo e qualquer receio de usar mas esse vídeo me deu uma vontade tremenda de iniciar novos projetos em TypeScript, vlw Diego, bem didático e prático, parabéns a todos envolvidos!
Diego, não teria uma maneira de reduzir o número de interfaces criadas no React não? Achei um pouco estranho ter de criar a mesma interface em dois lugares diferentes
Tem sim, o que eu fiz no meu primeiro projeto TS foi criar um arquivo chamado interfaces e todas as interfaces que eu precisava eu colocava lá com o export na frente, dessa forma sempre que eu precisava dela em algum componente eu só importava do arquivo, um exemplo seria import {IUser} from 'interfaces'; e no intefaces.ts algo como export interfaceIUser{**your code**} espero ter ajudado :)
Cara que show! Gostei bastante já estava utilizando o typescript com e typeorm porém me esclareceu alguns conceitos. Muito obrigado. Só fiquei com algumas duvidas. - Agora me diz uma coisa como eu poderia compartilhar os tipos entre backend e frontend? - E no caso do código transpilado eu caso eu faça acesso a algum erro que ocorreu em tempo de execução, teria como saber exatamente a linha que ocorreu? Desde já muito obrigado!!
Typescript foi um trabalho estraordinário da Microsoft. Então dizer que: "não sabe se ajuda ou atrapalha" significa demonstrar não entender nada dos fundamentos de ciência da computação. É louvável ser objetivo e conhecer muitas das ferramentas de alto nível (frameworks) pois elas ajudam na produtividade. Agora, embasar uma conclusão em premissas tão superficiais é induzir muitos estudantes a ter um futuro mediocre. Você precisa estudar os fundamentos. Já percebi que você sabe quais são alguns deles (fundamentos), existem muitos outros. Ser animador de auditório com conhecimento raso pode ser muito prejudicial.
Não tenho TS nas minhas Skills e isso já fez eu perder oportunidades recentemente, nos requisitos não falaram nada sobre e quando passei pela entrevista após fazer teste eles exigiram conhecimento em TS e TDD. 😔 Seus vídeos ajudam demais Diego, um grande abraço.
Faaala, Mateus! Vou te passar uma listinha das que mais usamos, ta bom!? 😉 - Live Share - Git Lens - Material Icon Theme - Vscode-styled-components - Color Highlight O tema que usamos é o *Omni* . Valeeeu! 💜 😍
Gostei muito da sua didatica , vc tem um curso ou playlist que ensine tudo do inicio? cai de paraquedas aqui pra entender TS, mas pra entender esse video precisa manja de backend, express, React , libs, package etc.. eu fiquei meio "calma ai parceiro " kkk
No caso eu poderia criar um arquivo contendo essa definição do IUser e onde precisar definir a um User eu só importo ele p ser utilizado e quando precisar alterar algo como foi mostrado essa alteração vai ser p todos os outros aquivos que estejam utilizando essa definição? ou não da p ser assim?
Travei logo nessa parte...pesquisei e ainda não encontrei como executar o comando. Tentei "npm tsc src/index.ts", "node tsc src/index.ts", até "tsc src/index.ts"...tudo dentro da pasta backend, e só apresenta mensagens de erro.
@Rocketseat, uma pergunta não muito a ver com o vídeo, mas gostaria de saber com relação ao seu setup, qual monitor, teclado, e mouse você utiliza em conjunto com Macbook?
Eu também não consigo mais ficar sem, eu chego a programar em JS normal, mas sinto a necessidade muito rápido e no final das contas acabo convertendo em TS.
Diego, então a medida que o ts for crescendo, o javascript funcional vai voltar a dar espaço a POO clássico? eu estou estudando essa stack a mais ou menos um ano, e vim do POO clássico em PHP, a maioria esmagadora dos conteúdos que encontro é em cima do javascript funcional. me da uma luz ai no que ue devo focar, pq aparentemente o ts utiliza muito os conceito de POO classico, inclusive quando vc falou sobre patherns. vlw e parabens pelo video.
tudo vai do desenvovedor. Os desenvolvedores do Vue por exemplo, quando começaram a implementar o Vue 3 (que vai ser 100% em typescript) concordaram em descartar as classes e fazer tudo em funcional. Eu nos meus projetos tento fazer tudo funcional, com exceção dos módulos do Vuex, que eu faço com o vuex-module-decorators
O Diego é sensacional, 2 anos depois e eu estou aprendendo muito com vídeo, tá me servindo como auxílio enquanto realizo a trilha de React 🚀
Primeiramente eu gostaria de agradecer por essa aula postada em vosso canal, foi bastante satisfatória, e também gratificante para mim como expectador do vosso trabalho ver o grau de qualidade que nos entregam!
Trabalho com TS nos projetos em Angular a alguns meses e gostei bastante das features dele, poder usufruir desses recursos em conjunto com node é bem bacana. Valeu pelo conteúdo!
oh
Ótimo vídeo! Por favor Diego, traga o Typescript mais ao fundo focado no React. Abraço!
Faala José! Estamos trazendo cada vez mais conteúdos utilizando ele, fica de olho 💜
Bem, eu trabalho com infra, já estudei programação em linguagens com tipagem, mas nunca fui a fundo nos estudos com programação, até que vi a semana omnistack, nossa sensacional, mas fique muito perdido com a linguagem por ser bem diferente do que estudei, mas vendo agora um pouco do typescript ficou um pouco mais entendível mesmo sendo um mero iniciante. obrigado pela aula.
Muito bom ter pessoas como você na nossa área, obrigado.
Fala Julio!! Valeeu pelo feedback! 💜
Diego, estou começando agora no mundo do React e já estou embarcando em um projeto todo em React e eles utilizam typescript no React e cara esses negócios de tipagem estava meio complicado para entrar na minha cabeça e tudo mais. E sinceramente, estou gostando de mexer com o typescript no React e cara só tenho agradecer por ajudar com estas master class que vc posta e tudo mais. Vou rever dnv a aula, pq sinceramente tu é um monstro da programação e explica muito bem
Hoje em dia se acostumou com o ts?
Se alguém mais teve problema com o uso do ts-node-dev, é porque mudaram uma das flags de --transpileOnly para --transpile-only.
obrigada
25:58 thanks Amodeus
caraca pior que o erro é de que não reconhece o comando ts-node-dev e não a flag, e ainda não acertaram a Doc no npmjs eu nunca ia adivinhar, vlw mano!
Brigadão meu bom, tive problema exatamente com isso aqui
Salvou dms
Que aulão sensacional, meu primeiro contato com TS e já estou achando incrível.
ficou cativante demais! assistir desperta a vontade de se aprofundar mais e mais em TS
Cara muito bom. Eu não havia feito nada com TypeScript ainda e este vídeo me abriu um leque de possibilidades.
Fantastico! Faz uma aplicação com banco de dados sql e typescript e no frontend typescript com react (tsx), igual foi no NLW com o Proffy, amei de mais, obrigado a todos da Rocketseat.
Esse vídeo é magnífico, dá uma base excelente pra quem está começando com Typescript!
Caiu como uma luva para o meu momento. Obrigado por compartilhar
Seria muito legal que os próximos vídeos já começassem a vir no sabor TypeScript. Parabéns pelo canal, ele ajuda demais.
O Typescript por definição ainda vai estar SEMPRE na frente na questão de features. Oficialmente eles sempre implementam na linguagem tudo que chega nas stage-3 proposals do ECMA Script (desde que seja interesse da comunidade). Sendo que o próprio ECMA Script (Javascript) só implementa oficialmente depois de passar o stage-3 e deixar de ser um proposal. Bons exemplos atualmente são o optional chaining (.?), o nullish coalescing (??), e os campos private nas classes
Mas esquece que temos Babel.js, onde podemos não somente usar as features que destacou como também as que estão em stage 2 ou até mesmo inicial. Se for por isso, não há necessidade de TS. Parece que há que lembrar, mas TS é TYPEscript, não FEATURESscript, ou seja, TS é justificado apenas quando há uma necessidade de tipagem, e ainda assim temos Flow. Óbvio que há situações que justificam usar TS, mas não é a que citou.
Acho que ainda sou mto novo nesse mundo pra entender as vantagens do typescript, pra min só parece uma forma de se complicar o que é fácil, acho que o que me falta é um pouco de experiência.
É tipo o que o Diego passou também, isto é, depois de uma certa experiência - não necessariamente longa - que passa-se a observar o quão otimizado e profissional o seu código-fonte se torna quando tecnologias como o TypeScript são acrescidas a um determinado projeto.
Esta mesma questão se extende a outras linguagens com tipagens fracas (como o PHP, por exemplo), onde também é possível aprimorar o código escrito através de tipos e interfaces, traits, etc.
A integração do editores de texto com typescript já faz com o que o uso dele seja muito útil. Dá pra fazer imports automáticos, ver quais parâmetros as funçoes podem receber, isso ajuda muito durante o desenvolvimento.
Para um iniciante é complicado de compreender mesmo. Mas fique tranquilo que com o tempo isso se tornará necessário e super útil 💜
Você não está errado. TS não é uma panaceia, isto é, não resolve tudo. Às vezes até complica problemas, piorando a situação. Em alguns casos pode ser útil, quando por exemplo há projetos com equipes muito grandes ou bem descentralizadas, mas em projetos com equipe reduzida ou até individual, TS é floreio. Um Flow resolve 90%, caso haja necessidade de tipagem. Além do mais, hoje com os avanços em JS e suas versões a diferença entre TS e JS diminuiu muito. Portanto, faça o que funciona e não siga a modinha. Lembre que JS foi criada para ser uma linguagem dinâmica, não para ser tipada. Tipagem tem que ser muito bem avaliada para ver se realmente é justificável em um projeto. Parafraseando Steve Jobs, lembre que há uma beleza inigualável na simpleza.
@@DavidHad melhor resposta a sua.
TypeScript é sensacional! Vou passar a utilizar sempre em meus projetos.
Muito obrigado Diego! Quebrou a barreira que eu tinha com typescript!
Para quem estiver acompanhando em 2022, codando passo a passo junto, vai chegar um momento onde você terá que trocar o --transpileOnly por --transpile-only, pois o --transpileOnly mudou nessa nova versão do ts-node-dev para --trasnpile-only. Se não trocar vai aparecer um erro e não irá rodar o servidor. Deverá ficar assim;
"scripts": {
"dev:server": "ts-node-dev --respawn --transpile-only src/index.ts"
},
To mergulhando em typescript agora e adorei o vídeo. Muito obrigado ❤
Faaaaaala, Anderson! Sério? E o que ta achando desse carinha? Conta pra gente! 💜 🚀
Rocketseat pra mim é sinônimo de graduação em web dev 💜
😍😍💜
Excelente vídeo, obrigado. Se puder, mostra um exemplo de projeto maior integrando várias tecnologias e como elas se interagem
Vídeo muito esclarecedor e ótimo complemento de aprendizagem, obrigada
Rocketseat todas as vagas que vejo e recebo, em sua maioria, ele pedem assim => conhecimentos sólidos em TypeScript
seria para inicio ter umas aulas de o famoso CRUD tanto pata React JS e React Native
Fala Dev, rsrs
Diego e galera da Rocket vcs são Fodas. Eu participei da ultima Next level Week e ainda não tinha tido contato nenhum com Typescript,. E realmente foi uma das melhores coisas que eu aprendi, antes da NLW eu só via conteúdos de JS agora dou preferencia por TS e a Rocket mais uma vez tem que ser parabenizada, pois é um dos poucos canais que vem utilizando e ensinando amplamente o TS, que vem sendo cada vez mais requisitrado no desenvoldimento web e de apps. E com essa masterclass e a hooks com TS ( ua-cam.com/video/GOB-lawExXc/v-deo.html ) tem me ajudado a utilzar aulas antigas de node e react com JS para aplicar os conhecimentos em TS. Um abrço a todo o time e muito obrigado pela dedicação de todos.
Que show Johnny!!! Pode sempre contar com a gente!! Muito obrigado pelo feedback! 💜😍😍
Obrigado cara! Tu mantem a gente atualizado de tudo. Estou partindo para TS. Obrigado. Continua. Ainda
vou fazer o Bootcamp.
Sou Programador PHP e o PHP também está indo nessa mesma linha de se tornar uma linguagem tipada. Antes, na versão 5.x, era somente parâmetro de função, depois, na versão 7.0, passou a ser no retorno da função, e a partir da versão 7.2 ou 7.3, passou a aceitar tipagem nos atributos da classe. Mas, essas tipagens são todas opcionais.
Eu estava estudando Deno e tinha duvida se ele iria substituir o Nodejs, mas agora vendo a quantidade de configurações que é necessario fazer no Nodejs, eu tenho certeza de que Node vai ser substituido. Mesmo o Deno estando num estado embrionário ja é mto produtivo.
Muito bom, consegui fazer o passo a passo. Apenas pra adicionar o @types/express que estava dando erro no terminal do VS code. Consegui usando o terminal do Windows(cmd). Valeu
Muito boa a visão. Estou adotando TypeScript!!!!!!
Meu maior aprendizado nesse vídeo foi tipar a resposta da api no axios valeu!!!!
Booa Anderson! 💜
acho que a resposta para a questão dos benefícios em usar typescript está mais na parte de prevenir excessões em tempo de execução
Ótima explanação e demonstração, perfeito, bom, consigui entender e aprender, bem prático! Bom conteúdo, TOP!!!
Diego, show de vídeo, muito bem explicado, pude aprender muita coisa. Pra mim, o nível de detalhamento foi perfeito: overview :) Assim, deu pra ter uma ideia geral dos benefícios e dos pontos de entrada para conversão do projeto para TS.
Uma sugestão: talvez valesse a pena mostrar que um dos maiores benefícios do uso das interfaces é que elas podem ser COMPARTILHADAS entre os times (backend, frontend, system design e, em alguns casos, até UI/UX). Assim, cada um pode trabalhar independentemente ENQUANTO o backend desenvolve a implementação. Desde que as interfaces estejam definidas - mesmo que por um tempo - ninguém precisa esperar a implementação para desenvolver o front. E não há chance de informação truncada, porque a interface formaliza a definição. Pode-se mudar a implementação à vontade, desde que o "contrato" das interfaces seja respeitado. (sOLId)
Os devs que vem do Java, C++ em times numerosos e, eventualmente, distribuídos (remotos) conhecem bem esse benefício: escala infinita já no desenvolvimento.
Valeu, pelo vídeo, pela explicação dedicada e atenta. Vai me ajudar bastante no projeto CRA que estou migrando para Next.js e quero aproveitar para converter para TS.
Abraço, sucesso para a Rocketseat!
Acompanhei a aula e sim, deu pra clarear muito! Obrigado
Faaaaaala, Felipe!
Que massa que curtiu o conteúdo! 💜 😍
Que conteúdo incrível. Parabéns e obrigado 🙏
Achei que ficou .. digamos.. mais burocrático. Porém te ensina de forma bem intuitiva como "tipar" e melhorar a qualidade do seu código, bem como o benefício de saber de onde está vindo cada coisa. Mas é uma avaliação muito pessoal de cada um saber se faz sentido usar ou não.
Por favor, traga o video de TypeORM
Opa Mateus! Já na lista 💜
@@rocketseat , só pra ser chato e parafrasear o Mateus, que eu nem conheço mas já considero pacas: "Por favor, traga o vídeo de TypeORM
@@rocketseat É sério cara, TypeORM por favor!
@@rocketseat É sério cara, TypeORM por favor! 2
@@rocketseat TypeORM pleeeease
Bem maneiro, tenho trabalhado muito com Ionic e Typescript tem se mostrado muito legal, adorei aula, quero mais conteúdo sobre!
que tal a próxima semana omnistack ser TDD com typescrypt ??
Apoio, mas a semana omnistack não é algo tão focado na "teoria".
@@JoaoOliveira-fz2nv TDD não precisa ser teoria, e só ele mandar na pratica com JEST
Eu já ia comentar isso kkk
Seria massa. Mas acho que a semana omnistack é mais focada pra quem tá iniciando na stack :\
@@DelPieroJoga10 , mas typescript precisa
Deu uma clareada boa!!! Nenhum motivo melhor do que seu chefe mandar vc usar ne, mas ficou cativante sim hahaha
Abrs valeu pelo conteudo
sou um aluno rockseat, realizando o metodo ignite para tentar acompanhar a minha equipe. Você enfrentou a mesma dificuldade que estou enfrentando... parece que gerei um bloqueio, migrando do php fullstack, pro node+react+typescript+next...
Parabéns pela didática e objetividade, Diego! Video sensacional!!
Vídeo épico, typescript é muito top. Parabéns Diego!!!
Que vídeo incrível! Obrigado.
Curti demais, aprendi a programar com Java, então não pareceu tão complicado assim
Boa Introdução, deu pra ter uma noção um pouco melhor de como é trabalhar com o Typescript. Apesar de hoje em 2022 preferir usar o Vite pro frontend em ReactJs hehe
Oque seria o vite exatamente? Só vi na prática que ele compila muito rápido mas em compensação não alerta alguns erros
Sensacional!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Faaaaaaala, Antonio! Valeu demais!!!!!!!! 💜 🚀
Que lindo cara. Que delícia esse typescript
Precisamos de um guia completo de Typescript + NodeJS + Sequelize, pois não existe nada adequado na internet. Ótimo conteúdo. #Brazil
Opaaaa, Jose! Anotamos sua sugestão aqui!
Valeeeu! 💜 😍
@@rocketseat Um adendo, Typescript + NodeJS + Sequelize + Testes, haha esqueci do mais importante..
Faz um vídeo de como criar uma aplicação com salvamento de dado local com realm e redux-persit + fila de ações para envio a api. Se puder acho que ajudaria muito os devs a entender a arquitetura de um app mais complexo.
Parabéns pelo conteúdo! AInda apanho usando typescript, mas consegui fazer o projeto rodar consumindo a api do backend.
Preciso fazer vários masterclass desse pra conseguir tipar os objetos nos lugares corretos. Pra mim é a maior dificuldade, onde por essas tipagens...
Diego manda muito bem, só fala um pouco rapido haha to assistindo o video em 0.75 e ta tranquilo. Esse video ta me ajudando mt
muito bom mano! Espero muito ver mais conteudo abrangendo React junto com TypeScript
Valeu Diego, sensacional esse vídeo. Sem dúvida vou buscar mais conhecimento sobre o TypeScript.
Valeeeu pelo feedback, Marcos! 💜
Fiquei pensando se ele iria utilizar o Sequelize com o Typescript, mas ele recorreu ao TypeORM, ainda bem, usar o Sequelize com Typescript gera muitos problemas, em grande parte devido ao suporte ruim do Sequelize
Aula excepcional!
Valeeeu, Tiago! 💜 😍
@@rocketseat 😁😁🙏
Um ponto importante a citar também é que projetos em linguagens com tipagem mais forte são mais fáceis de refatorar.
Se sair um vídeo de Typescript com TypeORM, eu faço a próxima semana omnistack toda em Typescript
Excelente, muito obrigado
Que massa que curtiu, Albeneto! 💜
Eu tenho ainda uma visão parecida com a do Deschamps, bom, acho que foi por conta de ter entrado em contato com o React agora também, e foi muito para absorver, mas as definições de prototipagem quando você considera variável de tipos do TS, complica um pouco as coisas... Na real eu super concordo com o Diego quando ele fala fala de que isso para o time, "ajuda de mais" para rastrear definições entre os tipos no código implementado, o problema é implementar ainda, e lidar com ele depois de implementado. TS sobre JS é ainda um código sobre o código, e é bom, mas o quanto conseguimos abstrair para não perder tempo?
Belo vídeo. Parabéns Diego!
Fala, Newton! Valeeu pelo feedback! 💜
Objetivo atingido com sucesso. Obrigado. :-)
Muito interessante o vídeo. Acredito que seria interessante criar um pacote com as interfaces para ser utilizado no projeto de frontend e backend.
Excelente como sempre!
Valeeeeu, Valter! 💜 😍
muito bom a aula e o método de ensinamento S2
A parte de React me convenceu a focar no Angular
Muito bom, vou começar esse novo desafio, todavia, espero por mais conteúdos em TS!! É sensacional.
Prática começa em 10:21
Boa! Ajudou muito.👍
@Rocketseat Parabéns pelo vídeo, acho que poderia só ter explicado como faz pra configurar testes em TypeScript, já que no JS temos o Jasmine
Faaala, Gustavo! Valeeu pelo feedback e pela dica! 💜💜
Typescript ao infinito e além !!!
Sempre!! HAHAHAHA 🚀
Depois que começa a usar é muito difícil parar, né, Rogério!? 😉 💜
@@rocketseat Confirmo o fato , kkkkkkkk .
Diego, faz video usando TypeORM com ts em algum projetinho etc
top, muito obrigado
Sensacional !
Faala, Rabelo! Muito obrigado pelo feedback !💜💜
Olá... considerando a alteração que fez na Interface IUser e teve que fazer isso no outro arquivo que utiliza a mesma estrutura, existe a possibilidade de criar um arquivo contendo todas as interfaces da aplicação? Se sim, como isto é importado nos arquivos em que estas seriam utilizadas?
Sim, você faria uma pasta de interfaces (similares a de controllers) e criaria o arquivo correspondente à ela, colocando um "export suaInterface' para possibilitar que ela seja consumida em outros arquivos, como por exemplo: " import { suaInterface } from '../interfaces/interface.ts' ". Espero ter ajudado :)
@@JoaoOliveira-fz2nv Tem uma forma que eu uso que considero um pouco melhor ainda. Nessa pasta de interfaces, eu crio um arquivo para cada domínio, mas com a extensão .d.ts e ao invés de export eu uso o declare. Quando eu dou um declare em um type ou interface, ele fica disponível no meu projeto sem a necessidade de fazer o import dessa interface. Refatorando o código que o julioze fez aqui embaixo, ficaria assim:
#src/interfaces/IRole.d.ts
declare interface Role {
...definicao da interface
}
#src/interfaces/IUser.d.ts
/*note que não preciso fazer o import de IRole aqui*/
declare interface IUser {
id: number;
company_id: number;
username: string;
email: string;
roles: IRole;
}
@@squitt, que massa cara, com certeza eu vou implementar isso nos meus projetos. Obrigado.
@@squitt Que doidera, não sabia dessa, já tinha visto mt esses arquivos d.ts mas não sabia que serviam pra isso, bem legal
@@squitt mas esse declare não deixa o codigo vulnevarel? por poder ser acessado de qualquer arquivo e etc, e outra, esse declare não impacta na performance ou consumo de ram da aplicação?
O que seria melhor nesse caso, criar um IUser global e sempre chamar ele ou cria ele em cada arquivo como foi feito no projeto?
Typescript
Onde faço a inscrição?
@@marcosandre6916 Brother, não sei posso divulgar o link, mas em algum anuncio aqui do youtube você vai ver sobre, e também, acessa o instagram deles, @rocketseat_oficial, que lá tem o link se n me engano
@@thiagoalencar3237 Vlw irmãozinho... sz
A minha lombriga de usar TypeScript atacou agora, realmente eu tinha todo e qualquer receio de usar mas esse vídeo me deu uma vontade tremenda de iniciar novos projetos em TypeScript, vlw Diego, bem didático e prático, parabéns a todos envolvidos!
hahah vem pro TS, Luiz! 💜
Diego, não teria uma maneira de reduzir o número de interfaces criadas no React não? Achei um pouco estranho ter de criar a mesma interface em dois lugares diferentes
Tem sim, o que eu fiz no meu primeiro projeto TS foi criar um arquivo chamado interfaces e todas as interfaces que eu precisava eu colocava lá com o export na frente, dessa forma sempre que eu precisava dela em algum componente eu só importava do arquivo, um exemplo seria import {IUser} from 'interfaces'; e no intefaces.ts algo como export interfaceIUser{**your code**}
espero ter ajudado :)
Trabalho em uma equipe de muitos desenvolvedores. Impossível desenvolver com esse volume de pessoas sem typescript.
Cara que show!
Gostei bastante já estava utilizando o typescript com e typeorm porém me esclareceu alguns conceitos.
Muito obrigado.
Só fiquei com algumas duvidas.
- Agora me diz uma coisa como eu poderia compartilhar os tipos entre backend e frontend?
- E no caso do código transpilado eu caso eu faça acesso a algum erro que ocorreu em tempo de execução, teria como saber exatamente a linha que ocorreu?
Desde já muito obrigado!!
Que legal que te ajudou Murilo! Valeu pelo feedback 💜
Fiquei com esta dúvida também
Typescript foi um trabalho estraordinário da Microsoft. Então dizer que: "não sabe se ajuda ou atrapalha" significa demonstrar não entender nada dos fundamentos de ciência da computação. É louvável ser objetivo e conhecer muitas das ferramentas de alto nível (frameworks) pois elas ajudam na produtividade. Agora, embasar uma conclusão em premissas tão superficiais é induzir muitos estudantes a ter um futuro mediocre. Você precisa estudar os fundamentos. Já percebi que você sabe quais são alguns deles (fundamentos), existem muitos outros. Ser animador de auditório com conhecimento raso pode ser muito prejudicial.
maluco... você é chato hein
Faz um vídeo de Typescript aplicado a React Native
Valeu Diegão
Não tenho TS nas minhas Skills e isso já fez eu perder oportunidades recentemente, nos requisitos não falaram nada sobre e quando passei pela entrevista após fazer teste eles exigiram conhecimento em TS e TDD. 😔
Seus vídeos ajudam demais Diego, um grande abraço.
Excelente aula! Parabéns!!
Adorei suas extensões, poderia passar o que você tem usado ?
Faaala, Mateus! Vou te passar uma listinha das que mais usamos, ta bom!? 😉
- Live Share
- Git Lens
- Material Icon Theme
- Vscode-styled-components
- Color Highlight
O tema que usamos é o *Omni* .
Valeeeu! 💜 😍
@@rocketseat valeuuuuuuuuu
Obrigado pelo vídeo, me salvaste.
A parte de usar os não entendi muito bem!
clareou legal man
Gostei muito da sua didatica , vc tem um curso ou playlist que ensine tudo do inicio? cai de paraquedas aqui pra entender TS, mas pra entender esse video precisa manja de backend, express, React , libs, package etc.. eu fiquei meio "calma ai parceiro " kkk
O ideal seriasaber os dois, mas na duvida é melhor começar pelo javascript da toda a base e depois ver as diferenças.
Boa Rafy, isso mesmo! 💜
No caso eu poderia criar um arquivo contendo essa definição do IUser e onde precisar definir a um User eu só importo ele p ser utilizado e quando precisar alterar algo como foi mostrado essa alteração vai ser p todos os outros aquivos que estejam utilizando essa definição? ou não da p ser assim?
Boa Tarde Diego, parabéns pelo vídeo! Como sempre muito didático... Bora codar com princípios SOLID? Quando estes vídeos virão a tona? rsrs
Diego, faltou explicar como usar o tsc com npm ...
Travei logo nessa parte...pesquisei e ainda não encontrei como executar o comando. Tentei "npm tsc src/index.ts", "node tsc src/index.ts", até "tsc src/index.ts"...tudo dentro da pasta backend, e só apresenta mensagens de erro.
@@atilalevy8793 não manjo muito mas ficaria "npx tsc src/index.ts", não sei dizer o porque do npx
@Rocketseat, uma pergunta não muito a ver com o vídeo, mas gostaria de saber com relação ao seu setup, qual monitor, teclado, e mouse você utiliza em conjunto com Macbook?
a questão é, qual o laptop, teclado, e monitor que está sendo utilizado no video
Eu também não consigo mais ficar sem, eu chego a programar em JS normal, mas sinto a necessidade muito rápido e no final das contas acabo convertendo em TS.
Vale a pena aprender mesmo ? To querendo começar
Diego, então a medida que o ts for crescendo, o javascript funcional vai voltar a dar espaço a POO clássico?
eu estou estudando essa stack a mais ou menos um ano, e vim do POO clássico em PHP, a maioria esmagadora dos conteúdos que encontro é em cima do javascript funcional.
me da uma luz ai no que ue devo focar, pq aparentemente o ts utiliza muito os conceito de POO classico, inclusive quando vc falou sobre patherns.
vlw e parabens pelo video.
Assim como javascript typescript é multi paradigma, lembre-se que o typescript tem tudo que o javascript tem.
tudo vai do desenvovedor. Os desenvolvedores do Vue por exemplo, quando começaram a implementar o Vue 3 (que vai ser 100% em typescript) concordaram em descartar as classes e fazer tudo em funcional. Eu nos meus projetos tento fazer tudo funcional, com exceção dos módulos do Vuex, que eu faço com o vuex-module-decorators
Rapaz se eu não fosse formado ainda iria colocar como agradecimentos na minha monografia a Rocketseat.
Vaaaaleu, Silas! 💜