marciovz / github-blog-reactjs-ignite2022 Goto Github PK
View Code? Open in Web Editor NEWO github Blog é uma aplicação WEB de um Blog pessoal que consome postagens armazenadas nas issues do github.
O github Blog é uma aplicação WEB de um Blog pessoal que consome postagens armazenadas nas issues do github.
Commits padronizados servem para ajudar você e sua equipe a entender melhor o que foi feito no desenvolvimento
* Texto de Gustavo Henrique da Silva,
Application Development Analyst na Accenture
Já precisou entrar no seu github para procurar noscommits qualquer alteração que tenha feito e se deparou com algo mais ou menos assim?
No início eu não sabia que existiam boas práticas para escrever um commit, então acabava escrevendo desse jeito: “Start”, “Melhorias” e “Update”. Sempre que precisava buscar algo, ficava perdido, sem achar as alterações que queria. Isso aconteceu até eu descobrir o Conventional Commits.
Conventional commits é um padrão de escrita de mensagens de commit que segue uma estrutura específica para facilitar a geração de changelogs automatizados, melhorar a comunicação entre desenvolvedores e ajudar a manter o histórico do repositório organizado.
Esse padrão está alinhado com o semver (semantic versioning), descrevendo recursos (features), correções (fixes) e alterações (changes) efetuadas nos commits. Entre os benefícios desse padrão, podemos citar:
O padrão é baseado em um prefixo específico (tipo), um escopo opcional, um espaço em branco, uma mensagem curta, uma descrição detalhada opcional e um rodapé, ficando da seguinte forma:
TIPO: [DESCRIÇÃO_DO_COMMIT]
[
CORPO_DO_COMMIT
]
[RODAPE_DO_COMMIT}
Os prefixos em "Conventional Commits" são labels utilizadas para identificar o tipo de mudança feita em um commit. O objetivo dos prefixos é fornecer uma maneira padronizada de identificar o tipo de mudança em um repositório, o que pode ser útil para equipes de desenvolvimento de software. Aqui você pode conferir alguns dos tipos existentes:
Cria um novo recurso no código.
Corrige um bug no código.
Mudanças que não afetam o significado do código (espaço em branco, formatação falta de ponto-e-vírgula, etc).
Uma alteração que não corrige um bug, nem adiciona um novo recurso.
Adicionando testes ausentes ou corrigindo testes existentes.
Apenas a documentação.
Alterações no processo de compilação ou ferramentas e bibliotecas auxiliares, como geração de documentação.
Mudança de Código que melhora performance.
Alterações que afetam o sistema de compilação ou dependências externas (npm, gulp, broccoli).
Alterações em nossos arquivos e scripts de configuração de CI (Travis, Circle, github actions).
Exemplo:
feat
O escopo do commit é uma parte opcional, curta e de fácil compreensão. É nela que iremos dizer qual parte do código foi modificada e como indicar que fizemos alterações apenas na camada de Client de um serviço.
Exemplo:
feat(usuario):
A descrição, juntamente com o tipo, é uma das partes mais importantes do padrão: é aqui que deve ser descrito, de maneira clara, sucinta e simplificada, o que foi realizado no commit. É recomendado que essa parte tenha, no máximo, 70 caracteres, para que não se estenda muito.
Exemplo:
feat(usuario): criação da tela de login
O corpo é a parte da mensagem de commit que fornece detalhes adicionais sobre as alterações feitas no código. Ele é opcional, mas é recomendado, especialmente quando as alterações são complexas ou precisam de contexto adicional. O corpo do commit deve ser escrito em uma ou mais linhas e deve fornecer informações suficientes para que outros desenvolvedores possam entender o que foi mudado e por quê.
A descrição curta e o corpo do commit, juntos, formam a mensagem de commit completa.
Exemplo:
feat(usuario): criação da tela de login
- criação da tela
- validação do e-mail
- validação da senha
O rodapé também é uma parte opcional da mensagem de commit que pode ser usado para fornecer informações adicionais sobre as alterações feitas no código. Ele geralmente é colocado após o corpo da mensagem e é separado do corpo por uma linha em branco. O rodapé do commit pode ser usado para incluir informações como números de ticket de suporte, links para relatórios de bugs ou outros recursos relacionados.
Exemplo:
feat(usuario): criação da tela de login
- criação da tela
- validação do e-mail
validação da senha
Closes #123
Para facilitar a aplicação desse padrão existem ferramentas que podem te auxiliar bastante.
Husky
Cria um Hook para validar o commit com o CommitLint.
CommitLint
Tem como objetivo ajudar você e seu time a aderir o padrão convencional de commits validando o commit quando ele é efetuado.
Commitzen
Ajudar a escrever o commit com todas as informações necessárias, te ajudando a não esquecer nada.
Às vezes é um pouco chato instalar e configurar ferramentas. Por isso, criei um script que pode ser usado para criar o projeto do zero e configurar as três ferramentas.
Requisitos para executar o script:
Ter YARN instalado
Básico de Shel Script
Observação: o Yarn pode ser substituídos por NPM
Aqui você vai encontrar o script criado para configurar um repositório do zero com as ferramentas que comentei acima, assim você só vai precisar se preocupar em executar o comando.
Se você quiser saber um pouco mais, pode acessar as documentações utilizadas aqui:
E aí, o que achou ?
Espero que tenha gostado!
Repositório hospeda cerca de 1,3 milhão de pacotes, atingindo métricas de até 75 bilhões de downloads mensais
npm é uma sigla para Node Package Manager, cuja tradução direta é bem simples: Gerenciador de Pacotes Node.
É um recurso incluído e recomendado para usuários de Node.js, framework de desenvolvimento back end em JavaScript.
O nome já é auto explicativo, no entanto, vamos destrinchar as peculiaridades da ferramenta um pouco além disso.
Somos uma plataforma completa de aprendizado contínuo em programação
Segundo a comunidade Node.js, npm é, em tese, duas coisas: um repositório online para a publicação de projetos open-source em Node.js e uma linha de comando (código) utilizada para criar interações entre repositórios, instalação de pacotes, gerenciamento de versões e dependências.
O seu repositório hospeda cerca de 1,3 milhão de pacotes, atingindo métricas de até 75 bilhões de downloads mensais. Este recurso pode ser explorado na página oficial da ferramenta e a instalação de qualquer pacote é expressa em uma única linha de comando.
Criado e desenvolvido em 2010 pelo engenheiro Isaac Z. Schlueter, na época que o Node.js ainda era uma ferramenta emergente. Naquele momento, o cenário de programação back end em JavaScript estava começando a ser desenvolvido e aperfeiçoado pela comunidade.
Segundo Isaac, nesta discussão histórica, publicada em 2013 no GitHub, ele desenvolveu o npm porque:
"tinha visto o empacotamento de módulos ser feito de maneira terrível e brilhante, e queria ter certeza de que o Node não acabaria com algo como Pear."
Os números não deram trégua: o recurso foi uma ferramenta crucial para o ambiente JS durante os próximos anos. Com o sucesso do ecossistema back end JavaScript — liderado pela comunidade Node.js —, em 2014 Isaac criou a empresa npm, Inc para formalizar a gestão da ferramenta e sua expansão cada vez mais significativa.
Em 2020, o GitHub (já como subsidiária da Microsoft) comprou a npm, Inc com o objetivo de melhorar a infraestrutura do gerenciador de pacotes, além de agregar ainda mais para a experiência de desenvolvimento e da comunidade.
Aqui você vai encontrar o caminho para estar entre os melhores
Nat Friedman, CEO do GitHub, ao anunciar a compra reconheceu que "npm é uma parte crítica do mundo JavaScript", justamente por sua participação referência durante estes 10 anos de maturidade e contribuição open source.
GitHub é uma subsidiária da Microsoft desde 2018, numa compra estimada no valor de US$ 7,5 bilhões.
Apesar de ser uma atitude recente da Microsoft, uma das leituras possíveis é que a gigante está investindo cada vez mais no ecossistema de código aberto JavaScript.
Para quem gostaria de ter uma introdução básica sobre o que é e como funciona o npm, recomendo esta leitura rápida, disponível no blog da Hostinger, escrita por Andrei Longen.
Este vídeo, em inglês, publicado pela freeCodeCamp.org também é uma boa referência inicial.
Fundamentos-da-programação
Felipe Buzzi
Content writer @ Rocketseat
Muitas coisas aconteciam simultaneamente no mundo durante a década de 70, principalmente na tecnologia: basta dizer que o primeiro email foi enviado em 1971, por Ray Tomlinson. O que aconteceu também foi a estreia da sketch televisa de humor, Monty Python’s Flying Circus, na BBC britânica, em 1969. Esse pequeno evento televisivo influenciou gerações, incluindo — sim — programadores.
Você já deve ter pego a referência com o tema do artigo, certo? Em 1991, vinte anos depois, influenciado pelos roteiros surreais do seriado inglês, Guido van Rossum decidiu nomear a linguagem que desenvolvia em homenagem ao humor: então surge o Python.
Um fato histórico que une comediantes, tecnologia e programadores.
Acelere cada etapa de sua carreira em programação
Em poucas palavras e seguindo a definição deles, Python é uma linguagem de programação interpretada, interativa e orientada a objetos. Em tese é uma linguagem que combina velocidade com tipagem dinâmica e forte, “fácil-para-ler”.
Isso é apenas a superfície da tecnologia, já que existem fatores que influenciaram o seu crescente uso no mercado da programação.
Exatamente no meio entre JavaScript e Java, Python ocupa o pódio entre as gigantes que o mercado procura, e conquistou a programação com a sua estrutura madura — de mais de 30 anos — referência, humor e comunidade.
Toda a filosofia da tecnologia é baseada no Zen of Python, uma coleção de 19 princípios que influenciam o design e a experiência de programar usando a linguagem.
“Beautiful is better than ugly, explicit is better than implicit, simple is better than complex”.
Guido van Rossum trabalhou na linguagem desde a década de 80 até 2018, quando se afastou do projeto. Antes de criar o Python, Guido fazia parte do time de desenvolvimento da linguagem ABC, na Holanda. Segundo ele — e com base nas demandas da época — existem três fundamentos que o guiaram no desenvolvimento do Python: legibilidade, extensibilidade e manutenção.
A filosofia central da tecnologia é baseada na frase: “deve haver uma - e de preferência apenas uma - maneira óbvia de resolver o problema”.
Segundo o HackerRank Survey de 2020, 49,5% das empresas procuram por programadores com Python entre as habilidades, perdendo apenas para o JavaScript, com 53,6%.
Não há dúvidas sobre a referência do Python dentro da comunidade e do mercado, no entanto, há certos nichos que vale ressaltar sobre a usabilidade da tecnologia e seu ecossistema. Apesar de ser reconhecida por trabalhar bem com outras linguagens e ter um vasto uso, incluindo desenvolvimento web, o Python conquistou, ao longo da última década, espaço dedicado dentro do gerenciamento de dados em redes sociais e machine learning.
Em 2017, Python chamou a atenção por ser considerada a linguagem que mais crescia dentro da comunidade, segundo o Stack Overflow. A conclusão deles foi que havia um crescimento da tecnologia no meio dos setores de data science, machine learning e pesquisa acadêmica, bastava ver os números de perguntas relacionadas ao Pandas, biblioteca para manipulação de dados e análise.
Como consequência disso, as frameworks de desenvolvimento web com base no Python, como Django e Flask, também cresceram. Vários motivos explicam a preferência, entre eles as filosofias citadas anteriormente. Se querem ficar bem por dentro dos números do Stack Overflow, basta ver o survey deles de 2019.
A gente viu que Python está no mercado há anos, não é nenhuma novidade dentro da tecnologia. Concluímos que sua aplicação está cumprindo objetivos dentro de um nicho: o mercado de data science e machine learning, impulsionado nos últimos anos com a maturidade desse setor e de novas demandas. De novo, o embate de qual é a melhor linguagem é contra produtivo, você deve avaliar diversos fatores dentro dos ecossistemas.
A programação é complexa e nada é tão simples.
As únicas coisas que são vantajosas, em todas as situações, é o conhecimento e a bagagem de informações que você acumulou ao longo do tempo. A história da tecnologia não para.
Felipe Buzzi
Content writer @ Rocketseat
Desenvolvimento de software possui diversas bases teóricas que definem o comportamento da programação e ajudam a padronizar métodos de criação. Os livros possuem um papel fundamental para a compreensão dessas bases, eles estão localizados no que definimos de “tempo da reflexão”, um pouco distantes do “tempo da prática”. Os princípios do Código Limpo fazem parte de um conjunto de filosofias extremamente importantes e populares no ecossistema.
No entanto, principalmente entre iniciantes, ainda existem dúvidas sobre o que é, afinal, um “código limpo” e o que ele representa na prática e na lógica do mercado.
Embarque em nosso foguete e acelere etapas da sua carreira em programação
Robert C. Martin escreveu o livro “Clean Code” em 2009, um pouco antes da virada da década, e desde então serve como referencial fundamental para a consolidação de novos projetos que surgiram entre 2010 e 2020.
Além de ter uma bibliografia referente na área, Robert foi um dos co-autores do manifesto ágil. Ele também definiu os cinco princípios de design SOLID, com o objetivo de tornar o desenvolvimento de software mais compreensível, flexível e sustentável.
Com uma extensa carreira no desenvolvimento de códigos, Robert se dedica em unir os dois tempos, reflexão e prática, para contribuir na qualidade de vida dos programadores e usuários, aproximando a tecnologia com interesses humanos.
O desafio aqui é me propor a explicar para você o que é código limpo da maneira mais objetiva possível, sem deixar confusões e, no mínimo, alimentar a sua curiosidade em saber mais sobre o assunto.
E eu confesso que já comecei errado: “clean code” é uma ideia subjetiva reunida com base em princípios de boas práticas, ou seja, não há características definitivas.
Não há regras, nem leis, nem manuais. No entanto, há pistas que podemos encontrar, entre estudos de erros e acertos, do que pode ser considerado um exemplo de código limpo.
Para definir o que é Código Limpo, nessa palestra disponível no YouTube, Robert cita alguns programadores reconhecidos pela comunidade. Grady Booch define:
“código limpo é simples e direto. Código limpo é lido como uma prosa bem escrita”.
Booch é um dos teóricos responsáveis em criar os fundamentos de projetos orientados a objetos, e abriu portas para novas metodologias de desenvolvimento colaborativo.
A sua definição sobre código limpo está conectada à legibilidade do código, cujo deve ser lido e apreciado como prosa literária.
Bjarne Stroustrup, criador do C++, apresenta uma definição um pouco mais objetiva e reflexiva na prática:
“Eu gosto que meu código seja elegante e eficiente… uma coisa o código limpo faz bem”.
Bjarne apresenta uma visão única ao unir elegância e eficiência dentro do desenvolvimento.
O programador Dan Abramov, um dos desenvolvedores do núcleo React, no Facebook, escreveu um artigo provocando o conceito de clean code e sobre a busca, quase obcecada, de muitos programadores pelo código elegante.
Você pode conferir o artigo aqui.
Nas palavras de Dan, “código limpo não é um objetivo. É uma tentativa de buscar sentido nessa imensa complexidade de sistemas que estamos lidando”.
Como vocês podem reparar, unir consenso e fechar o conceito numa frase única, objetiva, definitiva, pode gerar uma série de problemas, já que a tecnologia é movida por resultados e subjetividades humanas.
Para compreender o que é código limpo basta observar e refletir com atenção — e carinho — suas boas práticas. Muitos profissionais da área eventualmente vão passar por um momento de reflexão e observar seus princípios — com suas respectivas subjetividades e objetivos em mente.
Concordamos que pode ser um passo fundamental para quem precisa expandir novas rotas dentro da programação e compreender melhor a fluidez do conhecimento e da tecnologia.
Em 2015, bem no começo do canal, o Filipe Deschamps fez um vídeo para comentar a sua leitura sobre “Código Limpo” e pontuar os princípios da filosofia.
Sobre reflexão e boas práticas, o Diego Fernandes, aqui na Rocketseat, fez um Code/Drops no passado para explorar os princípios da programação, entre eles o DRY, KISS e YAGNI. Você pode ver o vídeo aqui.
Felipe Buzzi
Content writer @ Rocketseat
As principais lições e dicas compiladas para quem está começando na programação ou migrando para a área.
*Texto por Camila Coelho
Hoje devs são peças fundamentais de todo negócio, estão nas startups e nas pequenas e médias empresas que buscam soluções tecnológicas para seus produtos e serviços.
Em uma busca rápida, é possível encontrar centenas de notícias e pesquisas que apontam a falta de mão de obra qualificada na área. A conclusão das matérias é a mesma: sobram vagas no Brasil e chovem oportunidades internacionais.
Quem se destaca pode nadar de braçada nesse oceano de possibilidades. Nesse artigo estão reunidos todos os ensinamentos para você iniciar sua carreira em programação com o pé direito.
Antes de tudo, você precisa saber para onde está indo. Iniciantes na programação costumam se perder em meio a tanta informação. Você precisa ter objetivos bem definidos para traçar a melhor rota de evolução na carreira.
Certifique-se de ter uma base sólida nos fundamentos da programação. Só depois de conhecer o básico, você saberá para onde seguir. Esse curso gratuito ensina programação desde o marco zero, para quem nunca teve contato com tecnologia e ajuda a consolidar conhecimentos padrões.
Conhecer uma única tecnologia profundamente vai te ajudar mais que saber várias superficialmente. Isso não significa que você nunca poderá aprender outras no futuro, apenas que vai direcionar seu foco para um objetivo de aprendizagem.
Dominando uma linguagem você se aproxima de empresas que costumam buscar por pessoas que cumpram papéis específicos em um time de tecnologia.
Acompanhando a evolução das ferramentas que usa, você não deixa que suas aplicações fiquem ultrapassadas e continua relevante para o mercado.
Tenha em mente que a tecnologia está em constante evolução, devs precisam continuar estudando mesmo depois de ingressar no mercado. Ter o hábito de se dedicar aos estudos irá fazer toda a diferença no seu crescimento de carreira.
Defina um plano de estudos que faça parte da sua rotina da melhor forma possível. Dicas para construir seu cronograma de estudos:
Ter frequência nos estudos é mais relevante para o seu aprendizado que focar por grandes períodos de tempo.
Estudar todos os dias o ajudará a fixar conhecimentos ao manter-se em contato recorrente com o que precisa aprender. É preferível que você estude por um período de tempo menor por dias recorrentes, que por muitas horas em um único dia da semana.
Não tem jeito, programação é uma disciplina prática. Apenas codando que você vai conseguir desenvolver suas habilidades técnicas. A teoria virá a partir da prática, não ao contrário. Praticar também vai te ajudar a desenvolver o pensamento crítico necessário para resolver problemas e priorizar tarefas.
Se envolver em comunidades será um divisor de águas para sua carreira. Ajudar outras pessoas desenvolvedoras vai fazer com que você fixe melhor seu aprendizado. A comunidade vai te dar suporte frente a problemas desafiadores para você.
Evoluir em comunidade também é uma ótima oportunidade para você se preparar para trabalhar em um ambiente de Pair Programming.
Pair Programming é uma técnica de desenvolvimento ágil em que devs trabalham em pares, em uma única estação de trabalho. Em algum momento da sua carreira você vai ter contato com o trabalho em par, use a comunidade para sair na frente e se preparar para ele.
Dica: abra em nova aba ou favorite esse guia prático de como contribuir para o ecossistema de tecnologia. Ele tem dicas super úteis para você que está começando a programar.
Em toda e qualquer carreira, fazer Networking é uma das principais estratégias de visibilidade para profissionais. Em desenvolvimento não seria diferente.
Ao passo que ganha relevância na comunidade, melhores oportunidades chegarão até você. Ou talvez, você possa encontrar aquela pessoa que vai criar sociedade com você para empreender conforme seus objetivos, e se conectar com profissionais que você conhece as competências.
Soft Skills são as habilidades comportamentais, aquelas que vão além dos seus conhecimentos técnicos. Não negligencie suas habilidades de comunicação, atitude, pensamento crítico, criatividade e outras que não podem ser substituídas pelo domínio da programação.
Parece complicado para quem se acostumou a lidar apenas com a sua própria tela, a boa notícia é que você verá o desenvolvimento dessas habilidades fluir sempre que você estiver presente em comunidade, compartilhando conhecimento.
Pense na sua carreira profissional como uma marca. Sua marca precisa ser sólida, ter credibilidade e ser divulgada. Para se destacar no início da sua carreira ou em qualquer outra etapa dela, avance por alguns atalhos como Eventos de Tecnologia, Hackathons e Projetos Pessoais.
Eventos de tecnologia - Basta acompanhar as comunidades para ficar por dentro dos principais eventos de tecnologia. Desde workshops, para você aprender praticando, a empreendedorismo e conversas, para você acompanhar o avanço da tecnologia. O Networking é outro ponto positivo de fazer parte dos eventos sempre que possível.
Hackathons - Esses são eventos que podem ser definidos como uma disputa prática para profissionais de tecnologia. Os Hackathons te ajudam a ganhar experiência no desenvolvimento de soluções em grupo, indo da ideação ao produto final.
Projetos pessoais - Os projetos pessoais são uma forma de você desenvolver suas habilidades técnicas, criatividade e pensamento crítico. Tudo que você construir se torna bagagem para seu currículo e casos reais para o seu portfólio.
Importante, adicione tudo que você fizer ao Github e escreva um bom README.
Todos seus projetos contam como experiência para seu portfólio, independentemente da complexidade. Como toda sua evolução, a construção do seu portfólio também começa com um primeiro passo e vai avançando de nível.
Mesmo que você acredite que não tem por onde começar, comece. Com o tempo seu conhecimento e projetos vão ganhando forma.
Tá sem ideia de projetos e já quer começar a se desafiar? Entre no Discover, você terá acesso a dezenas de desafios com instruções de como realizá-los.
Um conjunto de ferramentas JavaScript que adicionou tipagem e novos recursos na linguagem
Faz algum tempo já que estamos encantados com o TypeScript e já inserimos a tecnologia em nossa programação diária. Entre iniciantes ainda existe muitas dúvidas sobre o que significa, na prática, TypeScript e quais são suas diferenças com o JavaScript.
Os que já estão mais adaptados com ele, no entanto, podem não saber de detalhes, ou curiosidades, relevantes sobre a trajetória do TS dentro do mercado de trabalho.
O conteúdo de hoje vai se aproximar de uma conversa mais técnica para tentar responder algumas perguntas e compreender, afinal, quais foram os impactos do TypeScript em nossos códigos.
O mapa completo para você impulsionar sua evolução
Dizer que TypeScript é uma linguagem pode servir para generalizar a sua adoção e simplificar a referência, no entanto, pode ser um pequeno deslize de definição. Segundo a Microsoft, TS é um superconjunto — superset — de JavaScript que adiciona novos recursos na linguagem, como tipagem.
Ou seja, um conjunto de ferramentas criado e encorpado sobre o JavaScript. Foi desenvolvido por um time de desenvolvimento dentro da Microsoft e seu primeiro release foi em 2012.
Demorou um tempo para ser adotado pelo mercado, mas em 2018 a tecnologia já disputava o pódio entre as linguagens mais amadas dentro do ecossistema de desenvolvimento web, ocupando o quarto lugar.
Algumas coisas podem justificar o impulso da linguagem, que completa oito anos agora em outubro. O ponto definitivo para se tornar referência aconteceu em 2016, quando o Angular, framework da Google, decidiu adotar o TypeScript como linguagem oficial.
Esse evento pode ser ilustrado neste gráfico do Stack Overflow — repare no crescimento do número de perguntas da comunidade nos últimos quatro anos. Em 2020 o TypeScript se coloca em segundo lugar entre as linguagens mais amadas, de acordo com este survey.
Segundo o atual engenheiro líder da equipe que mantém o TypeScript na Microsoft, Ryan Cavanaugh, nesta entrevista para o Stack Overflow, a iniciativa surgiu porque alguns times dentro da empresa, como o TFS e Office, queriam criar aplicações grandes utilizando JavaScript.
Na época essas equipes estavam acostumadas com linguagens estaticamente tipadas, como C++, C# e Java.
“Eles queriam ter essa tipagem estática disponível para escalabilidade e tooling”.
Ao invés de criar uma nova linguagem do zero, no entanto, eles decidiram pegar o JavaScript e adicionar tipagem estática nele para uso imediato. Recomendo vocês darem uma lida com atenção na entrevista de Ryan para saber de detalhes sobre as decisões internas da Microsoft ao desenvolver o TypeScript.
Beleza, o TypeScript supriu uma necessidade interna da Microsoft e foi adotado pelo Angular, mas ainda assim, muitos desenvolvedores sentiram um certo receio para experimentar as novas funções da linguagem.
Com o mercado adotando cada vez mais o uso do TypeScript, é normal vir uma bagagem de inseguranças, tanto para quem começa a programar em JavaScript como para quem já está na frente de desenvolvimento.
Afinal, será que não estamos matando as vantagens do JavaScript em ser tão dinâmico e o transformando em um Java, que é estático? A adição dessas tipagens ajudam ou prejudicam na criação de nosso projeto? Bom, acho que a resposta mais honesta é: depende.
Acesse as melhores oportunidades da sua carreira como dev
Não é muito viável dizer com total garantia que as tipagens inseridas pelo TypeScript no JavaScript vão te ajudar, ou prejudicar. Não é tão simples porque tudo depende de variáveis relevantes, por exemplo: o tempo disponível para o preparo de seu time e a escala que o projeto pode tomar.
Segundo o próprio engenheiro do time, Ryan Cavanaugh, naquela entrevista, “se tipagem estática não é uma escolha certa para você, seja para seu estilo de programar ou para o problema que você está trabalhando em cima, só pule. Tá tudo bem. É okay. Não vou ficar ofendido”.
No entanto, há considerações importantes. Nós defendemos o uso do TypeScript ao se trabalhar em algumas situações onde o código é open source, para evitar uma centena de problemas, e para projetos que precisam de escala, para otimizar grandes processos de produção.
O melhor jeito de entender o TypeScript é enxergá-lo como uma evolução que pode te ajudar muito em alcançar novas camadas de produtividade e criação no seu desenvolvimento.
Você pode conferir, com detalhes, a nossa visão sobre o assunto neste Masterclass do Diego Fernandes, e ainda conhecer, na prática, as funções do TypeScript.
Felipe Buzzi
Content writer @ Rocketseat
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.