产品战略专家梁宁确认出席AICon北京站,分享AI时代下的商业逻辑与产品需求 了解详情
写点什么

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

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

关注

评论

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

TiDB 在携程 | 实时标签处理平台优化实践

TiDB 社区干货传送门

使用TiUP 修改集群目录实践

TiDB 社区干货传送门

管理与运维

TiDB 查询优化及调优系列(一)TiDB 优化器简介

TiDB 社区干货传送门

Flink CDC 2.2 正式发布,新增 TiDB 数据源,新增 TiDB CDC 连接器

TiDB 社区干货传送门

新版本/特性发布 应用适配

TiDB Numa 性能压测

TiDB 社区干货传送门

版本测评 性能测评

TiDB上百T数据拆分实践

TiDB 社区干货传送门

迁移 管理与运维

Facebook 开源 Golang 实体框架 Ent 现已支持 TiDB

TiDB 社区干货传送门

应用适配 数据库连接

DM 是如何处理 DML 的

TiDB 社区干货传送门

迁移

TiDB HTAP 遇上新能源车企:直营模式下实时数据分析的应用实践

TiDB 社区干货传送门

本地Kind体验TiDB Operator最小实践

TiDB 社区干货传送门

实践案例

对Indexlookup的理解误区

TiDB 社区干货传送门

管理与运维

TiDB v5.1.2 - TiCDC 不同步,checkpointTs 不推进的问题排查

TiDB 社区干货传送门

实践案例 故障排查/诊断

我和TiDB的故事 | 毫无准备地不期而遇,却想说与你相遇好幸运

TiDB 社区干货传送门

社区活动

TiDB Online DDL 在 TiCDC 中的应用

TiDB 社区干货传送门

迁移 TiDB 底层架构

TiDB 6.0 的「元功能」:Placement Rules in SQL 是什么?

TiDB 社区干货传送门

6.x 实践

将 AWS S3 数据迁移至 TiDB Cloud 集群

TiDB 社区干货传送门

统计信息十问: 你不了解的那些事儿

TiDB 社区干货传送门

实践案例

TiKV缩容不掉如何解决?

TiDB 社区干货传送门

集群管理 故障排查/诊断 扩/缩容

PD节点恢复之一个也不剩

TiDB 社区干货传送门

集群管理 故障排查/诊断 备份 & 恢复 扩/缩容

tidb 2.1升级到4.0操作文档

TiDB 社区干货传送门

迁移 版本升级

单机 8 个 NUMA node 如何玩转 TiDB - AMD EPYC 服务器上的 TiDB 集群最优部署拓扑探索

TiDB 社区干货传送门

管理与运维 性能测评 数据库架构设计

一个小操作,SQL查询速度翻了1000倍。

TiDB 社区干货传送门

性能调优 实践案例 管理与运维 故障排查/诊断

体验 TiSpark 基于 TiDB v6.0 (DMR) 最小实践

TiDB 社区干货传送门

实践案例 6.x 实践

TiDB 在连锁快餐企业丨海量交易与实时分析的应用探索

TiDB 社区干货传送门

文盘Rust -- 起手式,CLI程序

TiDB 社区干货传送门

开发语言

【故障解读】v5.1.1-调整变量 tidb_isolation_read_engines 影响 tiflash SQL 执行计划

TiDB 社区干货传送门

HTAP 场景实践

在华为 Kylin V10 SP1操作系统,HUAWEI,Kunpeng 920 CPU(4Cores)单机上模拟部署生产环境TiDB集群

TiDB 社区干货传送门

集群管理

新版 TiDB 社区技术月刊,一站式 Get 社区全动态

TiDB 社区干货传送门

社区活动 故障排查/诊断 数据库架构设计 应用适配

关于auto_random的几个知识点

TiDB 社区干货传送门

管理与运维

Oceanbase和TiDB粗浅对比之 - 执行计划

TiDB 社区干货传送门

数据库架构设计 应用适配

【故障解读】v5.3.0 BR 备份报错并且耗时比升级前更长

TiDB 社区干货传送门

备份 & 恢复

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