ZKWeb is a flexible web framework for .NET Framework and .NET Core.
Why created this framework?
I want a better plugin system, one folder one plugin just like django
I want an independent mvc framework, because MS change their architecture too often
I want a powerful template system enough to implemente a visual page editor
.NET Core Support
Support both .NET Framework and .NET Core
Plugin System
One folder one plugin, each contains everything it needs
Automatic compile and reload after source code has changed
Based on Roslyn compiler
Template System
Most times it's better than cache the whole page
Able to implement a visual page editor based on this feature
One plugin can just override other plugin's template
Django style overlapping template file system
Template specialization for mobile or pc
Area-Widget style dynamic contents system
Per-widget render cache
Based on DotLiquid
IoC Container
Fast
Provide IServiceProvider integration
ZKWeb own implementation
Multiple Host Environment
Support Asp.NET
Support Asp.NET Core
Support Owin
Use the common abstraction layer can make a plugin support all of this without different code
Multiple ORM
Support Dapper
Support EntityFramework Core (with full automatic database migration)
Support InMemory
Support MongoDB
Support NHibernate (with full automatic database migration)
Use the common abstraction layer can make a plugin support all of this with less different code
Localization
Multi-language support, with gettext style translation
Multi-timezone support
Caching
Isolated by device, request url, and more...
Policy based isolated cache
Abstraction layer for key-value cache
File Storage
Abstraction layer for file storage
Testing
Console and web test runner
Support IoC container overridden
Support Http context overridden
Support temporary database
Project Toolkits
Project Creator
Website Publisher
Linux support
Ubuntu 16.04 LTS 64bit
CentOS 7.2 64bit
Fedora 24 64bit
Form generation and validation
Ajax table generation
CRUD page scaffolding
Scheduled Tasks
Captcha
Admin Panel
Automatic pesudo static
Multi-Currency and Region
And More...
In Short:
Open 'ToolsProjectCreator.Gui.WindowsZKWeb.Toolkits.ProjectCreator.Gui.exe' and create the project.
You can read README.md under Tools first, for more information please see the documents.
For now there only chinese documents, if you can't read chinese please ask the questions in 'Issues'.
For those chinese software engineers, is recommended to join QQ group 522083886 for further discuss.
ZKWeb:
ZKWeb.Hosting.AspNet:
ZKWeb.Hosting.AspNetCore:
ZKWeb.Hosting.Owin:
ZKWeb.ORM.Dapper:
ZKWeb.ORM.EFCore:
ZKWeb.ORM.InMemory:
ZKWeb.ORM.MongoDB:
ZKWeb.ORM.NHibernate:
Plugins: https://github.com/zkweb-framework/ZKWeb.Plugins
Documents: https://zkweb-framework.github.io (Chinese)
References: https://zkweb-framework.github.io/cn_v2.0/references/zkweb/ZKWebReferences.chm
MIT License
Copyright © 2016~2019 303248153@github
If you have any license issue please contact [email protected].