关于迁移到TypeScript的想法

我将探讨将大型JavaScript代码库迁移到TypeScript的原因和方式。 我们的团队结束了为期15个月的升级前端堆栈的旅程。 为了解决这个难题,我们必须同时向客户提供新功能。 最后,我还将讨论是否值得付出努力,以及它如何影响我们的发展。 Hootsuite Analytics是一个完全使用JavaScript构建的单页应用程序。 我们依赖于React库,我们很早就采用了它。 在很高的层次上,我们的应用程序使用了我们的后端API组中的数据。 然后将数据转换为几种可视化类型。 我们提供了丰富的表格,用于显示社交媒体帖子,图表,图形,地图等。 随着时间的流逝,我们的应用程序已经增长了很多,现在位于15万行代码中。 在Hootsuite,我们在产品的技术方面投入了大量资金。 为此,我们总是从技术角度评估我们所做的一切是否合理。 任何重大项目都必须从问题定义开始,所以让我们谈谈我们的技术挑战是什么。 JavaScript是一种难以对数据转换进行建模的语言。它是一种动态语言,并且在不过多说明具体含义的情况下,它要求开发人员进行权衡。 他们不需要事先指定什么样的数据,这使得初始开发非常快。 不利的一面是,随着项目在代码行和贡献者数量上的增长,对遍及应用程序各个层的数据流进行推理变得越来越困难。 使用React会使这个问题更加复杂。…