Code Monkey home page Code Monkey logo

Comments (5)

viniciusestevam avatar viniciusestevam commented on July 3, 2024 26

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.

AcidTr avatar AcidTr commented on July 3, 2024 6

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.

akinncar avatar akinncar commented on July 3, 2024 5

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.

filipedeschamps avatar filipedeschamps commented on July 3, 2024 3

Fala pessoal! Coloquei minha opinião lá no Pull Request: https://github.com/filipedeschamps/BrasilAPI/pull/69

🤝

from brasilapi.

lucianopf avatar lucianopf commented on July 3, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.