O que a Bloomberg aprendeu ao adotar TypeScript em larga escala
(techatbloomberg.com)- O Bloomberg Terminal é o produto principal: há mais de 10 mil apps
→ Exibição de dados em tempo real, notícias, trading, mensagens etc.
→ Em 2005, o código legado de servidor em Fortran/C/C++ foi migrado para JS, e desde 2012 o cliente também usa JS
→ Há mais de 50 milhões de linhas de código JS e mais de 2 mil desenvolvedores de JS
→ Passar de JS para TS nessa escala é algo grande, e em grandes empresas costuma haver resistência a mudanças tecnológicas e movimentos mais lentos
→ Curiosamente, assim que a transição para TS começou, os próprios engenheiros passaram a se mover por conta própria e viraram defensores da mudança
→ Só no primeiro ano, 200 projetos fizeram a transição, e nenhum projeto voltou atrás
- Princípios centrais
→ Scalability: mesmo com expansão contínua, manter alta velocidade de desenvolvimento
→ Ecosystem Coherence: todos os pacotes devem funcionar em conjunto, e não deve haver dificuldade ao atualizar dependências
→ Standards Alignment: seguir padrões como ECMAScript e estar preparado para qualquer próximo passo
- 10 lições
-
TypeScript pode ser JavaScript + Types.
-
Como o TS evolui rapidamente, vale a pena acompanhar o compilador mais recente.
-
Uma configuração
tsconfigconsistente tem valor. -
É importante em que lugar as dependências são declaradas.
→ Uso de Ambient Modules
-
Eliminar duplicação de types é importante.
-
Dependências implícitas de tipos devem ser evitadas.
-
Há três modos de export em arquivos de declaração: global, module, implicit exports
→ Sempre que possível, usar module
-
O encapsulamento de pacotes pode ser violado.
-
Declarações geradas automaticamente podem fazer inline de types a partir de dependências
-
Declarações geradas podem incluir dependências que não são obrigatórias
Ainda não há comentários.