写点什么

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

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

关注

评论

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

秒杀库存解决方案

Java研究者

架构 高性能 秒杀 电商系统 库存系统

AIGC热潮涌动 HashData如何降低大模型应用门槛?

酷克数据HashData

对线面试官 - TCP经典面试题

派大星

TCP/IP Java 面试题

推荐工具!使终端便于 DevOps 和 Kubernetes 使用

SEAL安全

git Kubernetes zsh DevOps工具 企业号 8 月 PK 榜

Health Kit基于数据提供专业方案,改善用户睡眠质量

HarmonyOS SDK

HMS Core

LangChain系列-02. LLM基础

无人之路

openai ChatGPT langchain

传统企业的智能化IPD(产品集成开发)转型

禅道项目管理

干货 | 在Docker 上搭建持续集成平台 Jenkins

霍格沃兹测试开发学社

山东布谷科技直播软件源码Nginx服务器横向扩展:搭建更稳定的平台服务

山东布谷科技

nginx 软件开发 服务器 源码搭建 直播软件源码

简洁又优雅!Controller层代码就该这么写!

java易二三

Java 程序员 面试 计算机 八股文

Apache Paimon 在同程旅行的实践进展

Apache Flink

大数据 flink 实时计算

go的net/http有哪些值得关注的细节?

java易二三

Java 数据库 程序员 计算机

技术分享 | app自动化测试(Android)--显式等待机制

霍格沃兹测试开发学社

Spring 中 @Qualifier 注解还能这么用?

江南一点雨

Java spring

一点就通,解析直播源码拉流技术

山东布谷网络科技

基于飞桨图学习框架实现的城市地点动态关系挖掘

飞桨PaddlePaddle

人工智能 paddle 百度飞桨 开发者说

智奇数美:用下沉思维做产品,深挖呼叫中心产业新蓝海

江湖老铁

接口测试框架实战(一) | Requests 与接口请求构造

霍格沃兹测试开发学社

浅谈测试需求分析

霍格沃兹测试开发学社

《Java极简设计模式》第01章:单例模式(Singleton)

冰河

Java 程序员 设计模式 架构师 java基础

矩阵起源入选《2023中国数据库领域最具商业合作价值企业盘点》

MatrixOrigin

数据库 云原生 超融合 MatrixOrigin 矩阵起源

实力!云起无垠获ISC 2023创新独角兽沙盒大赛“创新能力奖”

云起无垠

落地大模型应知必会(3): 如何构建多任务的LLM应用

Baihai IDP

人工智能 AI LLM 白海科技 落地大模型应用

开放原子开源基金会开源安全委员会七月新增成员单位

开放原子开源基金会

开放原子开源基金会

接口协议之抓包分析 TCP 协议

霍格沃兹测试开发学社

技术分享 | app自动化测试(Android)-- 参数化用例

霍格沃兹测试开发学社

对线面试官:Redis 夺命连环 38 问,你能抗住多少?

java易二三

redis 程序员 面试 后端 计算机

Linux之select、poll、epoll讲解

java易二三

Linux 程序员 计算机

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