一款基于 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
-
可能需要安装 OpenSSL 1.0.2:https://gist.github.com/mbejda/a1dabc45b32aaf8b25ae5e8d05923518
-
克隆此仓库
-
macOS:使用下面的命令生成 Xcode 工程进行编译:
$ 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 过滤器日志组件。
- Pjango-JianshuPlugin:简书的定时爬虫组件。
- Pjango-SteamPlugin:Steam 主页背景图和头像的抓取以及适用于 Calatrava 的背景和头像的替换。
- Pjango-Postman:向 Postman 代理发出请求的组件。
发邮件给我:[email protected]
Pjango 基于 Apache-2.0 协议进行分发和使用,更多信息参见协议文件。