Skip to content
/ Pjango Public

一款基于Swift 3.x的服务端框架,使用MVC设计你的服务端软件。

License

Notifications You must be signed in to change notification settings

enums/Pjango

Repository files navigation

一款基于 Swift 3.x 的服务端框架,使用 MVC 设计你的服务端软件。

更新

我正在计划结束这个项目,原因如下:

  • 早起参考了一些 Django 的设计,导致无论是架构还是 API 都非常不 Swifty。
  • 这个框架最早诞生于 Swift 3.x,经历了几次版本迁移,但都仅限于解决了编译问题。
  • 数据库方面薄弱,写页面依然需要写 HTML,整体完成度不高。
  • 早期的一些设计在今天有了更好的解决方法。

这是我第一个真正意义上的服务端项目,现如今它在线上跑了整整两年,目前依然在为我服务,但在不远的将来我会把它换下。

感谢关注。

—— 2019.07.23

新的解决方案已经开发完成,见:https://github.com/enums/Heze

—— 2019.09.10

今日发现在 Swift 5 的编译器下已无法正常工作,请不要再使用了。PCModel 的 meta 方法构造出了父类实例,是个空的模型描述。

—— 2019.12.02

使用方法

$ swift package generate-xcodeproj
  • Linux:使用Swift Package Manager编译:
$ swift build

范例

  • 基础模板:最基础的例子。
  • Calatrava:我的开源博客,Pjango 的深度使用。
  • Postman:HTTP 转发服务器,Calatrava 中的 Instagram 模块依赖在远程服务器部署的 Postman。

组件

模型组件

  • Pjango-Core-Model:内置的模型核心驱动。

视图组件

  • Pjango-Core-View:内置的视图核心驱动。
  • Pjango-Core-ListView:内置的列表类视图。
  • Pjango-Core-DetailView:内置的展示类视图。

数据库组件

  • Pjango-Core-DataBase:内置的数据库核心驱动。
  • Pjango-Core-FileDB:内置的文件驱动组件。
  • Pjango-MySQL:MySQL 数据库支持组件。

插件式组件

  • Pjango-Core-Plugin:内置的插件核心驱动。
  • Pjango-Core-TaskPlugin:内置的一次性任务组件。
  • Pjango-Core-TimerPlugin:内置的延时、定时、重复定时任务组件。
  • Pjango-Core-HTTPFilterPlugin:内置的 HTTP 服务过滤器组件。
  • Pjango-Core-LogFilterPlugin:内置的 HTTP 过滤器日志组件。

其他功能组件

联系我

发邮件给我:[email protected]

协议

Apache-2.0 license

Pjango 基于 Apache-2.0 协议进行分发和使用,更多信息参见协议文件。

About

一款基于Swift 3.x的服务端框架,使用MVC设计你的服务端软件。

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages