写点什么

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

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

关注

评论

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

让 AI 帮你写代码,开发提效神器来了

阿里巴巴云原生

阿里云 AI 云原生

深入了解 Docker Compose:简化容器化应用部署的利器

霍格沃兹测试开发学社

怎样让 API 快速且轻松地提取所有数据?

技术冰糖葫芦

API 接口 API 文档

28+岗位!百度安全2025届实习生招聘火热进行中

百度安全

JMeter读取CSV文件实现参数化技术指南

霍格沃兹测试开发学社

数据安全之路:Databend 用户策略指南

Databend

移动应用开发工具及其影响

雪奈椰子

Partisia Blockchain:真正做到兼顾隐私、高性能和可拓展的公链

股市老人

业内首个!央广网APP率先完成鸿蒙原生应用全量版本开发,领跑鸿蒙化进程

最新动态

网站首屏优化 | 提升首屏的几个简单手段

观测云

性能优化 前端

在 ASP.NET Core 中使用 HttpClient

雄鹿 @

ASP.NET Core

堪称教学神器的5款软件,每一款都值得推荐!

彭宏豪95

效率工具 在线教育 在线白板 办公软件 在线协作

Jetson Xavier nx 全盘加密

一五

AI 边缘计算 jetson 全盘加密 jetson xavier nx

【教程】JavaScript代码混淆及优化

雪奈椰子

浅谈开放词汇目标检测

inBuilder低代码平台

目标检测

掌握ADB:详解操作命令及完整用法指南

霍格沃兹测试开发学社

类似trello的局域网开源的软件

PingCode

项目管理 项目管理工具 Trello

一文读懂兼顾隐私、高性能和可拓展的公链Partisia Blockchain

股市老人

云原生最佳实践系列 4:基于 MSE 和 SAE 的微服务部署与压测

阿里巴巴云原生

阿里云 微服务 云原生

C++ 运算符全解析:从基础概念到实际应用

小万哥

程序人生 编程语言 软件工程 C/C++ 后端开发

What's new in PikiwiDB (Pika) v3.5.3 (正式版)

apache/dubbo-go

nosql redis

2024-03-27:用go语言,多维费用背包。 给你一个二进制字符串数组 strs 和两个整数 m 和 n, 请你找出并返回 strs 的最大子集的长度,该子集中 最多 有 m 个 0 和 n 个

福大大架构师每日一题

福大大架构师每日一题

华为云GeminiDB发布新版本,全面支持Redis 6.2

平平无奇爱好科技

工作中总结的30个常用Linux指令,实在记不住就别硬记了,看这篇就够了

快乐非自愿限量之名

Linux 运维 服务器

小程序应用市场发展趋势分析

Onegun

小程序 小程序平台

Golang DB连接池ErrBadConn的应用

三七互娱后端技术团队

golang MySQL

一文读懂兼顾隐私、高性能和可拓展的公链Partisia Blockchain

长安区块链

中国超高清自有珠穆朗玛:双Vivid是什么?

脑极体

音视频

适合老师使用的在线教学软件推荐!这一款千万别错过。

彭宏豪95

在线教育 在线白板 办公软件 教学 效率软件

新版Redis不再“开源”,对使用者都有哪些影响?

平平无奇爱好科技

无人不识又无人不迷糊的this

不在线第一只蜗牛

Java 前端 开发语言

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