Que linguagem é melhor para escrever uma aplicação de Nodo, JS ou TypeScript?
A ideia de "melhor" é altamente subjectiva.
TypeScript acaba por se compilar em JavaScript de uma forma do tipo "nunca abra este ficheiro", por isso deixe's descartar qualquer ideia de que alguma vez poderá "voltar ao JavaScript" se a opção TypeScript não't funcionar para si. Você quer fazer uma boa escolha aqui.
Porque ele's é um dialeto compilado para nativo, lá's custos iniciais de configuração associados ao seu pipeline de compilação e custos extras de tempo de compilação enquanto desenvolve com TypeScript. There's todo um ecossistema de ferramentas e kits iniciais para tornar mais fácil do que rolar tudo isso à mão, mas isso's uma carga cognitiva adicional para começar. Você pode encontrar esse fardo apenas uma vez, mas sua equipe o encontrará _ sempre que você adicionar um novo membro_... que não esteja familiarizado com TypeScript, sua ferramenta de construção, seu abençoado editor, etc.
Por que alguém faria isso, então? Tem que haver algum benefício, certo?
Sim, o maior benefício vem da depuração de erros difíceis de rastrear que ocorrem durante o desenvolvimento devido a alguns dos comportamentos inesperados do JavaScript's relativos a malabarismos de tipo e valores de campo ausentes. Estes podem custar, em conjunto, muito mais tempo do que o custo inicial de começar, mesmo que "se sintam" menos caros. Além disso, a ferramenta que fornece o completamento de código para TypeScript é muito inteligente, o que pode ser uma grande vantagem para os novos desenvolvedores em uma grande base de código que está sendo aumentada.
Conversamente, que bibliotecas você estará usando? Essas suportarão TypeScript nativamente? Quão pesadas serão utilizadas pela sua equipe? Mais do que o seu código de segurança de tipo ou menos? Enquanto você _can_ gera definições de tipo para bibliotecas externas, a sua quilometragem varia muito. Se você'não estiver usando bibliotecas que são implementadas em TypeScript, os bugs difíceis de rastrear provavelmente virão dos limites com o seu código e as bibliotecas. Nesse caso, talvez você esteja melhor com JavaScript.
Para obter código-completo similar e alguma ajuda de análise estática com JavaScript simples, sua equipe precisará garantir que seus tipos, funções e estruturas sejam anotados com a sintaxe ESDoc (similar ao JavaDoc) e usar o TernJS para ler os comentários e fornecer sugestões de código-completo no editor. Por outro lado, muitas bibliotecas já estão documentadas neste estilo (ou uma compatível), e o TernJS não't _necessário_ documentação para lhe dar código-completamento... mas ele'não é tão bom nisso.
Ao escolher um, você're essencialmente a troca da disciplina de regenerar suas próprias definições de tipo (para que o código TypeScript seja útil) para a disciplina de manter sua documentação precisa (para que o TernJS possa fazer o mesmo trabalho)... somente se você're usando bibliotecas que _aren't escritas em TypeScript_.
Se a sua equipa está a planear usar Angular IO no browser e um monte de outras bibliotecas e ferramentas amigas do TypeScript, faz muito sentido. Se você'estiver escrevendo uma API sem cabeça para uma aplicação móvel e planeja usar um framework que_isn't_ TypeScript em si e não tem garfos bem conservados, talvez prefira JavaScript simples com hábitos de documentação útil.
Artigos semelhantes
- É uma boa ideia escrever um motor de jogo em Python? Se não, qual é a melhor linguagem para se escrever um motor de jogo?
- Qual é a diferença entre linguagem de máquina, linguagem de montagem e linguagem de alto nível em computadores?
- Qual é a melhor linguagem de programação para escrever uma aplicação de serviço de mensagens?
- Qual é a diferença entre uma linguagem de montagem e uma linguagem de alto nível?