Defter 还集成了强大的前端 Web Python 编译器,对于喜爱使用 Python 的开发者,其可以采纯 Python 代码来轻松构建前后端应用。并且重要的逻辑代码还可在几乎不损失性能的情况下安全的运行在内建虚拟机 DefterVM 之上,且与 Javascript 无缝协同。
Python版本
3.8+
系统
WindowsLinuxMac(实验)以及所有基于较新标准的浏览器系统
pip install defter # -i https://pypi.org/simpledefter -demo herepython backend.pydefter -demo [here / other path]defter -create [here / other path]defter-frontendc [front-end python file] [src directory] # 编译.py前端文件并输出到指定资源(src)目录编译后输出的文件:
xxx.htmlApp的前端入口
./build前端编译器编译后输出的目录:xxx.js主要的 JavaScript APIDefterVM.runtime.jsDefterVM Runtime library 运行库 (如果目录中原本存在则不会输出)~.js更多 JavaScript API
Tip: 后端 (back-end) Python文件中只需在 backend.start() 方法引入xxx.html参数即可指明前端 (front-end)的入口。
cd [defter project path] # 确保该项目下存在后端python文件,同时也存在伴随的资源(src)目录。defter-packager [back-end python file] [src directory] # (两参数均为cd后的相对路径) 可选参数: -F 打包成一个可执行文件(有Console) -Fw 打包成一个可执行文件(无Console) -i 添加您喜欢的ico图标defter-accelerator [True / False] # 开启可大幅提升对象数据的序列化和反序列化性能,适用于大数据量高并发的App类型,但必须是64位的环境才被允许开启。backend.py App后端服务的主要入口(可自定义命名):
用于编写后端服务程序和App启动配置
./src App资源文件的集合目录(可自定义命名):
xxx.html通过 defter-frontendc 编译出的App的前端设计入口defter.jsdefter 前端 (front-end) 内部方法与变量的传递核心
./build前端编译器编译后输出的目录:xxx.js通过 defter-frontendc 编译出的主要 JS apiDefterVM.runtime.jsDefterVM (Defter Virtual Machine) 虚拟机运行库
favicon.ico您喜爱的App图标
xxx.htmlApp的前端入口 (需引用 defter.js )defter.jsdefter 前端 (front-end) 内部方法与变量的传递核心favicon.ico您喜爱的App图标
注意:使用(可选)方法的代码将不会在 DefterVM (Defter Virtual Machine) 虚拟机中运行。
| 模块 | 版本 | 发布时间 |
|---|---|---|
defter |
2.0 Beta3 |
2021/9/1 |
defter |
2.0 Beta2 |
2021/8/31 |
defter |
2.0 Beta |
2021/8/27 |
defter |
1.0 Beta2 |
2021/8/12 |
defter |
1.0 Beta |
2021/7/22 |
defter-frontendc前端 (front-end) 编译器在64位环境下的编译速度和准确性得到优化。
defter-frontendc前端 (front-end) 编译器的输出目录结构稍作微调,使其变得更加清晰明了。
defter-accelerator数据交换加速器的加速逻辑得到优化。
####修复问题:
2021/8/31 2.0 Beta2 issues数据交换加速器被多次缓存的BUG。
2021/8/27 2.0 Beta issues包无法被完全卸载。
2021/8/27 2.0 Beta issues前端 (front-end) 编译器发生异常引发的一些故障。(defter-frontendc)
2021/7/22 1.0 Beta issues在Mac操作系统下可能无法正常使用defter-cli来创建新的项目。
2021/8/12 1.0 Beta2 issues解决了高并发异步方法引起的严重性阻塞问题。
####新增特性:
1
前后两端数据交换加速器 (仅限64位环境开启)使用 Rust lang 重构的json序列化和反序列化工具,开启后可拥有强劲的大数据对象交换速度和传输性能。2
后端 (back-end)引入基于线程的协程并发,绕过CPython GIL全局解释器锁,大幅提升App性能,解决了高并发异步方法引起的严重性阻塞问题。3
前端 (front-end)的模拟Python实现由原先的纯解释器解释模式转变为编译解释混合执行模式,并可与Google Chromium V8 JIT即时编译技术相互工作,大幅提升加载速度以及性能。
4前端 (front-end)让重要逻辑运行在 DefterVM (Defter Virtual Machine) 虚拟机上,在尽可能不损失性能的情况下,使得Javascript解释器无权干涉内建虚拟机从而保证执行的安全,大幅降低了前端 (front-end) 被恶意调试代码的可能。
####已知问题:
由于基于线程的协程引入,暂不支持中央处理器单元的多核心负载分配。
2021/7/22发布的第一个版本
已知问题: 在Mac操作系统下可能无法正常使用defter cli来创建新的项目。
2021/8/12执行重构
部分代码用C lang重构, 方法映射和传递的速度提升4倍。
已知问题:
1 在Mac操作系统下仍然可能无法正常使用defter cli来创建新的项目。
2 分布请求时,异步高并发导致线程阻塞。
2021/8/20Defter 2.0 beta 计划启动。
2021/8/27Defter 2.0 beta 发布。
| Projects | URLs |
|---|---|
| Eel | https://github.com/ChrisKnott/Eel |
| Transcrypt | https://github.com/QQuick/Transcrypt |

