Koala Framework是什么?我为什么要写这个框架?
当时的监管组,技术力量累积的很少,还在直连DB,使用着DataTable、DataSet作为数据的承载,监管是公司最近几年主推的项目,所以领导们决定进行重要调整。
初来乍到
由于之前没有任何的技术积累,所以面临的就是重新开始,当时的项目非常赶,所以先尝试着找现成的框架使用,然而像面向功能的组件、框架非常非常多,如:IOC(Autofac、MEF、Spring.Net…),ORM(Entity Framework、NHibernate、Simple Data…),调度(Quartz…)但是面向整个项目开发过程的可用框架几乎没有或者太重了,如:(Orchard,DNN),于是决定参照Orchard、DNN开始自己造轮子,以满足现在简单的需求。
升级?重构?
渐渐的这个简单的框架开始力不从心,虽然支持了Modules式开发,支持了Module拔插但随着底层机制的不稳固渐渐的出现了问题。这时开始决定升级,或者说重构,因为这一次时间较充裕,所以底层机制可以仔细的构建,由于直接简单的框架使用了IOC所有这一次就算重构的面目全非最后只要做简单的适配即可集成现有的模块。
面向Web(像CMS?)
由于监管是B/S项目所以这次的重点是Web,而不去考虑Windows Forms、WPF等框架,这一次同样参考了Orchard,这段时间是最艰难的时候,因为不完全了解Orchard所以在重构的过程中很容易被Orchard带进他们的设计理念与思想中去,解决方案不知重建了多少遍。。。
插件化的开发框架
经历一段时间之后决定抽丝拨茧,先把核心的东西做出来—— 插件机制(插件引擎、插件框架)怎么称呼都好反正就是一套插件机制。
然而这一次不单单是只针对B/S的应用程序,而面向了全.NET平台
NET(Windows Form、WPF、Web Form、MVC等)
Xbox
Windows Phone
Windows Store
Silverlight
Xbox
当初定成一个插件式开发框架,不包含任何业务功能(比如:CMS的文章系统,用户系统,搜索功能…)。
离职是一个新的起点
这个时候因为其他一些原因,我离开了原来的公司,但我带着我的框架梦还继续前进着。
Koala Framework
Koala Framework是一个用于快速构建.NET应用的开发框架,可以适用于任何.NET平台下的应用开发,Koala Framework通过特有的插件机制使其在项目开发过程中可以很好的遵循开闭原则(对扩展开放,对修改封闭),从根本上实现项目的高内聚、低耦合。
Koala Framework提供了哪些功能?
插件管理。支持插件安装加载、调用、安装、卸载及更新。
提供了插件服务器,可以自由上传已开发完成的插件供广大使用Koala Framework构建应用的开发者们使用,并且插件服务器也可独立部署在所在的工作网络。
与现有应用程序集成。可以将现有应用程序以插件形式在Koala Framework中管理,不必担心你已具有的功能需要重新开发。
提供了多种组件,如:Bus、Caching、Dynamic Proxy、IOC、Localization、Logging等。
提供完善的开发时支持,如:插件清单编辑器,插件部署工具等。
Koala Framework是否发布?当前版本?
很抱歉,由于本人目前所在公司所担任职务无法全身心对Koala进行开发,所以Koala的进展比较缓慢,当前正在进行Alpha 2的版本迭代,还没有到可以发布的时候,计划在Beta 1时再做发布。
Koala Framework 下一步
会在Beta 1之前完成计划任务与权限的组件开发,连同Beta 1一起发布,Alpha 2之后会相继迭代Alpha 3、Alpha 4,每次迭代周期平均为20天左右。
Alpha 2:插件机制扩展、开发支持工具优化、本地化组件完善。
Alpha 3:权限组件开发、框架优化。
Alpha 4:Fix Bug。
Beta 1:Fix Bug、优化。
====以下不确定(也可能是Fix Bug发布Release 1之后才会做的事情)====
Beta 2:自定义表单。
Beta 3:自定义表单扩展。
Beta 4:自定义表单扩展。
Beta 5:工作流引擎。
……………………………………
我的期望
希望能找到一家能提供给我飞翔的平台公司,能让我为.NET开发出一些国产且优秀的东西,当然这些东西也是这家公司认为所需要的东西,不然谁那么无私哈哈。
博文的下一步
以后主要会围绕Koala Framework陆续写一些相关的文章,比如启动机制、插件内容、插件机制、组件讲解等等。
Koala Framework Demo
JiraTool:http://JiraTool.codeplex.com/(基于Koala Framework Alpha 1写的Jira工具,没有做jira地址配置哦,所以你们是用不上的,嘿嘿,之后有时间会加上这一块的配置,因为赶时间所以代码比较凌乱大家凑合着看)
ERP Demo
今天刚写的,基于Koala Framework Alpha 2(未发布版)
代码结构良好,也比较简单的Demo示例,稍微处理一下对环境的要求之后在补上源码地址。
给点截图吧:
由框架提供的插件服务器(框架同时提供了寄宿于:IIS(Web)、Console、Windows Forms的插件服务器)
以下为ERP Demo的窗体
登录界面:
主窗体:
安装仓库插件之后
安装欢迎插件1.0.0.0并点击之后
更新欢迎插件至1.0.0.1并点击之后
卸载欢迎插件1.0.0.1之后
项目的截图
结语
做框架不容易,如果这个框架让你不屑也请请和谐讨论哈。