Em primeiro lugar, eu genuinamente fico muito feliz em ter um lugar para ter discussões técnicas e ter a garantia que será feita de uma forma saudável e sempre tentando extrair algum valor concreto. Então muito obrigado por criar esse post com essas perguntas Leonardo! 🤝
E tem um contexto que seria legal destacar e que vou demarcar no item zero e que pode dar uma antecipação de algumas respostas:
-
O TabNews não é um projeto no estilo "empresa privada" e é um projeto de "comunidade" e isso traz consigo algumas características e estratégias que eu pessoalmente não adotaria se fosse diferente. Então na medida do possível, ele precisa ser o mais simples e fácil para contribuição, mesmo que isso penalize a garantia técnica em alguns pontos.
-
Sobre TypeScript: é algo que já fui e voltei no assunto, mas acabei optando por JavaScript por ser mais simples. E não vejo o TabNews como um projeto "robusto", dado que a referência que tenho para isso foi minha experiência no Pagar.me. Lá era um ambiente de Fintech, crescimento maluco e usava JavaScript puro e teve alguns problemas por conta disso. Daí nesse caso eu não pensaria duas vezes em usar TypeScript. Só que não dá para negar que o fato de eu não ter maturidade em TypeScript influenciou na decisão de usar JavaScript. E projetando esse assunto para frente, eu esperaria vir tipagem nativamente no JavaScript que resolveria os bugs que sofremos no Pagar.me na época.
-
Não entendi muito bem o ponto de "mais poder de fogo". Isso no sentido de "desenvolvimento desacoplado" ou "escalonamento horizontal"?
Abração meu caro e vamos continuar essa conversa sensacional 👍