QCon 演讲火热征集中,快来分享技术实践与洞见! 了解详情
写点什么

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

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

关注

评论

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

一次讲清楚京东科技百亿级用户画像平台的探索和实践 | 京东云技术团队

京东科技开发者

数据库 Clickhouse 用户画像 用户画像平台

【FAQ】运动健康服务端侧数据常见问题及解答

HarmonyOS SDK

HMS Core

深度探索E3PO:360° 视频传输平台的前沿技术与应用

数字扫地僧

E3PO

KubeWharf:基于Kubernetes的分布式操作系统,助力云原生化部署和管理

bug菌

Kubernetes 社区征文

给 Web 前端工程师看的用 Rust 开发 wasm 组件实战 | 京东云技术团队

京东科技开发者

rust 前端 webassembly 前端组件

手把手带你离线部署Walrus,体验极简应用交付

SEAL安全

应用交付 应用交付平台 12 月 PK 榜 Walrus

关于Nuxt.js 服务端组件的使用

秃头小帅oi

KubeWharf:解析云原生未来的分布式操作系统

数字扫地僧

KubeWharf

Dapp燃烧铸币模式系统开发丨智能合约技术开发

l8l259l3365

法律情境扮演、逆向推理文字游戏、AIGC创作……见证AI极致生产力!

飞桨PaddlePaddle

人工智能 AIGC

【高效视频处理】体验火山引擎多媒体处理框架 BMF

数字扫地僧

BMF

淘宝商品详情接口在电商运营中的应用实例

Noah

NFTScan | 11.27~12.03 NFT 市场热点汇总

NFT Research

NFT NFT\ NFTScan

数据“库”的增删改查

小齐写代码

ios工具合集 4Easysoft iOS Toolkit 激活中文版最新

mac大玩家j

ios Mac软件

亚马逊云科技宣布推出四项Zero-ETL集成特性

财见

MYSQL EXPLAIN 执行计划 | 京东物流技术团队

京东科技开发者

MySQL 数据库 EXPLAIN EXPLAIN执行计划

Wireshark中的ICMP协议包分析

小魏写代码

智能LED屏幕未来升级方向

Dylan

个性化 定制化 LED显示屏 全彩LED显示屏 led显示屏厂家

如何实现高效代码审查,赋能大规模开发

龙智—DevSecOps解决方案

代码审查

优化开发者体验,推动API测试行业发展,SmartBear收购API设计和文档领域领导者Stoplight

龙智—DevSecOps解决方案

API

原来低代码开发部署起来这么简单

伤感汤姆布利柏

前端 低代码 低代码开发

京东商品详情接口在电商行业中的重要性及实时数据获取实现

Noah

HarmonyOS振动效果开发指导

HarmonyOS开发者

HarmonyOS

紫龙游戏解锁Jira与Perforce的游戏开发行业实践

龙智—DevSecOps解决方案

紫龙游戏

如何通过追踪用户旅程,找到流失用户

Footprint Analytics

区块链游戏 Web 3.0

DevSecOps研讨会年终专场来啦!邀您共探如何打好DevOps基础,赋能创新

龙智—DevSecOps解决方案

2023年度项目深入探索:AI与大模型在实际应用中的全景

数字扫地僧

盘点那些国际知名的黑客(下篇)

禅道项目管理

互联网 黑客 计算机网络

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