基于 MVC 模型和 WSGI ,正在参考 webpy 的源码架构,准备写一个至少比 webpy 重一些的,有足够前端模版渲染的 web 框架;
参考源码: django 太重, flask 不错不过架构要求太高。
有经验的大神可以说下:写一个 web 框架除了看源码,还需要注意一些什么方面吗,有什么好的建议和教程?还有什么好用的工具之类可以减少重复造轮子?
1
mengzhuo 2015-09-08 09:54:17 +08:00 1
你看过 bottlepy 么
我在生产环境都是用 ( mongoengine || sqlalchemy )+ bottlepy + blinker 就能不错地完成大部分 webapp 需求了 用 Django 一般都是图省事,企业应用最多的就是权限管理了 |
2
clino 2015-09-08 09:57:49 +08:00 1
uliweb 也可以参考下,uliweb 主要的特点是:可重用性,可配置性和可替换性
http://limodou.github.io/uliweb-doc/zh_CN/index.html 体系结构和机制 http://limodou.github.io/uliweb-doc/zh_CN/architecture.html |
3
chon 2015-09-08 10:02:04 +08:00
什么叫架构要求太高?
|
4
clino 2015-09-08 10:04:50 +08:00
"还有什么好用的工具之类可以减少重复造轮子?"
uliweb 用到的基础组件: http://limodou.github.io/uliweb-doc/zh_CN/introduction.html#title_1-3 |
5
wind3110991 OP @clino 感谢~
|
6
jadecoder 2015-09-08 10:40:23 +08:00
还没开始写就把名字起好了
|
7
loading 2015-09-08 10:55:14 +08:00 via iPhone
带足够的前端模板?
你说的是你这个是和前端强耦合的? 我觉得 flask 给我返回 json 就够了~ |
8
HavenShen 2015-09-08 11:04:01 +08:00 1
tornado 用比较不错的一个前端框架。
|
9
evlos 2015-09-08 11:31:13 +08:00 1
Tornado + Jinja2 的搭配很赞
|
10
janxin 2015-09-08 12:27:18 +08:00
参考下 tornado ,我想利用 async+await ,直接干掉原来的 gen.coroutine 跟 asynchronous ,当然了,需要 3.5+才能跑....
|
11
rainmakeroly 2015-09-08 12:41:04 +08:00 via Android
大概个人是刚入门。你确定可以比肩 webpy ???在已有 Django 的前提下, webpy,flask, tornado , pyramid 都有准确的定位。其他未提的也都有。总觉得会坑学的人。
|
12
est 2015-09-08 12:53:47 +08:00
可以考虑搞一个异步框架。目前除了 tornado 一枝独秀,其他都是基于 WSGI 。 这玩意是一个死在同步上的老接口。 WSGI 2.0 也没考虑异步问题。
|
13
Comdex 2015-09-08 13:06:07 +08:00
搞一点新概念呗
|
14
wizardoz 2015-09-08 13:34:25 +08:00
既然不想重复制造轮子,为什么要重新写?
可以 fork 现有的框架,什么地方不满意的改改就可以了。 |
15
wind3110991 OP @jadecoder 想到名字才想开始写的
|
16
wind3110991 OP @loading - -好吧我的错
|
17
wind3110991 OP @rainmakeroly 额。。。不太理解您的意思
|
18
wind3110991 OP @Comdex 异步是个好点子,轻量级异步?
|
19
yh7gdiaYW 2015-09-08 17:23:58 +08:00
@wind3110991 我觉得现在需要一个 webpy 程度的异步框架
|
20
MrEggNoodle 2015-09-08 17:29:35 +08:00
看了你跟别人的聊天,个人感觉你对目前框架的状况了解还不够多。
不知道你写框架的动机是什么? 为了个人提高?其实如果你把 py 下目前流行框架的源代码过一遍,或者原文档过一遍,就算不是大牛也是小牛了。 框架开始很容易,但是一个成熟有人用的框架需要有过人的技术作为基础支撑。 如果你执意要写,那么希望你在开始之前想好你的框架是为了什么而产生,然后从始至终,你的框架都要坚持你开始的理念,那么就会有他存在的价值。 啰嗦乱扯了一些,咋乱无章,见谅。 |
21
wind3110991 OP @MrEggNoodle 我就是觉得一直在用别人的框架,比如 django 和 flask ,有些需要定制和个性化的地方十分不方便,不如自己从头写一个框架,然后把自己博客迁移过去
PS :我不奢望有人会用,我只希望自己能深入理解如何去写一个框架 |
22
chengzhoukun 2015-09-08 21:20:53 +08:00
我也打算写一个,主要是为了加深下对 web 开发流程的理解
你可以去看下 flask 1.0 的代码。 另外廖雪峰的 Python 教程最后用 asyncio 和 aiohttp 搭建的简易框架也是不错的 |
23
chengzhoukun 2015-09-08 21:21:34 +08:00
flask 0.1 (刚刚打错了)
|
24
depr 2015-09-09 10:41:09 +08:00
@wind3110991 我现在是用 Django ,在需要的时候自己改造,到某个阶段后,框架似乎不是那么重要了
|
25
wind3110991 OP @depr 同意你的观点
|
26
wind3110991 OP @chengzhoukun 感谢~
|