写点什么

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

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

关注

评论

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

深度监听对象数组变化

flfljh

鸿蒙

Flutter OS外接纹理适配简介

flfljh

鸿蒙

鸿蒙 next 写入考试时间日程到系统日历

flfljh

鸿蒙

Java学习—反射机制:解锁代码的无限可能

不在线第一只蜗牛

Java

09.外观模式设计思想

杨充

鸿蒙 next 实现对象数组的界面更新

flfljh

鸿蒙

Flutter和OpenHarmony通信pigeon库的具体接入和用法

flfljh

鸿蒙

AI 场景下如何确保模型数据安全?Confidential AI 技术最佳实践解读

OpenAnolis小助手

AI 操作系统 机密计算 Confidential AI

国内首位聋人 Android 软件工程师体验通义灵码,“这真是太棒了”

阿里巴巴云原生

阿里云 云原生 通义灵码

鸿蒙 next 实现应用内的暗黑模式切换

flfljh

鸿蒙

“AI”就一起来!开放原子联合龙蜥推出 OS Copilot 学习赛,show 出你的创意

OpenAnolis小助手

Linux AI 操作系统 OS Copilot

APP 服务卡片获取 APP 内数据

flfljh

鸿蒙

基于 EventBridge + DashVector 打造 RAG 全链路动态语义检索能力

阿里巴巴云原生

阿里云 云原生 EventBridge

华为账号一键登录

flfljh

鸿蒙

鸿蒙 next 实现隐藏顶部 StatusBar

flfljh

鸿蒙

并发编程之同步/异步/回调/任务 工作流程分析图解

肖哥弹架构

Java 并发编程 高并发

Hume.ai 升级:自研情感模型集成 Claude 和 Fal;数字嗅觉公司 Osmo 用 AI 实现气味「传送」

声网

龙蜥副理事长张东:加速推进 AI+OS 深度融合,打造最 AI 的服务器操作系统

OpenAnolis小助手

开源 AI 操作系统 龙蜥操作系统大会

Flutter开发鸿蒙,终端一体化

flfljh

鸿蒙

告别头文件,编译效率提升 42%!C++ Modules 实战解析 | 干货推荐

OpenAnolis小助手

c++ 操作系统 模块 技术干货

Flutter与鸿蒙原生交互

flfljh

鸿蒙

云桌面解决方案哪家好?青椒云云桌面有什么优势

青椒云云电脑

云桌面 云桌面解决方案

Flutter与鸿蒙原生交互二

flfljh

鸿蒙

对象数组,数据更新刷新ui

flfljh

鸿蒙

国内首位聋人 Android 软件工程师体验通义灵码,“这真是太棒了”

阿里云云效

阿里云 云原生 通义灵码

恭喜!龙蜥赛项25支队伍获得首届中国研究生操作系统开源创新大赛一二三等奖

OpenAnolis小助手

开源 操作系统 龙蜥社区 龙蜥赛事

鸿蒙Next简易版本通用头部导航栏开发

flfljh

鸿蒙

Flutter+鸿蒙NEXT开发获取系统文件路径

flfljh

鸿蒙

Flutter与鸿蒙三方库ohos的适配

flfljh

鸿蒙

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