在去年年底的时候,曾经发过一篇内容描述未来的 think-builder v2.0.0+ 的开发计划,原文看这里:http://www.thinkphp.cn/topic/44909.html
进入2017年之后, think-builder 的开发进度与计划中的并不完全相同。原因是经过仔细的考虑之后,决定 think-builder v2.0.0+ 的很多工作不会再基于 PHP 开发完成,think-builder 将集中精力专心维护现在的 v1.x 功能,也就是说也许有 v1.4 版本出现了。
那么 v2.0.0+ 不会再出现了么?
是,也不是。
【2.全新的工具】
我决定扩大脚手架工具的适用范围。新工具将使用 rust 语言重写,不再依赖于 PHP,变成独立的脚手架工具框架。而代码生成器成为脚手架框架中的插件。也就是说,通过调用不同的插件,新的工具可以生成的代码不再受到语言的限制,也不再受到框架的限制。
现在考虑实现的生成器插件包括 thinkphp5.x/PHP、lumen5.x/PHP、express4.x/Node、koa2.x/Node。
使用 rust 重写这样一个工具的原因:
1,think-builder 一直是一个命令行工具,而 PHP 并不是做 CLI 工具的首选;
2,rust 特别适合开发跨平台的命令行工具;
3,toml 作为配置文件或者数据定义文件非常易学好用;
4,rust 的思想先进,性能也非常不错;
5,大多数人并不关心脚手架框架自身的代码,所以非脚本化后的影响很小;
6,think-builder 几乎所有功能都跟 PHP 语言环境的特性关联不大;
7,个人认为 rust 语言具有相当的生命力,比 swift 发展更加有空间;
8,新的工具不想强依赖于任何脚本引擎,例如 node、python、php、ruby;
9,互联网应用开发不只是有 mvc、mvvc 等几种模式的;
10,现在的包管理工具都是针对代码级别的,但是没有针对应用级别的。
新工具的特性:
1,支持的操作系统包括:win64/lin64/macOS;
2,高度可扩展的插件式命令行工具框架;
3,支持生成多种语言(可混合)、多种框架、多种版本的代码;
4,提供独立于语言的工程维护命令;
5,提供统一的数据定义方式;
6,提供独立的解析器,支持命令式数据;
7,支持混合式数据结构(SQL/NOSQL)代码生成;
8,支持复杂部署架构,例如:nginx + varnish + redis + mongodb + mysql;
9,通过 bridge 方式支持多种前端模板代码生成,例如 adminlte、mui、zui、amazeui、metronic、jango、bootstrap等;
10,支持多种前端框架代码生成,例如 angular、vue、react/react native 等;
11,提供预定义应用数据包管理工具,类似于 gentoo emerge 的方式融合应用数据;
12,融合一些先进的工作流,并实现自动化流程,生成工程化的代码;
13,考虑加入支持 bpmn 的第三方数据格式,允许生成业务代码(实验性);
14,考虑实现一定程度的 CI 功能集成,开发部署运维工具一体化(实验性);
15,更多可能性在考虑中。
【3.其他】
之前计划中的图形化 think-builder (think-forge)计划依然会继续,采用 B/S 架构的 GUI 方式操作来提升易用性。
think-builder 一直是我个人的兴趣型项目,初步验证一下一些思路的可行性,所以也都是个人进行开发维护。从新工具项目开始,将通过我的公司提供资源支持,保证项目的延续性,所以项目不会做做就死。
请大家多提提建议和思路。
欢迎大家加Q群:348077414
最佳答案