2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

为何 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:193179
用户头像

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

关注

评论

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

JAVA学习1_PATH环境变量配置

Java-fenn

Java

Java基础 | 关于Final Static Abstract修饰需要注意的地方

Java-fenn

Java

Java开发学习(三十一)----Maven属性与版本管理

Java-fenn

Java

SAP 电商云 Spartacus UI 有状态 的 url 和 title 属性的赋值代码

汪子熙

angular SAP SAP UI5 Spartacus 9月月更

Java基于JSP+Servlet的社区出入健康登记系统

Java-fenn

Java

Java基础 | Java中引用与指针的关系

Java-fenn

Java

跟我一起学mybatis之注解开发

楠羽

mybatis 笔记 9月月更

JAVA:List 与 数组 相互转换

Java-fenn

Java

Java面试题之IO流

Java-fenn

Java

基础差在web培训班学习前端技术有合适吗

小谷哥

JAVA面试题——CAS原理

Java-fenn

Java

LED柔性屏的发展趋势

Dylan

柔性屏 LED显示屏 led显示屏厂家

全面吃透JAVA Stream流操作,让代码更加的优雅

Java-fenn

Java

vue2数据响应式原理——数据劫持(数组篇)

海底烧烤店ai

Vue 前端 9月月更

2022年7月互联网医疗领域月度观察

易观分析

行业报告 互联网医疗

Java 序列化时间

Java-fenn

Java

【HTML-CSS】总结-6种实现元素 上下左右居中 方法--附演示效果

Sam9029

CSS html 前端 9月月更 水平垂直居中

为什么阿里人能够快速成长?看完他们 Java 架构进化笔记,我秒懂!

Java-fenn

Java java面试 Java面试题

基于Java springMVC+MySQL的大学校园BBS论坛网站设计与实现

Java-fenn

Java

Java 将Excel转为UOS

Java-fenn

Java

Java&C++题解与拓展——leetcode667.优美的排列 II【++在java和C++中的差异】

Java-fenn

Java

Java 网络编程之 InetAddress 类详解,URL 和 URI 的区别,URLDecoder 和 URLEncoder,IPv6 和 IP...

Java-fenn

Java

java培训班选择哪些比较好呢

小谷哥

java读取movielens数据txt

Java-fenn

Java

如何將私有的 JAR 檔加入到由 Apache Maven 管理的 Java 專案中

Java-fenn

Java

面试官:如何设计一个短链服务?

Java永远的神

Java 程序员 面试 程序人生 后端

如何选择靠谱且适合自己的web前端培训课程

小谷哥

Java必会基础题,量不多,但每天进步一点也是好的

Java-fenn

Java

易周金融分析 | 数字人民币生态发展等再迎监管重磅发言;易观千帆发布用户体验GX指数

易观分析

用户体验 数字人民币 GX指数

Java面向对象8——抽象类和抽象方法(知识点+使用方法)

Java-fenn

Java

java学习技术有哪些好的方法呢?

小谷哥

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