前言
CabloyJS框架的研发历程共分两个阶段:EggBornJS和CabloyJS
EggBornJS是CabloyJS框架的第一阶段,关于CabloyJS的完整介绍,请参见:CabloyJS介绍
EggBornJS是什么
EggBornJS是一款原生分布式的Node.js全栈框架
EggBornJS是CabloyJS框架的第一阶段,其核心是实现框架的
模块化
和模块隔离
,为CabloyJS实现面向业务的快速开发框架奠定坚实的基础
- EggBornJS是采用NodeJS进行全栈开发的最佳实践
- EggBornJS不重复造轮子,而是采用业界最新的开源技术,进行全栈开发的最佳组合
- EggBornJS前端采用VueJS + Framework7 + Webpack,后端采用KoaJS + EggJS,数据库采用mysql
- EggBornJS时刻跟踪开源技术的最新成果,并持续优化,使整个框架时刻保持最佳状态。
EggBornJS重点解决什么问题:业务模块化
NodeJS技术的蓬勃发展,为前后端开发带来了更顺畅的体验,显著提升了开发效率。但仍有网友质疑NodeJS能否胜任大型Web应用的开发。大型Web应用的特点是随着业务的增长,需要开发大量的页面组件。面对这种场景,一般有两种解决方案:
1 采用单页面的构建方式,缺点是产生的部署包很大
2 采用页面异步加载方式,缺点是页面过于零散,碎片化严重,需要频繁与后端交互
EggBornJS实现了第三种解决方案:
3 页面组件按业务需求归类,进行
模块化
,并且实现了模块的异步加载
机制,从而弥合了前两种解决方案的缺点,完美满足大型Web应用业务持续增长的需求
EggBornJS的技术特点
- Bean & AOP:基于原生JS实现的Bean容器和AOP编程
- 多实例/多域名/多租户:通过多实例机制实现多域名和多租户应用
- 前后端分离:前后端分离开发,深度解耦
- 业务模块化:用
模块
思维规划项目 - 模块高度内聚:模块包括前端页面组件和后端业务逻辑
- 加载方式灵活:模块既可
异步加载
,也可同步加载
- 参数配置灵活:模块中的前后端可以单独进行参数配置
- 国际化:模块中的前后端均支持独立的国际化
- 模块隔离:模块的页面、数据、逻辑、路由、配置等元素均进行了命名空间隔离处理,避免模块之间的变量污染与冲突
- 超级易用的事务处理:只需在路由记录上配置一个参数,即可完美实现数据库的事务处理
- 测试驱动开发:可以有效沉淀开发成果,当代码出现变更时也能尽快锁定潜在问题,从而显著提升代码的鲁棒性
- 渐进式开发:由于模块的高度内聚,可以将业务以模块的形式沉淀,在多个项目中重复使用,既可贡献到npm开源社区,也可部署到公司内部私有npm仓库
有了EggBornJS,从此可复用的不仅仅是组件,还有业务模块
EggBorn名称的由来
这个名称的由来比较简单,因为有了Egg(后端框架),所以就有了EggBorn。有一部动画片叫《天书奇谭》,里面的萌主就叫“蛋生”,我很喜欢看(不小心暴露了年龄😅)
评论: