gustavodemate / github-blog Goto Github PK
View Code? Open in Web Editor NEWAplicação que utiliza a API do GitHub para buscar issues de um repositório, dados do perfil e exibir elas como um blog.
Aplicação que utiliza a API do GitHub para buscar issues de um repositório, dados do perfil e exibir elas como um blog.
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.
2012
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.
Impulso
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.
Ryan Cavanaugh
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.
Inseguranças por trás da novidade
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.
Nada é tão simples por aqui
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”.
Otimizar o seu conhecimento
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.
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.
npm é duas coisas
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.
Isaac Z. Schlueter
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."
npm, Inc
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.
Parte crítica do mundo JavaScript
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.
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.