本项目是按照霍春阳的 Vue.js 设计与实现,用 Python 实现其中的相关内容。
这是隔离在家期间开发的项目,初步完成了一些设想的功能,距离完成还有很多的工作,如果大家对这个项目感兴趣,欢迎 watch 和 star ,也欢迎大家提 issues 和 pr 。
目前完成的 Renderer 还是个半成品,还需要设计 diff 算法来优化组件的更新。 再之后需要设计编译器和解码器,让项目能够以类似 Vue.js 的 SFC 模式进行开发。
最后感谢大家的关心和支持~
1
zagfai 2022-05-27 19:45:57 +08:00
用途是?做电脑应用?
|
2
zcf0508 OP @zagfai 完成之后应该是可以的。
而且和 Vue.js 一样,渲染引擎是可以换的,但是我不清楚 python 的其它 UI 库,目前用的 PyQt ,拿来做桌面应用应该会比 electron 性能好一些。不过好像 PyQt 做出来的不咋好看。 |
3
jolanyu 2022-05-27 19:50:27 +08:00
pyqt 能不能做点像组件库一样的东西
|
4
zcf0508 OP |
5
iamzuoxinyu 2022-05-27 20:19:07 +08:00 via Android
vue native?
|
6
zcf0508 OP @iamzuoxinyu 查了下好像已经不更新了。因为渲染引擎这块是独立的,和 Vue.js 一样,所以按理只要更换其它平台的渲染引擎,应该就可以跨端了。
|
7
iamzuoxinyu 2022-05-27 20:30:41 +08:00 via Android
还真有叫 vue native 的东西啊...我是觉得你这项目跟 rn 思路一样,可能 rn 的话实现起来会更简单一些。
|
8
zcf0508 OP @iamzuoxinyu 是的,从 SFC/jsx -> vdom -> dom 这个思路应该都差不多。
|
9
sujin190 2022-05-27 20:39:40 +08:00 2
其实想说 python 就应该用 python ,用啥字典啊,看起来费劲查起错来也费劲,你看 tensorfow 这种,抽象算法运行在非 python 引擎上也一样好好的用 python 语法多舒服,别照着表面画猫啊,一个好的语法、结构设计绝对是项目成功的一半
|
10
yaphets666 2022-05-27 20:41:28 +08:00 via iPhone
牛批
|
12
iamzuoxinyu 2022-05-27 20:52:01 +08:00 via Android 1
@zcf0508 不过说实话我不觉得用 pythons 实现有啥太大的优势,比如你这样写会缺少类型约束啥的,样式也是个大坑…而且看起来有点像 QML ?后续还会引入模板支持吗? Qt 本身也有 mvvm 支持,不过好像不太受欢迎的样子。
嘛,我也是胡诌一通,你按你的思路写就是。 |
13
zcf0508 OP @iamzuoxinyu 其实最开始是因为很多 tf 的模型都没有 tfjs 的版本,自己转的话,输入和输出适配又是大问题。如果直接用 python 写界面,那就简单了。
|
14
lchynn 2022-05-28 14:55:29 +08:00
能不能用 pyscript 这样的 wasm ? 做个 python for Web 的方便开发的前端框架算了。
|
15
zcf0508 OP @lchynn 这何必呢,如果主要在网页端用,那直接用 js 写,然后用 pyscript 跑 python 相关的就好了。
|
16
CokeMine 2022-05-28 17:33:22 +08:00 via Android
有趣
|
17
jerry4718 2022-05-29 01:42:40 +08:00 via Android
建议 goscript 也提上日程🥲
|
18
yunyuyuan 2022-05-29 12:41:15 +08:00
吐槽一下,我觉得之所以 electron 很火,或者说 web 很火,最重要的原因是写 web 很轻松,css ,html 可以快速地描述 UI ,而 vue 作为 js 的加强,反而不是最具 web 特色的。如果 OP 能实现 html + css + python ,那着实牛逼
|
19
GuguDan 2022-05-31 09:35:43 +08:00
@yunyuyuan [Introducing PyScript – How to Run Python in Your Browser]( https://python-bloggers.com/2022/05/introducing-pyscript-how-to-run-python-in-your-browser/)
|
20
zcf0508 OP 追加了一个声名式组件的测试
|
21
kele999 2022-06-15 12:03:12 +08:00
牛逼
|