写点什么

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

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

关注

评论

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

企业im即时通讯工具推荐,企业内部即时通讯软件工具怎么选?

BeeWorks

BizDevOps全局建设思路:横向串联,纵向深化

嘉为蓝鲸

DevOps Dev Ops BizDevOps

我们开源啦!一键部署免费使用!Kubernetes上直接运行大数据平台!

智领云科技

开源 大数据平台 K8s 多集群管理

展出规模超50万平米“2024第26届深圳高交会”招商工作全面启动

AIOTE智博会

高交会 高新技术展 深圳高交会

GPT-5发布时间确定!全面训练、更强推理能力!

蓉蓉

人工智能 openai ChatGPT

区块链的原理、技术、应用领域

天津汇柏科技有限公司

区块链

Ghost Buster Pro for Mac:轻松优化与维护系统新选择

iMac小白

Ghost Buster Pro下载 Ghost Buster Pro mac Ghost Buster Pro破解

Create 2024 分论坛:百度大模型安全解决方案护航开发者一起创造未来

百度安全

一个游戏服务器多少钱?价格与配置的完美指南

一只扑棱蛾子

服务器

旅游电商的智能化升级:携程景点详情API引领新潮流

技术冰糖葫芦

API 接口 API 测试 pinduoduo API

对话阿里云佘俊泉:边缘云的持续突破和创新

MasterInTech

阿里云 边缘云

NL2SQL技术方案系列(1):NL2API、NL2SQL技术路径选择;LLM选型与Prompt工程技巧,揭秘项目落地优化之道

汀丶人工智能

自然语言处理 text2sql NL2SQL

一个埋藏9年的底层bug发现历程

阿里技术

故障 bug 故障排查 故障排查/诊断

WorkPlus企业即时通讯国密加固-为企业信息安全保障

BeeWorks

Python与数据库交互的最佳实践

技术冰糖葫芦

api 货币化 API 接口 pinduoduo API

NL2SQL实践系列(2):2024最新模型实战效果(Chat2DB-GLM、书生·浦语2、InternLM2-SQL等)以及工业级案例教学

汀丶人工智能

text2sql NL2SQL

调试 WebSocket API 教程实践

Apifox

程序员 前端 后端 websocket WebSocket API

GreatSQL 死锁案例分析

GreatSQL

腾讯的面试,强度拉满!

王中阳Go

Java Go 后端 面试题 面经

HAS2024:华为云以系统性创新加速千行万业智能化升级

华为云开发者联盟

云计算 华为云 华为云开发者联盟 企业号2024年4月PK榜 HAS2024

IM即时通讯软件,WorkPlus私有化部署全面支持信创环境

BeeWorks

如何基于香橙派AIpro对视频/图像数据进行预处理

华为云开发者联盟

华为云 数据预处理 昇腾CANN 华为云开发者联盟 企业号2024年4月PK榜

好用的即时通讯系统,如何选择适合政企即时沟通软件?

BeeWorks

JetBrains WebStorm 2024:卓越的前端开发工具mac/win

iMac小白

WebStorm 2024下载 WebStorm 2024 mac WebStorm 2024破解版

Serial for Mac :全能串口调试工具

iMac小白

Serial下载 Serial破解版 Serial mac

全球AI音乐会,第一次听见中国声音

脑极体

AI

【论文速读】| GPTFUZZER:利用自动生成的越狱提示对大型语言模型进行红队测试

云起无垠

碳实践|手把手教你开展组织碳核算

AMT企源

数字化转型 双碳 碳核算

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