写点什么

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

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

关注

评论

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

华为云企业交换机ESW,让数据业务无缝迁移上云

爱科技的水月

第二章STP应用配置

初学者

网络 11月月更

低代码会使初级码农失业吗

秃头也爱科技

前端培训班学习真的靠谱吗?

小谷哥

7分钟带你细致解析4个Java算法必刷题

好程序员IT教育

Java

边旅游边赚钱!数字游民离不开远程控制软件

RayLink远程工具

远程控制软件 远程办公软件 远控软件 RayLink 远程控制连接

“PKS+生态(智方舟)加速营”圆满结束,九科信息与中电智方舟达成战略合作

九科Ninetech

国内外排名最靠前的20+项目管理软件

PingCode

Alluxio 2.9新版发布 | 重塑架构,支持大规模多租户环境

Alluxio

分布式 新闻 Alluxio 大数据 开源 数据编排

jvm(三)类加载机制、javac编译

想要飞的猪

JVM类加载

零基础转行前端培训学习好吗?

小谷哥

深度解读隐语密态计算设备SPU

隐语SecretFlow

机器学习 开源 隐私计算 开源框架 隐语

华为云Astro的前世今生:用7年时间革新低代码开发观念

科技怪授

Java集合与数据类型

kingcall

Java JAVA集合 Java集合框架 java数据类型

唯一获奖容器厂商!灵雀云斩获2022信创“大比武”通信赛道大奖

York

容器 云原生 数字化转型 国产化 信创云

打造用户喜爱的产品,离不开需求助推器|影响地图Impact Mapping

老彦

敏捷开发 软件工程 设计思维 用户故事地图 影响地图

第一章三层交换应用

初学者

网络 11月月更

redis 集群实现方案与原理

想要飞的猪

redis哨兵集群 redid集群cluster

数字化转型,要把功夫炼到任督二脉

脑极体

华为云弹性负载均衡ELB,如何保障服务器不瘫痪?

清欢科技

MACH架构的质量工程指南

俞凡

架构 微服务 云原生

数据仓库实战教程

kingcall

数据仓库 数据湖 数据安全 数仓 数仓建模

需求收集方法工具,以及进行需求分析的6大要素

PingCode

中国银河证券:缺少DevOps,企业数字化转型就是带着脚镣跳舞

嘉为蓝鲸

DevOps 数字化转型 金融 证券

前端食堂技术周刊第 60 期:TypeScript 4.9、Ant Design 5.0、用 vanilla-extract 编写高性能的 CSS、Node.js 安全最佳实践

童欧巴

Meetup预告:SeaTunnel在天翼云数据集成平台的探索实践

Apache SeaTunnel

大数据 技术分享 数据同步 数据集成 Apache SeaTunnel

netty系列之:在netty中使用proxy protocol

程序那些事

Java 架构 Netty 程序那些事

【Ajax】全面详细了解git的基础操作【万字教学+面试常客】

坚毅的小解同志

git 11月月更

Unload data from Databend | 新手篇(4)

Databend

databend

在 Spring 生态中玩转 RocketMQ

Apache RocketMQ

RocketMQ spring could

高标准企业级安全性,华为云会议为线上沟通保驾护航

秃头也爱科技

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