写点什么

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

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

关注

评论

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

一文彻底搞懂IP地址到底是什么?

長歌

Java面向对象之方法块+this关键字

魏铁锤

10月月更

「Hive进阶篇」四、HQL 高级巧用

大数据阶梯之路

大数据 hive 面试

容量管理的三个层次

阿泽🧸

10月月更 容量管理

「CSS畅想」自动打字效果,默写首诗来读读

叶一一

JavaScript 前端 10月月更

微信红包体系设计分析

Johnny

VS2019 添加bits/stdc++.h万能头文件库

Yeats_Liao

后端 Java core 10月月更

微信红包系统设计分享 | 如何扛住100亿次请求?

Johnny

全链路监控建设的4个重点

穿过生命散发芬芳

全链路监控 10月月更

Dev-C++5.11安装教程

Yeats_Liao

后端 Java core 10月月更

IDEA SpringBoot SQL连接常见五大异常处理

Yeats_Liao

后端 Java core 10月月更

微信红包实现原理

Johnny

「前端组件开发」越折腾越有趣,封装了一个表单组件

叶一一

前端 React 组件开发 10月月更

「Hive进阶篇」三、HQL底层执行过程及原理详解

大数据阶梯之路

大数据 hive 面试 数仓

SAP | 认识 abap 工作台(下)

暮春零贰

SAP abap 10月月更

层出不穷的机器学习框架到底在“卷”什么?

小红书技术REDtech

机器学习

「CSS畅想」定时+随机,开启今日上上签

叶一一

JavaScript 前端 10月月更

List的基础数据的处理

卢卡多多

List 10月月更

cstdio的源码学习分析10-格式化输入输出函数fprintf---宏定义/辅助函数分析02

桑榆

源码刨析 10月月更 C++

Java面向对象之构造方法

魏铁锤

10月月更

将系统划分为模块(微服务)的必要性

宇宙之一粟

微服务 系统设计 论文阅读 模块化 10月月更

从手动测试到自动化测试(下)

FunTester

【愚公系列】2022年10月 Go教学课程 028-函数小结案例(通讯录)

愚公搬代码

10月月更

面向对象之方法重载

魏铁锤

10月月更

微信红包后台系统可用性设计实践

Johnny

「前端组件化」以Antd为例,快速打通UI组件开发的任督二脉

叶一一

前端 React 10月月更

「小程序开发」关于网页与小程序的通信

叶一一

前端 小程序开发 10月月更

「React开发」梳理HOC的点点滴滴

叶一一

前端 React 10月月更

「经验总结」高效开发,老代码可以这样动

叶一一

高效工作 前端 10月月更

「CSS畅想」我的发呆专属,反复解锁手机屏幕

叶一一

CSS JavaScript 前端 10月月更

还在为sql注入眼花缭乱的过滤而烦恼?一文教您快速找出所有过滤内容

贤鱼很忙

网络安全 SQL注入 10月月更

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