正在自己动手写一个基于 python 的 web 框架 Dolphin,各位有什么好的教程和建议吗?

2015-09-08 09:49:40 +08:00
 wind3110991

基于 MVC 模型和 WSGI ,正在参考 webpy 的源码架构,准备写一个至少比 webpy 重一些的,有足够前端模版渲染的 web 框架;

参考源码: django 太重, flask 不错不过架构要求太高。

有经验的大神可以说下:写一个 web 框架除了看源码,还需要注意一些什么方面吗,有什么好的建议和教程?还有什么好用的工具之类可以减少重复造轮子?

4811 次点击
所在节点    Python
26 条回复
mengzhuo
2015-09-08 09:54:17 +08:00
你看过 bottlepy 么
我在生产环境都是用
( mongoengine || sqlalchemy )+ bottlepy + blinker
就能不错地完成大部分 webapp 需求了

用 Django 一般都是图省事,企业应用最多的就是权限管理了
clino
2015-09-08 09:57:49 +08:00
uliweb 也可以参考下,uliweb 主要的特点是:可重用性,可配置性和可替换性
http://limodou.github.io/uliweb-doc/zh_CN/index.html
体系结构和机制 http://limodou.github.io/uliweb-doc/zh_CN/architecture.html
chon
2015-09-08 10:02:04 +08:00
什么叫架构要求太高?
clino
2015-09-08 10:04:50 +08:00
"还有什么好用的工具之类可以减少重复造轮子?"
uliweb 用到的基础组件: http://limodou.github.io/uliweb-doc/zh_CN/introduction.html#title_1-3
wind3110991
2015-09-08 10:23:50 +08:00
@clino 感谢~
jadecoder
2015-09-08 10:40:23 +08:00
还没开始写就把名字起好了
loading
2015-09-08 10:55:14 +08:00
带足够的前端模板?

你说的是你这个是和前端强耦合的?

我觉得 flask 给我返回 json 就够了~
HavenShen
2015-09-08 11:04:01 +08:00
tornado 用比较不错的一个前端框架。
evlos
2015-09-08 11:31:13 +08:00
Tornado + Jinja2 的搭配很赞
janxin
2015-09-08 12:27:18 +08:00
参考下 tornado ,我想利用 async+await ,直接干掉原来的 gen.coroutine 跟 asynchronous ,当然了,需要 3.5+才能跑....
rainmakeroly
2015-09-08 12:41:04 +08:00
大概个人是刚入门。你确定可以比肩 webpy ???在已有 Django 的前提下, webpy,flask, tornado , pyramid 都有准确的定位。其他未提的也都有。总觉得会坑学的人。
est
2015-09-08 12:53:47 +08:00
可以考虑搞一个异步框架。目前除了 tornado 一枝独秀,其他都是基于 WSGI 。 这玩意是一个死在同步上的老接口。 WSGI 2.0 也没考虑异步问题。
Comdex
2015-09-08 13:06:07 +08:00
搞一点新概念呗
wizardoz
2015-09-08 13:34:25 +08:00
既然不想重复制造轮子,为什么要重新写?
可以 fork 现有的框架,什么地方不满意的改改就可以了。
wind3110991
2015-09-08 16:42:10 +08:00
@jadecoder 想到名字才想开始写的
wind3110991
2015-09-08 16:43:33 +08:00
@loading - -好吧我的错
wind3110991
2015-09-08 16:44:13 +08:00
@rainmakeroly 额。。。不太理解您的意思
wind3110991
2015-09-08 16:48:20 +08:00
@Comdex 异步是个好点子,轻量级异步?
yh7gdiaYW
2015-09-08 17:23:58 +08:00
@wind3110991 我觉得现在需要一个 webpy 程度的异步框架
MrEggNoodle
2015-09-08 17:29:35 +08:00
看了你跟别人的聊天,个人感觉你对目前框架的状况了解还不够多。
不知道你写框架的动机是什么?
为了个人提高?其实如果你把 py 下目前流行框架的源代码过一遍,或者原文档过一遍,就算不是大牛也是小牛了。
框架开始很容易,但是一个成熟有人用的框架需要有过人的技术作为基础支撑。
如果你执意要写,那么希望你在开始之前想好你的框架是为了什么而产生,然后从始至终,你的框架都要坚持你开始的理念,那么就会有他存在的价值。
啰嗦乱扯了一些,咋乱无章,见谅。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/219025

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX