写点什么

为何 Asana 开始用 TypeScript

  • 2014-12-25
  • 本文字数:661 字

    阅读完需:约 2 分钟

团队任务管理平台提供商 Asana 的一个代码库里有上万行的 JavaScript 代码。随着时间推移,其中的代码越来越多,维护也越来越难。他们需要一种不同的语言。最终,他们出于以下几个方面的考虑选择了 TypeScript。

首先,TypeScript 可以产生简洁的 JavaScript 代码,更容易与现有的代码集成。它与 JavaScript 有非常紧密的映射关系,熟悉 JavaScript 的开发人员很容易学习使用,而且对于生成的 JavaScript 代码,更容易推断出其性能。

其次,有强大的工具支持,并且能够轻松地与 JavaScript 庞大而活跃的开源社区融合,如 IntellJ/WebStorm 对 TypeScript 提供了强大的支持,而 DefinitelyTyped 是一个生机勃勃的社区,为许多开源库提供了 TypeScript 定义。TypeScript 还通过积极维护的 gulp/grunt 提供了很棒的构建工具。

再者,TypeScript 支持强类型,使编译器和 IDE 能够在编译时而不是运行时发现错误,IntellJ 对其也有很好地支持。支持重构以及更好的代码导航功能有助于编写出质量更高的代码;上述两点都有助于提高代码编写效率。

最后,TypeScript 支持静态类型。这有两个方面的好处:一是可以确保客户端和服务器端采用同样的协议;二是允许跳过运行时检查,如 React.js 可以从中获得显著的性能提升

另外,将浏览器代码迁移到 TypeScript 只是 Asana 正在进行的几项重大改进中的一项,感兴趣的读者可以关注其官方博客


感谢郭蕾对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2014-12-25 04:192824
用户头像

发布了 1008 篇内容, 共 402.7 次阅读, 收获喜欢 345 次。

关注

评论

发布
暂无评论
发现更多内容

第三周总结

架构师训练营第 1 期 03 周 作业

Geek_a01290

极客大学架构师训练营

第 3 周作业:手写单例模式

云峰

第三周作业(作业一)

Geek_83908e

极客大学架构师训练营

架构师训练营作业:第三周

m

第三周作业 (作业二)

Geek_83908e

极客大学架构师训练营

第三周作业

架构师作业-第三周-单例

袭望

单例模式

架构师训练营第 1 期第三周学习总结

郑凯元

极客大学架构师训练营

第3周

paul

架构师训练营 - 第 3 周课后作业(1 期)

Pudding

第三周笔记

orchid9

第三周作业

fmouse

极客大学架构师训练营

架构师训练营第 1 期 02 周 总结

Geek_a01290

极客大学架构师训练营

第三周

等燕归

架構師訓練營第 1 期 - 第 03 周總結

Panda

架構師訓練營第 1 期

常用设计模式

wing

架構師訓練營第 1 期 - 第 03 周作業

Panda

架構師訓練營第 1 期

组件模式

积极&丧

极客大学架构师训练营

架构师训练营第 1 期 03 周 总结

Geek_a01290

极客大学架构师训练营

第3周作业

wanlinwang

第三周 代码重构 学习总结

应鹏

极客大学架构师训练营

spring-boot-route(四)全局异常处理

Java旅途

Java Spring Boot

架构师训练营第一期——第三周作业

tao

第3周学习总结:设计模式

云峰

代码重构

ABS

极客大学-第三周作业

Black Eyed Peter

极客大学架构师训练营

第三周 代码重构 学习笔记

应鹏

学习 极客大学架构师训练营

架构师训练营Week03作业

IT老兵重开始

极客大学架构师训练营

Week 3 作业 02

Croesus

架构训练营 - 第3周课后作业 - 学习总结

Pudding

为何Asana开始用TypeScript_JavaScript_谢丽_InfoQ精选文章