写点什么

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

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

关注

评论

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

Python Qt GUI设计:UI界面可视化组件、属性概述(基础篇—4)

不脱发的程序猿

Python qt GUI设计 PyQt5

自定义aop实现Cacheable注解(零拷贝), CacheItemGet,CacheMapGet,CacheMapPut

张音乐

Java 缓存 注解 9月日更

MySQL五个常见的高可用方案

hanaper

ebay支付账务系统架构解析之“读”一无二

贾奇 (Jacky)

支付系统 CQRS 读写分离

低代码时代来临,织信Informat携手低码星球探讨「企业数字化转型之路」

优秀

低代码

分分合合分分,谷歌医疗走向大败退

脑极体

从零到MySQL架构师学习内容整理

hanaper

Python——内置函数----让你偷懒的工具

在即

9月日更

【SoCC2018论文】DAGOR:微信「大规模微服务过载控制系统」

OpenIM

【网络安全】Spring框架漏洞总结(一)

网络安全学海

黑客 网络安全 信息安全 渗透测试 安全漏洞

流媒体:依托于声网的连麦解决方案

声网

音视频 流媒体

spine动画文件转dragonbones骨骼文件

风翱

9月日更 dragonbones

让 Serverless 应用开发更简单,Serverless Devs 2.0 全新发布

Serverless Devs

开源 Serverless

【得物技术】浅谈重复http请求的取消

得物技术

方法 HTTP 场景 crud 请求

测试九剑之-破箭式

薛飞

自动化测试 测试管理

GraphQL 快速入门【1】简介

码语者

Rest graphql

java拼团小程序源码(毕设)

清风

毕业设计

如何从数据到资产

奔向架构师

数据治理 9月日更

北鲲云超算平台凝聚技术实力,赋能高算力需求行业加速发展

北鲲云

用诸葛孔明的智慧,读懂新型数据中心的“四新”机遇与产业逻辑

脑极体

上线半天下载量破100W!美团大佬的Java性能调优实战手册,超详细

Java 编程 面试 性能调优

大厂敲门砖!P9技术官级别的顶级并发编程宝典,献给想去大厂的你

Java 编程 面试 程序人生 p9

京东云金秋上云特惠进行中!扫码参与活动

京东科技开发者

云计算 云主机 大促

Elasticsearch 原理解析(介绍)

ZzC🍖

搜索引擎 elasticsearch

面对面小程序开源

OpenIM

kube-ovn 组网结构

Geek_f24c45

k8s Kube-OVN cni

数字化助力能源高效利用

CECBC

坍缩的企业

涛哥 数字产品和业务架构

企业架构

区块链技术解决信任问题

CECBC

联想新IT引擎引领智能化变革,助力“中国力量”更加强大

科技范儿

如何给技术部员工做考核?

石云升

团队管理 管理 引航计划 内容合集 9月日更

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