Comments (5)
Opa, sou novo por aqui e fiquei muito empolgado em contribuir com um projeto tão massa!
Logo de cara minha primeira dúvida foi o fato de o projeto estar utilizando javascript puro mesmo com o Next.js tendo suporte ao typescript "out of the box"...
Minha visão é que hoje TS é uma tendência muito forte que tem tudo pra se tornar o default dos projetos Javascript, considerando que:
- O feedback loop diminui drasticamente.
- Código Typescript é self-documenting, em um projeto que tem tudo pra ter uma codebase gigante como esse, a tipagem estática pode ajudar muito na estrutura do código e na chegada de novos contribuidores.
- Apesar de ser subjetivo, um projeto escrito em Typescript bem configurado pode levar a uma experiência de desenvolvimento muito mais fluída e segura graças ao Intellisense integrado do VSCode e outras IDEs.
Considerando que esse é um projeto novo, migrar para Typescript agora não seria uma dor tão grande, eu mesmo poderia ser atribuido dessa tarefa, porém, quando a codebase crescer isso pode se tornar um grande problema.
Um exemplo básico que o Typescript pode ajudar com novos contribuidores é a request
e response
do Next.js ou os resolvers de GraphQL:
async function Cep(request: NextApiRequest, response: NextApiResponse): void
Tipando os parâmetros o desenvolvedor conseguiria ter controle de todos os métodos públicos dos mesmos, dessa forma facilitando tanto pra que já sabe codar em Javascript quanto para novos contribuidores.
Concordo sim que o processo de setup do Typescript pode ser bem chato, e mesmo utilizar o strictMode
pode causar certa lentidão no processo de desenvolvimento, porém, em contra-partida torna a codebase muito mais sólida.
Hoje eu utilizo Typescript em praticamente todos os meus projetos e isso vem me facilitando bastante a vida então posso estar com a visão enviesada, por isso, também gostaria muito que a galera compartilhasse sua visão sobre o assunto.
from brasilapi.
Estou em um projeto de migrar um App Ionic v1 para react-native e já estou fazendo o refactor para Typescript, porque lembrei que o projeto antigo passou muita gente e muita gente não sabia como funcionava o projeto(os métodos, as classes, os services). Isso gerou um código absurdamente grande e complicado de dar a devida manutenção com métodos repetidos para a mesma coisa praticamente. Com o Typescript eu já estou pensando em evitar esse problemão. Então acho válido como o @Estevam31 comentou acima que isso vai ajudar a novos contribuidores ao projeto ter um código que já sugira os métodos que pode ser utilizado.
from brasilapi.
Ainda não sou total adepto do TypeScript, mas volta e meia encontro issues desse tipo nos mais diversos repositórios open source. O fato é que atualmente, não vejo uma necessidade de ter de modificar um projeto inteiro (mesmo sendo em partes, e aos poucos) para inserir o typescript. Há outras necessidades e sugestões que estão sendo apontadas na issues, que vejo como sendo mais relevantes para a melhoria do projeto.
É claro que é muito excitante ver diversos novos projetos sendo criados em TypeScript e quase que toda comunidade apontando isso como o futuro do Javascript, mas como mencionado pelo @lucianopf acima, um projeto bem escrito com JS pode entregar a mesma experiencia de código legível e produtivo quanto a um desenvolvido com TS.
Dito isso, também gostaria de saber a opinião dos demais, e outros pontos de vista sobre esse assunto.
from brasilapi.
Fala pessoal! Coloquei minha opinião lá no Pull Request: https://github.com/filipedeschamps/BrasilAPI/pull/69
🤝
from brasilapi.
Quase que de 3 em 3 meses me forço a criar projetos usando Typescript pra me convencer que o overhead faz sentido mas sempre acabo com a mesma sensação.. =/
Sempre me pego no final com uma falsa sensação de ser super produtivo e com o código super seguro, só que na verdade, o mesmo projeto em JS puro com os mesmos cuidados tomados teriam a mesma segurança e provavelmente num tempo menor.
O tooling que o TS traz é sensacional, o VSCode por exemplo vira uma belezura!! (apesar que o VSCode sempre usa o interpretador do TS pra poder ajudar nas sugestões, inclusive no JS puro)
Com essas impressões quero levantar a discussão sobre as percepções suas e de outras pessoas. 😬
Como eu disse, eu frequentemente me pego fazendo esses testes, e se fosse escolhido escrever TS aqui faria também com alegria! ^^
from brasilapi.
Related Issues (20)
- Campo CNPJ diferente da documentação HOT 1
- Cep incorreto quando consultado na api HOT 1
- API de consulta de veículos por placa HOT 3
- Endpoint CNPJ fora do ar HOT 4
- API Consulta Cnpj HOT 2
- Testes quebrando no ncm.
- Alguns CEPs retornando 404 HOT 13
- Alguns CEPs só são encontrados com hífen. Outros só são encontrados sem hífen HOT 2
- CEP V2 - Não encontra geolocalização HOT 10
- Possible error with Cache-Control caching HOT 5
- Consulta CEP V2 - possível problema na comunicação com serviços HOT 4
- Hoje está dando erro parra qquer CEP HOT 7
- Busca de cidades por UF traz 0 resultados para a sigla AP - Amapá HOT 2
- CEPs V1 - Erro - strict-origin-when-cross-origin HOT 1
- Erro ao consultar CNPJ HOT 9
- Erro em todos serviços de consulta de CEP (https://brasilapi.com.br/api/cep/v2/38408224) HOT 1
- Erro ao consultar CEP Api V2, para qualquer endereço HOT 16
- API CNPJ retornando 404 para qualquer CNPJ HOT 4
- Erro ao consultar CEP Api V1, para qualquer endereço HOT 6
- /usr/bin/docker pull ghcr.io/readmeio/rdme:8.6.6 HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from brasilapi.