ZKWeb网站框架介绍
框架地址
https://github.com/zkweb-framework/ZKWeb
https://github.com/zkweb-framework/ZKWeb.Plugins
新的文档地址
http://zkweb-framework.github.io
请参考以上的文档以获取最新的信息。
ZKWeb是一个着重快速开发和模块开发的网站框架。
提供了动态插件和全自动管理数据库结构的功能。
模板系统和自动生成页面参考了Django的做法,并遵从Don't repeat yourself原则。
主要功能
- .Net Core支持
- 支持运行在.Net Framework和.Net Core上
- 插件系统
- 使用Roslyn
- 支持动态加载插件
- 支持修改插件源代码后自动重新编译和加载
- 模板系统
- 使用DotLiquid
- 支持Django风格的模板重载
- 支持手机版专用模板(优先从templates.mobile读取模板内容)
- 支持区域和针对区域的动态内容,可以在这基础上实现可视化编辑
- 支持对页面中的部分内容进行单独缓存,可以大幅提升页面的响应速度
- IoC容器
- 轻量且快速
- 默认支持使用属性注册程序集中的类型到容器
- 支持构造函数注入
- 支持多个框架的托管
- 支持托管在Asp.Net
- 支持托管在Asp.Net Core
- 支持托管在Owin
- 插件不需要理会托管在哪个框架,使用抽象层即可
- 支持多个ORM
- 支持Dapper
- 支持EntityFramework Core
- 支持InMemory
- 支持MongoDB
- 支持NHibernate
- NHibernate还不能运行在.Net Core上
- NHibernate和EFCore支持运行时自动更新数据表结构,不需要手动迁移
- ORM有统一的抽象层,一份代码可以同时在所有ORM上运行,但不能实现完全兼容
- 本地化
- 支持多语言
- 支持多时区
- 提供了gettext风格的翻译函数
- 测试
- 支持在控制台和网页运行测试
- 支持在测试中重载IoC容器
- 支持在测试中重载Http上下文
- 支持在测试中使用临时数据库
- 项目工具
- 提供创建项目使用的工具
- 提供发布项目使用的工具
默认插件集中的主要功能
- 自动生成和验证表单
- 自动生成Ajax表格
- 自动生成CRUD页面
- 定时任务
- 验证码
- 管理后台(使用AdminLTE)
- 全自动伪静态,几乎没有额外开销
- 多货币和多国家支持
- 更多功能请查看各插件的文档
项目地址
https://github.com/zkweb-framework/ZKWeb
https://github.com/zkweb-framework/ZKWeb.Plugins
项目进度
核心框架已发布正式的版本。
业务插件仍在编写,目标是使用这套框架做一个开源的商城系统。
讨论QQ群:522083886