写点什么

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

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

关注

评论

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

人人都有大模型用!大模型ChatGLM2-6B新手速通!

飞桨PaddlePaddle

人工智能 百度 paddle 飞桨 百度飞桨

全球视频编码领域顶级大赛放榜,网易云信首次参赛即斩获H.265赛道多项指标第一

网易云信

音视频 H.265 音视频通话

Spring高手之路10——解锁Spring组件扫描的新视角

砖业洋__

spring @Component 包扫描 bean的默认名称

腾讯云 CODING 成为首批 TISC 企业级平台工程综合能力要求标准贡献单位

CODING DevOps

【我和openGauss的故事】openGauss价值特性 (二)

daydayup

怎样缓存时序数据更合理? 解密DBMind在时序数据缓存上的代码实践 openGauss

daydayup

深度解读低代码

高端章鱼哥

程序员 低代码 低门槛

用于提取数据的三个开源NLP工具

互联网工科生

nlp NLP 大模型

企业全面预算管理的生存指南:建立成功的FP&A团队

智达方通

全面预算管理 企业全面预算管理 财务规划与分析 财务数据

HPC云化部署的优势和挑战

天翼云开发者社区

云计算 高性能计算

低代码:告别繁琐,提速软件开发

互联网工科生

软件开发 低代码 数字化

听说 Spring Bean 的创建还有一条捷径?

江南一点雨

spring

全球视频编码领域顶级大赛放榜,网易云信首次参赛即斩获H.265赛道多项指标第一

网易智企

音视频技术 H.265

Java学习13:static关键字,this关键字

java易二三

Java 编程 程序员 计算机

国内常见的16款低代码开发平台介绍

优秀

低代码开发平台 低代码平台 企业级低代码平台

英伟达 H100 vs. 苹果M2,大模型训练,哪款性价比更高?

GPU算力

三连冠!天翼云蝉联中国专属云服务市场第一

天翼云开发者社区

云计算 云服务

DTCC2022 | openGauss打造企业级开源数据库,服务行业核心系统

daydayup

信创产业未来发展如何

小齐写代码

语雀 × 支付宝小程序云:发布技术干货,赢语雀会员和周边!

TRaaS

文档写作 #程序员

【我和openGauss的故事】openGauss价值特性(一)

daydayup

新鲜出炉!Go薪资最高,JS需求量最大!

树上有只程序猿

Java c++ Python 编程语言

对线面试官 - HashMap

派大星

HashMap底层原理 Java 面试题

软件测试/测试开发丨Python 内置库 文件处理 学习笔记分享

测试人

Python 程序员 软件测试 文件处理 内置库

ChatGPT下程序员应该何去何从?

小齐写代码

大数据通用组件故障处理

天翼云开发者社区

大数据

IDC公布2022中国大数据平台私有化部署市场份额,柏睿数据位列第一梯队

新消费日报

AI算力爆发,新职业出现,你发现了吗?

小齐写代码

新版安卓iOS双端语音派对聊天APP源码开发核心功能和开发要点介绍

山东布谷科技胡月

语音聊天APP源码 视频语音直播app开发 语音社交APP搭建 语音房APP开发 语音厅源码

6门新兴语言,小众亦强大

高端章鱼哥

Java Python 编程语言 C++

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