返回

大规模应用TypeScript:2019 JSConf - Brie Bunge

前端

TypeScript在Airbnb的实践

大家好,我是Brie Bunge,Airbnb的高级前端工程师。今天,我将分享我在大规模项目中使用TypeScript的经验。

在Airbnb,我们使用TypeScript来构建我们的前端和后端系统。我们的代码库非常庞大,有超过1000万行TypeScript代码。我们每天都有数百万用户使用我们的系统,因此性能和可扩展性对我们来说非常重要。

TypeScript帮助我们解决了以下问题:

  • 代码质量: TypeScript是一种静态类型语言,它可以在编译时检查类型错误。这有助于我们编写更健壮的代码,并减少运行时错误。
  • 可维护性: TypeScript提供了良好的代码组织和结构,这使得我们的代码更容易阅读和维护。
  • 开发人员生产力: TypeScript提供了丰富的IDE支持,这有助于我们更快速地编写代码。

我们还发现,TypeScript使我们的代码更容易理解。这有助于我们更好地沟通和协作。

TypeScript在Airbnb的演进

我们在Airbnb使用TypeScript已经有5年了。在这段时间里,我们经历了TypeScript的快速发展。我们最初使用TypeScript来构建我们的前端系统。但随着我们的系统变得越来越复杂,我们开始使用TypeScript来构建我们的后端系统。

我们发现,TypeScript非常适合构建分布式系统。它可以帮助我们轻松地管理不同服务的接口。它还使我们能够更轻松地重用代码。

如今,TypeScript已成为Airbnb不可或缺的一部分。我们使用它来构建我们的所有新系统。我们还致力于将我们的旧系统迁移到TypeScript。

Airbnb如何使用TypeScript和JavaScript

我们在Airbnb使用TypeScript和JavaScript两种语言。TypeScript是一种静态类型语言,JavaScript是一种动态类型语言。

我们使用TypeScript来构建我们的核心系统。这些系统包括我们的前端系统、后端系统和微服务。我们使用JavaScript来构建我们的工具和脚本。

我们在生产实践中遇到了一些挑战。其中一个挑战是,TypeScript和JavaScript的语法不同。这使得我们很难在两种语言之间切换。

另一个挑战是,TypeScript和JavaScript的工具链不同。这使得我们很难在两种语言之间共享代码。

为了应对这些挑战,我们创建了一些工具和流程。这些工具和流程帮助我们更轻松地在TypeScript和JavaScript之间切换。它们还使我们能够更轻松地在两种语言之间共享代码。

结论

TypeScript是一种非常适合构建大规模系统的语言。它可以帮助您编写更健壮、更可维护和更可扩展的代码。如果您正在构建一个大规模的系统,我强烈建议您使用TypeScript。

感谢聆听。