写点什么

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

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

关注

评论

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

带你认识全新的华为云IoT路网数字化服务

华为云开发者联盟

云计算 后端 物联网 交通 企业号九月金秋榜

校招 | StarRocks首次Open Day报名ING!

StarRocks

数据库

“密评”,听说过没

华为云开发者联盟

云计算 网络安全 开发 企业号九月金秋榜

分布式系统中如何实现临界资源的互斥访问

华为云开发者联盟

云计算 后端 开发 企业号九月金秋榜

异步处理 —— RxJS Observable

掘金安东尼

前端 9月月更

算法基础(三)| 二分图解及代码模板

timerring

算法 二分查找 9月月更

MobTech 短信验证 Flutter插件

MobTech袤博科技

flutter ios android

MySQL DDL执行方式-Online DDL介绍

京东科技开发者

Java MySQL 数据 ddl DML

云原生数字化转型与金融信创建设,鱼和熊掌可兼得

BoCloud博云

云计算 云原生 信创

日均数亿推送稳定性监控实践

得物技术

Java 设计模式 重构 SLA 企业号九月金秋榜

SQL就业市场最吃香!解密为什么SQL历经半个世纪仍经久不衰?

雨果

sql

羊了个羊闯关游戏开发(链改代币分红)

开发微hkkf5566

如何创建 Angular library 并在生产环境中消费

汪子熙

JavaScript typescript angular library 9月月更

VS Code摸鱼神器,让你快速开发AI模型

华为云开发者联盟

人工智能 企业号九月金秋榜

以Vue为代表的提升小程序开发效率框架及工具

Geek_99967b

小程序

百度交易中台之资产系统架构浅析

百度Geek说

数据库 架构 资产管理

react面试如何回答才能让面试官满意

beifeng1996

React

Github上标星103K的Spring Security实战手册,直接霸榜

程序知音

Java spring 程序员 spring security 后端技术

CISO 需考虑的五项 Kubernetes 安全措施

SEAL安全

Kubernetes 软件供应链安全

英伟达NVIDIA为何可以在高性能计算GPU中处于不败地位?

GPU算力

Pipy 同一 IP 多个 SSL 域名

Flomesh

Service Mesh 服务网格

写给自己的react面试题总结

beifeng1996

前端 React

最新MLPerf基准测试:基于阿里云GPU云服务器的AIACC在图像识别封闭式场景下夺冠

阿里云弹性计算

图像识别 GPU实例 AIACC

MySQL DDL执行方式-Online DDL介绍

京东科技开发者

MySQL 数据库 ddl DML Online DDL

从0到1项目搭建-框架搭建(附源码)

微枫Micromaple

架构 springboot Druid Mybatis-Plus 9月月更

慢查询 MySQL 定位优化技巧,从10s优化到300ms

程序知音

Java MySQL 数据库 后端技术 MySQL 数据库

阿里云大数据助力知衣科技打造AI服装行业核心竞争力

阿里云大数据AI技术

人工智能 大数据 模型训练 客户案例

我的C/C++技术成长之路

Fire_Shield

程序人生 C/C++ 9月月更

火山语音7篇论文入选国际顶会Interspeech

科技热闻

Wiki在企业内部的应用和管理,如何构建有效的Wiki系统?

Baklib

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