Are you sure you want to delete this task? Once this task is deleted, it cannot be recovered.
|
2 years ago | |
---|---|---|
.github | 2 years ago | |
.vscode | 2 years ago | |
app | 2 years ago | |
locales | 2 years ago | |
public | 2 years ago | |
src | 2 years ago | |
.editorconfig | 2 years ago | |
.eslintrc | 2 years ago | |
.gitignore | 2 years ago | |
.npmrc | 2 years ago | |
LICENSE | 2 years ago | |
README.md | 2 years ago | |
index.html | 2 years ago | |
netlify.toml | 2 years ago | |
package.json | 2 years ago | |
pnpm-lock.yaml | 2 years ago | |
postcss.config.cjs | 2 years ago | |
tailwind.config.cjs | 2 years ago | |
tsconfig.json | 2 years ago | |
unocss.config.ts | 2 years ago | |
vite.config.ts | 2 years ago |
Mocking up web app with Vitesse(speed)
简体中文 | English
Vitesse-Python
📲 PWA
🎨 TailwindCss - the instant on-demand atomic CSS engine
🔥 Use the new <script setup>
syntax
🤙🏻 Reactivity Transform enabled
📥 APIs auto importing - use Composition API and others directly
🖨 Static-site generation (SSG) via vite-ssg
🦔 Critical CSS via critters
🦾 TypeScript, of course
☁️ Deploy on Netlify, zero-config
🎉 Pywebview inside
Vitesse-Python requires Node >=14.18 & Python >=3.7
### GitHub Template
[Create a repo from this template on GitHub](https://github.com/MarleneJiang/vitesse-python).
### Clone to local
If you prefer to do it manually with the cleaner git history
```bash
git clone https://github.com/MarleneJiang/vitesse-python.git
cd vitesse-python
pnpm inits # If you don't have pnpm installed, run: npm install -g pnpm
pnpm dev
pnpm dev:app
pnpm start
pnpm pre
pnpm pre:folder
pnpm build
pnpm build:folder
Vitesse-Python
基于 pywebview 构建客户端。而 pywebview 构架构建客户端的原理是利用本地电脑自带的浏览器引擎驱动,模拟生成客户端。本质上还是网页,或者说是一个浏览器,但是感官上和本地客户端没有差别。
那么,基于 pywebview 构架构建客户端的成败或质量,就与本地电脑的浏览器引擎息息相关了。
在 windows 系统上,大体上分为两类客户端引擎:正常模式和兼容模式。Vitesse-Python
仅支持正常模式。
正常模式下,按照 edgechromium ,edgehtml, mshtml 的客户端引擎依次检索。如果本地电脑 edge 浏览器支持这些引擎,则客户端可以正常启动。否则,请安装对应的 EdgeWebView2Runtime 浏览器引擎。
如果本地电脑 edge 浏览器不支持这些引擎,同时也不想下载 EdgeWebView2Runtime ,那么就可以使用兼容模式。兼容模式的原理就是利用 CEFPython,嵌入 Chromium 的 Web 浏览器控件。也就是只要本地电脑安装了谷歌浏览器 V66 版及其以上版本,即可正常启动客户端。缺点就是生成的安装包体积会增加大约 60M 左右。
构建客户端的主程序是在 app 文件夹下的 main.py。
main.py 里面主要是依靠 webview.create_window 和 webview.start 这两个 API 来构建客户端。其他的一些 API,可以直接查看 pywebview 官网 了解详情。
webview.create_window(title, url='', html='', js_api=None, width=800, height=600, \
x=None, y=None, resizable=True, fullscreen=False, \
min_size=(200, 100), hidden=False, frameless=False, \
minimized=False, on_top=False, confirm_close=False, \
background_color='#FFF')
创建一个新的 pywebview 窗口,并返回其实例。在开始 GUI 循环之前,窗口不会显示。
webview.start(func=None, args=None, localization={}, gui=None, debug=False, http_server=False)
启动 GUI 循环并显示之前创建的窗口。此函数必须从主线程调用。
window.evaluate_js(code, callback=None)允许您使用同步返回的最后一个值执行任意 Javascript 代码。如果提供了回调函数,则解析 promise,并调用回调函数,结果作为参数。Javascript 类型转换为 Python 类型,例如 JS 对象到 Python 字典,数组到列表,未定义为 None。由于实现限制,字符串“null”将被计算为 None。另外,evaluate_js 返回的值限制为 900 个字符内。
从 Javascript 调用 Python 函数可以通过两种不同的方法完成。
No Description
Vue Python Text TypeScript Markdown other