框架地址

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

DEMO

地址: http://www.zkwebsite.com

用户名: demo

密码: 123456

项目进度

核心框架已发布正式的版本。

业务插件仍在编写,目标是使用这套框架做一个开源的商城系统。

讨论QQ群:522083886

ZKWeb网站框架介绍的更多相关文章

  1. ZKWeb网站框架的动态编译的实现原理

    ZKWeb网站框架是一个自主开发的网页框架,实现了动态插件和自动编译功能. ZKWeb把一个文件夹当成是一个插件,无需使用csproj或xproj等形式的项目文件管理,并且支持修改插件代码后自动重新编 ...

  2. [译]MVC网站教程(一):多语言网站框架

    本文简介 本博文介绍了 Visual Studio 工具生成的 ASP.NET MVC3 站点的基本框架:怎样实现网站的语言的国际化与本地化功能,从零开始实现用户身份认证机制,从零开始实现用户注册机制 ...

  3. [翻译]Spring框架参考文档(V4.3.3)-第二章Spring框架介绍 2.1 2.2 翻译--2.3待继续

    英文链接:http://docs.spring.io/spring-framework/docs/current/spring-framework-reference/html/overview.ht ...

  4. Django 框架介绍

    Django 框架介绍 MVC框架和MTV框架 简单了解一下什么是MVC框架.MVC(Model View Controller),是模型(model)-视图(view)-控制器(controller ...

  5. golang学习笔记17 爬虫技术路线图,python,java,nodejs,go语言,scrapy主流框架介绍

    golang学习笔记17 爬虫技术路线图,python,java,nodejs,go语言,scrapy主流框架介绍 go语言爬虫框架:gocolly/colly,goquery,colly,chrom ...

  6. 第三百零三节,Django框架介绍——用pycharm创建Django项目

    Django框架介绍 Django是一个开放源代码的Web应用框架,由Python写成.采用了MVC的软件设计模式,即模型M,视图V和控制器C.它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内 ...

  7. IOS-常用第三方开源框架介绍

    iOS开发-常用第三方开源框架介绍(你了解的ios只是冰山一角) 时间:2015-05-06 16:43:34      阅读:533      评论:0      收藏:0      [点我收藏+] ...

  8. Python爬虫教程-30-Scrapy 爬虫框架介绍

    从本篇开始学习 Scrapy 爬虫框架 Python爬虫教程-30-Scrapy 爬虫框架介绍 框架:框架就是对于相同的相似的部分,代码做到不出错,而我们就可以将注意力放到我们自己的部分了 常见爬虫框 ...

  9. iOS开发-常用第三方开源框架介绍

    iOS开发-常用第三方开源框架介绍 图像: 1.图片浏览控件MWPhotoBrowser        实现了一个照片浏览器类似 iOS 自带的相册应用,可显示来自手机的图片或者是网络图片,可自动从网 ...

随机推荐

  1. 如何一步一步用DDD设计一个电商网站(四)—— 把商品卖给用户

    阅读目录 前言 怎么卖 领域服务的使用 回到现实 结语 一.前言 上篇中我们讲述了“把商品卖给用户”中的商品和用户的初步设计.现在把剩余的“卖”这个动作给做了.这里提醒一下,正常情况下,我们的每一步业 ...

  2. CRC、反码求和校验 原理分析

    3月份开始从客户端转后台,算是幸运的进入全栈工程师的修炼阶段.这段时间一边是老项目的客户端加服务器两边的维护和交接,一边是新项目加加加班赶工,期间最长经历了连续工作三天只睡了四五个小时的煎熬,人生也算 ...

  3. LeetCode 7. Reverse Integer

    Reverse digits of an integer. Example1: x = 123, return 321 Example2: x = -123, return -321 Have you ...

  4. java单向加密算法小结(2)--MD5哈希算法

    上一篇文章整理了Base64算法的相关知识,严格来说,Base64只能算是一种编码方式而非加密算法,这一篇要说的MD5,其实也不算是加密算法,而是一种哈希算法,即将目标文本转化为固定长度,不可逆的字符 ...

  5. spring applicationContext.xml和hibernate.cfg.xml设置

    applicationContext.xml配置 <?xml version="1.0" encoding="UTF-8"?> <beans ...

  6. Web安全开发之验证码设计不当引发的撞库问题

    感谢某电商平台安全工程师feiyu跟我一起讨论这个漏洞的修复.以往在安全测试的过程中后台经常存在验证码不失效果造成的撞库问题,甚至在一些银行或者电商的登录与查存页面同样存在这个问题,一旦造成撞库无论对 ...

  7. Git 学习看这篇就够了!

    Git是一个开源的分布式版本控制系统,可以有效.高速的处理从很小到非常大的项目版本管理. 可能新手会问"git和github有什么关系啊?" git是一个版本控制工具: githu ...

  8. jQuery标准的AJAX模板

    $('#saveInformationTemplate_button').on('click', function(){ if(isEmpty($("#name").val())) ...

  9. Maven(一)linux下安装

    1.检查是否安装JDK,并且设置了环境变量(JAVA_HOME): echo $JAVA_HOME java -version 运行结果: 显示jdk的安装路径,和java的版本,如: #jdk路径 ...

  10. 如何使用dos命令查看MySQL当前使用的数据库?

    1.dos命令安装mysqld --stall.启动net start mysql.进入MySQL数据库mysql -uroot -p后,输入select database(); 如图: