ZKWeb

by zkweb-framework

zkweb-framework /ZKWeb

A flexible web framework supports .Net Framework and .Net Core

467 Stars 140 Forks Last release: 12 months ago (3.0.0) Other 849 Commits 40 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:

ZKWeb

Codacy Badge Build Status Build status NuGet MyGet Pre Release

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

Features

  • .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
    • Django style overlapping template file system
      • One plugin can just override other plugin's template
    • Template specialization for mobile or pc
    • Area-Widget style dynamic contents system
      • Able to implement a visual page editor based on this feature
    • Per-widget render cache
      • Most times it's better than cache the whole page
    • 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
    • Policy based isolated cache
      • Isolated by device, request url, and more...
    • 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

Features from the default plugin collection

  • Form generation and validation
  • Ajax table generation
  • CRUD page scaffolding
  • Scheduled Tasks
  • Captcha
  • Admin Panel
  • Automatic pesudo static
  • Multi-Currency and Region
  • And More...

Getting Started

In Short:
Open 'Tools\ProjectCreator.Gui.Windows\ZKWeb.Toolkits.ProjectCreator.Gui.exe' and create the project.

project creator

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.

Packages

  • ZKWeb: NuGet
  • ZKWeb.Hosting.AspNet: NuGet
  • ZKWeb.Hosting.AspNetCore: NuGet
  • ZKWeb.Hosting.Owin: NuGet
  • ZKWeb.ORM.Dapper: NuGet
  • ZKWeb.ORM.EFCore: NuGet
  • ZKWeb.ORM.InMemory: NuGet
  • ZKWeb.ORM.MongoDB: NuGet
  • ZKWeb.ORM.NHibernate: NuGet

Links and License

Homepage: https://zkweb.app.compiv.com
Demo: https://zkweb-demo.app.compiv.com (Login: demo 123456)
MVVM Demo: https://zkweb-mvvm-demo.app.compiv.com (Login: admin 123456)

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 [email protected]
If you have any license issue please contact [email protected]

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.