注册 / 登录

ThinkJS 3 的设计与运维

分会场:  架构演进/工程实践/大前端

分享时间: 2017年11月9日 - 12日

案例来源 :

案例讲师

李成银

360 前端架构师

李成银,网名:welefen,9 年工作经验,现就职于奇虎 360 下的最大前端团队奇舞团,前端架构师、高级技术经理、技术委员会委员,国内著名开源 Node.js 框架 ThinkJS 作者。

扫描二维码分享案例

 

案例简述

 

ThinkJS 3 是一个全新的版本,新版本带来的特性和设计,以及其中的思考与总结。这个版本积累了开发中大量的经验,并且吸收了社区中很多很好的建议。底层架构基于 Koa 2 构建,可以完全使用 Koa 2 的中间件,并且在这个之上添加了扩展和适配器的功能,让框架可以快速横向扩展和动态适配。

 

案例目标

 

随着时间的推移,ThinkJS之前的版本在有些功能上不太好满足,并且底层是一套完全独立的架构,围绕这个架构建立生态和社区比较困难,参与的开发者较少。3.0 将底层框架改为基于 Koa 2 构建,这样可以直接使用 Koa 2 相关的插件和积累的社区经验。同时在这个之上支持扩展和适配等功能,让开发大型项目变得简单、便利。

 

成功(或教训)要点

 

在保留之前版本支持 ES2015+ 特性开发、自动编译、自动更新的特性基础之上,底层基础库改为基于 Koa 2 沟通,同时提供了扩展和适配器的功能,让框架可以动态扩展。

 

案例ROI分析

 

新版本下,开发者可以利用现有的插件社区,用更少的投入产生更大的收益。

 

案例启示

 

基于 Koa 已有成熟的社区,为成功助力。为框架提供横向扩展和动态适配,让开发者更加便利。