基于 TypeScript 的 Node.js 多场景框架设计方案

所属专题:Node实战

嘉宾 : 陈仲寅(张挺) | 淘宝前端技术专家

讲师介绍

专题演讲嘉宾:陈仲寅(张挺)

淘宝 前端技术专家

长期耕耘于Node.js技术栈,为淘宝和阿里其他BU提供框架和中间件解决方案,负责淘宝整体的Node.js体系基础建设,解决全栈开发的各种维护和稳定性问题,也同时负责 MidwayJs系列内部和社区开源产品,包括Midway、Sandbox、Pandora、Injection等开源产品的开发、维护等工作。

议题介绍

演讲:基于 TypeScript 的 Node.js 多场景框架设计方案

未来前端最大的问题是规模化编程和全栈带来的挑战,TypeScript能够很好的应对这2个问题。在传统的Web框架、FaaS框架或者其他微服务框架,基于JavaScript体系实施全栈模型的大型项目开发时往往造成代码复杂度过高,维护成本逐步增加的问题(没有类型系统)。同时在不同的场景下迁移代码、共享代码时也会碰到很多问题。我们通过引入TypeScript 和装饰器模型,通过在跨场景下引用相同的装饰器,但是不同实现逻辑,来解决不同场景下的各种需求。这种做法很好的做到架构解耦,并解决规模化编程问题,提高代码质量,对团队成长也有非常好的帮助。

淘宝从2017年之前就开始探索TypeScript的落地方式,随着时间的推移已经将新的模块和框架全部迁移到TypeScript体系,在2019年,TypeScript应用已经遍地开花,提前完成了非常不错的布局。

本次分享主要介绍淘宝最近开源的Midway框架在新的场景、新的体系下如何和现有的Egg体系保持良好的兼容性,同时又能在TypeScript的使用中有着独特的体验,通过针对不同场景的情况,我们引入相同的解决方案,为未来打下了夯实的基础。

 

演讲提纲:

1. 使用TypeScript

(1)规模化编程和全栈带来的挑战

(2)面向接口编程

(3)新特性,装饰器的使用

2. 基于Egg创造性Web框架Midway

(1) 从Egg开始

(2) 引入 IoC 

(3) 和框架解耦

(4) 和目录结构解耦

(5) 引入自定义装饰器

(6) 实践讲解

3. 多场景设计实践

(1) 跨场景的实现

(2) FaaS场景的设计和代码迁移

(3) 跨其他场景的解决方案

 

听众收益:
当前Node.js的场景越来越多,很多代码都需要跨不同场景进行共享和迁移,在这些过程中,如果代码能够尽可能少的变化,势必会减少很多工作量和重构量,也使得在业务迁移过程中能够更加专注业务本身,而不是新框架的使用方式。

交通指南

© 2020 Baidu - GS(2019)5218号 - 甲测资字1100930 - 京ICP证030173号 - Data © 长地万方
本网站图片存储由七牛云独家支持