最近没事,使用 Python 3.6.5 + Flask 1.0.2 重写了 Flarum
访问网址 https://www.twle.cn
Flarum, 这个论坛,想必很多人都知道,很多人都很惊奇
我当初就是这样,很好奇,可是装了很久,总是各种莫名奇妙的出各种 Bug
于是,我就有了重写它的想法了
重写之前想了很多语言,比如 Golang 啦,Node 啦,Python 啊,PHP 啦
最后就敲定了 Python
然后就开始选框架了,Tornado Flask bottle web.py ....
对 Tornado 最熟悉,可当初也不知道怎么相的,就选择了 Flask
选 Flask 的另一个原因是喜欢 Jinja2,哎,痛苦的根源开始了
对 Mithril 不熟悉,一开始不敢贸然改动前端框架和通讯协议
但这么说呢?有时候就要迎着头皮去改动,反而觉得简单了
用习惯了 Vue 和 React ? 想立马上手 Mithril,那简直门都没有
不过习惯了之后,就会发现 Vue 和 React 有点复杂了
使用 Vue 后还要不要使用 JQuery?
困扰我很久的问题,如果使用 Vue 后还需要使用 JQuery,那么我前端就不用 Vue 重写了
重写前端,这个工作,想都不敢想,太庞大了
看懂 Flarum 的源码?
我觉得就是给我半年时间,我也不一定能把 Flarum 的代码看懂
这也是最近一年以来,越来越不喜欢 PHP 的原因
Flarum 的继承体系太复杂了
看懂协议?
协议部分,我一开始没看懂,就跑去 http://discuss.flarum.org.cn/ 里各种点击页面看看返回的结果
以前对 Flarum 的协议一知半解,现在回过头去看,哇塞,也就那样了
要对 @justjavac 说声对不起,有段时间,我都怀疑是不是我点击太多次导致服务器挂了
那段时间我还询问,是不是遭受攻击了呢
要说收获,真的是蛮大的
通过折腾 Mithril, 对如何使用 Vue 和 React 构架复杂的页面有了更深入的理解,这种理解不只是框架本身,而是 Flarum 带来的前端知识的变革,组件化所有页面,通过伪继承,达到渗透组件的目的
前后端交互协议?
现在几乎应该都用 JSON 作为数据交换格式了把? 但是数据传输协议怎么样设计?目前还是没有很统一的方法
因为要兼顾缓存
如果要兼顾缓存,要怎么设计协议呢?
我不说什么什么协议好,我只是想说 Flarum 提供了一种思路
境界的提升
我不知道该怎么表达这货,总之,现在回头看,刚开始重写的时候,简直就是小白一个
希望大家轻拍,还有很多系统没有完善,尤其是权限系统
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.