think-builder 2.0 开发计划,以及相关

浏览:1061 发布日期:2017/09/24 分类:ThinkPHP5专区 关键字: thinkphp5 脚手架 crud rbac
【1.前言】
半年前,曾经发过一篇关于 think-builder 2.0 开发计划的帖子:http://www.thinkphp.cn/topic/46426.html,反映了当时对 think-builder 的一些看法。

半年过去了,整个环境发生了一些变化,我也在几个商用项目中不同程度地应用了 think-builder 来完成基础构建工作。这些问题在 1.4.0 的发布公告里面也有提及:http://www.thinkphp.cn/topic/50838.html

因此对于 think-builder 的开发计划现在有了一些调整。

【2.工具】
* 使用 rust 语言进行开发,凡是 rust 语言支持的平台都会支持,包括 windows/linux/macOS 等;
* 借鉴 gulp 将 think-builder 由定义 php 数组方式改为工作流构建脚本方式;
* 提供独立的 serve 模式,允许自行运行一个 http 服务器(不需要额外安装任何其他http服务器,如:apache、nginx 等),使用 B/S 图形化方式操作;
* 允许从支持的数据库中逆向生成对象数据;
* 在内存中构建虚拟节点树的方式进行数据处理;
* 提供持续集成能力,允许直接在原有生成结果基础上做变更;
* 提供分层优化能力,根据数据的生命周期进行管理;
* 根据项目的配置,自动判定对 php/nodejs 等环境的依赖

【3.文档】
* 提供快速入门手册;
* 提供使用者完全手册;
* 提供开发者二次开发手册(略迟);

【4.数据库】
* 不再使用文本方式定义数据文件,而采用 SQLite 作为数据存储引擎;
* 增加对 mongodb 的支持;
* 增加对 redis 的支持;
* 增加对 pregresql 的支持;

【5.生成器插件】
* 支持的 thinkphp 框架从 thinkphp 5.1 起步,想要使用 thinkphp 5.0 的只能选择 1.x 系列的版本了;
* 后台默认采用 metronic 5.0( Backend System模板)/jquery3.x/bootstrap4,也可选择 AdminLTE;
* 前台默认选用 jango 2.0 模板;
* 前端还支持 vue + elementUI(并推荐);
* 后期可能增加 LayUI、ZUI、AmazeUI 的集成等;
* 默认仍提供 bower 的配置,但是更推荐 gulp、yarn 等工具;

【6.ThinkPHP 框架集成】
* 全面采用 ThinkPHP 5.1 的目录构成方式;
* 考虑到大多数场景,去除多应用的生成,采用单 Application 的方式;
* 后台尽量采用 api 方式提供数据服务,而尽量不再在控制器/模型中包含太多数据操作的代码;
* 默认提供一些助手类,放置在 \app\common\helper 下;
* 提供默认的Crud控制器父类和泛型,并生成默认的错误控制器,所以可以不生成简单表的控制器,由错误控制器处理所有默认的Crud操作;
* 提供默认的Model模型类父类,并提供一些扩展的操作,例如可以自动识别hasOne等关联关系,并进行增查改删处理等;
* 提供默认的Validate校验器类父类,提供一些官方没有的校验方式,例如匹配+86-0123-12345678-123 这样的电话号码格式;
* 提供默认的登录鉴权 behavior 行为类,用户可以自行扩展鉴权与相关行为;
* 所有的后台模板提供对应的 paginator 驱动;

【7.其他框架】
* 支持 laravel 5.5/lumen 5.5 的脚手架构建,由于 laravel 本身就提供了脚手架功能,所以重点会参考官方实现与一些github上的类似项目;
* 支持 koa 2 的构建

【8.商业支持】
* think-builder 2.0 开始将会有 1 年的维护期;
* 我会使用我控股的技术公司提供商业化的支持,包括软件版权、ci等;
* 如果想获得 think-builder 2.0 的培训、技术支持请联系我,可以开发票哦 ^_^。

暂时就这么多了,如果大家有什么想法,请加Q群:348077414
最佳答案
评论( 相关
后面还有条评论,点击查看>>