MiniEtLibDemos
目录
提取自ET 7.2,仅保留核心框架层,相关业务层基本都被剔除,便于用来理解学习
MiniEtLibDemos这个仓库是本人在项目接入ET框架后,出于推广学习需要搞的ET精简版,剔除了ET上的各种业务逻辑,仅仅保留了ET框架的核心ECS模块、事件模块、网络模块以及消息模块等,同AOGame思路差不多,只是个人偏好不一样,并在此基础上搞了WinForm GUI Demo和UnityDemo等,完整版可以在官网查看
目录结构
- AppClientCLI:一个命令行客户端Demo
- AppClientGUI:一个WinForm客户端Demo
- AppModel:该程序集包含了各种与UI无关Component声明
- AppModelView:包含了各种与UI相关Component声明
- AppHotFix:该程序集存放了AppModel上的各种Component的方法
AppHotFixView:该程序集存放了AppModelView上的各种Component的方法,这里由于WinForm的限制,已被合并到AppClientGUI/ModelVeiw上了- AppServer:一个命令行服务端Demo
- CLI_Loader:用于加载CLI DLL的加载程序集
- Config:放置配置表的地方,这里还集成了Luban工具
- GUI_Loader:用于加载GUI DLL的加载程序集
MiniEtLib:剥离出来的ET核心,位置已经挪到了xxx\UnityDemo\Assets\Scripts\Core\MiniEtLib
- SimpleBenchmarkDemo:ET官方示例里的基准示例
- UnityDemo:一个UnityDemo
碎碎念
该框架在项目落地之后,其信息量没变,只是代码组织形式由原本的OOP转变成了ECS了,不过它带来了一个好处,巧妙的程序集拓扑设计让它前后端都可以开发热重载,并且大大节省了团队内部自己对双端框架的演进时间,只不过,ECS带来的心智负担着实不小,在推进过程受到的阻力也有一些,但是凭着对热重载机制的喜爱,最终还是与组内伙伴集思广益,基于现有业务开发和后续的开发量产管线考虑,捋顺了它的开发流程和配套工具链
本人之前用过Erlang,也尝鲜过Flutter,它们的热重载机制都比较完善,开发体验一级棒,一图胜千言
最后再逼逼一句,无论何种框架,总会遇到众口难调的情况,作为团队的一员,没上升到可以做技术决策的地位之前,在技术方案选型阶段,多参与讨论,在方案落地时,多参与建设,这样于己于团队都是有利的,多种不同思想碰撞能带来技术视野、架构能力上的长进
参考资料
- ET 7.2
MiniET剥离自该版本
- X-ET7
从这之中提取了Luban的整合代码
- AOGame
- unity3d c#热重载-边运行边改代码