ONLOOKEE
编程开发的经验与技巧、实用好用工具软件、生活好物种草、人生思想感悟等的分享,干货满满。。。
Toolboxes - 老王的工具箱¶
很多 Uper 的视频下方会有一个分段进度指示,好让观众清楚当前在讲哪一部分的内容,对于教学类视频来说,这个很有用。
老王在一番研究下,发现制作一个工具来生成是可行的,于是便有了这个工具 —— 视频分段进度条生成器。
因为老王想着后面会继续添加其他功能,所以,名字就没有叫“视频分段进度条生成器”,暂时就叫“老王的工具箱”。
aieditor - 真的被惊到了¶
AI 辅助编程工具层出不穷,也尝试过不少 AI 编程辅助工具,但效果都不太理想,提示的代码命中率并不高,但却严重影响了编码的流畅性,并且聊天对话的时候,多数都需要手动引用代码,即使引用了代码,也仅仅就是引用了提供引用的代码,提供的帮助很有限,很多时候,都是试过就禁用了。
最近在开发过程中比较深入的使用了 Cursor、Windsurf,有被惊艳到。
PyWebView:用 Python 构建桌面应用的神器¶
日期:2024-12-18 标签:编程开发、python、GUI
做开发的朋友,或多或少,应该有听过大名鼎鼎的 Electron,一个使用 Web 技术(HTML、CSS 和 JavaScript)构建跨平台桌面应用程序的开源框架。不少知名软件都是使用该框架开发的,比如:Visual Studio Code - 全球开发者广泛使用的轻量级 IDE,微信桌面版 - 中国最大的社交媒体平台微信应用的桌面版,钉钉 - 阿里旗下的企业通讯和协作平台的桌面版,Figma - 绝佳的基于去的协作设计和原型制作平台的桌面版,等等。
使用 Web 技术,可以极大的降低桌面(跨平台)应用的开发门槛,新生代的程序员普遍都会 Web 开发,Web 开发相关的语言(如 HTML、CSS、JavaScript)相对容易上手,拥有完善的开发调试工具,现代浏览器拥有强大的兼容性,开发调试相对简单容易。然后,天生支持跨平台,Web 技术基于标准的网络协议和浏览器的渲染机制运行,这就意味着,只要设备上有支持相应标准的浏览器,用 Web 技术开发的界面就能正常展示,恰恰,如今主流浏览器在各类设备上都广泛存在。并且,Web 领域拥有极其丰富的生态系统和海量资源。借助这些,可以相对容易的构建出精美的界面。
今天的主角是 PyWebView,同样是使用 Web 技术,但后端使用 Python 来构建跨平台桌面应用的开源框架。
老王在使用 Electron 时,遇到几个痛点:
- 老王更熟悉的开发言是 Python,更多的依赖 Python 开发一些小工具或功能,使用 Electron 框架则需要借助类似 IPC、HTTP 等第三方技术来集成 Python 功能,相对复杂,也麻烦不少;
- 打包容易失败,Electron 依赖 Node.js 的生态,而 Node.js 生态库在国内访问不太顺畅,镜像库貌似也不太完善,各个库也容易出现兼容性问题(也可能是老王没有正确设置);
- Electron 集成庞大的 Chromium 浏览器引擎和 Node.js 环境,打包后的文件体积比较大,压缩后基本都要过百兆,很影响软件的分发,特别是本身功能就不多的小工具;
- 访问本地文件比较麻烦,由于浏览器的安全限制,Electron 在访问本地文件时,需要复杂麻烦的过程(事实上,老王并未成功);
就在我为桌面应用开发寻找替代方案时,遇到了 PyWebView。这个库几乎完美地解决了我在 Electron 上遇到的一些痛点,同样是使用 Web 技术栈来构建桌面应用,而整个项目的逻辑部分仍然可以由 Python 来驱动。
- PyWebView 后端使用 Python 语言,提供了一个直接与 Python 双向通讯的机制,Python-JavaScript 桥接接口,与 Python 集成更加简便、友好,也更加稳定,这样能够充分利用 Python 的强大功能,如数据处理、文件操作等,同时结合 Web 界面的灵活性来构建功能丰富的桌面应用;
- 打包相对容易,Python 生态库在国内有不少镜像,各个库的兼容性也要好不少。也可以直接使用 Python 嵌入式运行环境包来打包,可控制程序更强,这里推荐一位大佬制作的工具『PyStand』,打包压缩后可以控制到几兆;
- PyWebView 直接利用了系统已有的浏览器组件,启动过程相对简单,占用资源较小,性能更好,稳定性更好,打包后的文件体积小,启动速度更快;
- PyWebView 提供了简洁的应用程序接口来创建和管理 Web 视图,包含了简便访问本地文件的 API,可以轻松地实现诸如加载 URL、控制页面导航、执行 JavaScript 代码、访问本地文件等操作;
如果你是 Python 党,那么,推荐你使用 PyWebView 来构建桌面应用,PyWebView 能更简便的集成你的 Python 功能。
详见:PyWebView:用 Python 构建桌面应用的神器
MkDocs Material - 极速搭建 Material 风格的文档网站¶
日期:2024-12-13 标签:编程开发、python、文档
本站 『ONLOOKEE』 》》 https://onlookee.cn/ 就是使用 Mkdocs Material(以下简称 MM) 构建的,MM 的功能非常丰富、强大,可配置程序也非常高、非常灵活。
这不在搭建个人网站,由于囊中羞涩,暂时不打算买虚拟主机,选择使用免费的静态站点托管平台来搭建个人网站,我的需求大致如下:
- 使用 Markdown 进行内容撰写
- 有目录导航,可自定义,可分组
- 每篇文档有大纲目录导航
- 全站搜索
- 支持暗黑、移动端适配
显然,自己开发,费时费力,毕竟已经有大量现成的解决方案。起初选择了基于 VUE 开发的 Vitepress 来搭建,Vitepress 也基本能满我目前的需求,也顺利的搭建了个人网站。但是 Vitepress 也有几个让人难受的地方,最难受的几个地方如下:
- 一是生成速度慢,每次一改配置文件,都要卡壳几十秒
- 二是不支持增量生成,每次都是全站生成,每生成一次,整个站的所有文件都发生了改变
- 三是目录导航完全由手工编写,有些费劲(貌似可以通过插件解决,未进一步折腾)
后面我遇到了 Mkdocs-Material,MM 完美解决了我在 Vitepress 中的几个痛点:
- 生成速度快,比 Vitepress 快不少,改完配置很快就生效,至少不用卡壳几十秒
- 增量生成(其实并不是),至少,没有内容变化的文档,生成后的文件是不会发生变化的
- 上手比 Vitepress 来得简单(这个比较个人主观)
- 配置比 Vitepress 来得丰富、灵活
- 目录导航自动生成(不过,默认情况下也不是很完美,后面有解决方案)
所以,只好无情地抛弃了 Vitepress,转而投入 Mkdocs-Material 的怀抱。
详见:MkDocs Material - 极速搭建 Material 风格的文档网站
GIMP 开源、免费,功能强大的图像编辑软件¶
万事开头难,打造个人网站,图片处理是必不可少的,老王的电脑还是 10 年前配置的,日常使用倒还流畅,但要是使用 Photoshop 就有些吃力,特别是越新的版本。然后,发现 GIMP 这个开源的图形处理软件,在老王的电脑上运行操作起来非常流畅,所以,决定先用 GIMP 顶着。
目前,老王对于图片处理的需求也不高,应该主要就是剪裁、添加文字、简单拼接合成,还有透明、阴影、模糊等简单的效果处理,这些 GIMP 是完全能够胜任的。事实也是如此,经过一段时间上手后,发现,GIMP 上手也不难,这些功能在 GIMP 中也是很容易就能实现。而 GIMP 对电脑的配置要求非常低,运行操作起来非常流畅,如果只是需要简单的图片处理,非常值得试一试。
WinLaunch - 仿苹果、美观、高效的快速启动工具¶
快速启动类工具用过的不少,有基于图标的,如音速启动、Rolan、WinLaunch、酷鱼快速启动;有基于快捷键的,如AltRun、RunZ;有基于搜索的,如Executor、Launch、Wox、Fluent Search,Everything、Listary也能快速启动软件;有基于桌面的,如Fences;各有各的优点,也各有各的缺点。基于图标的,需要提前规划整理,工作量不少;基于快捷键的,快捷键记忆也很费脑;基于搜索的,用着用着就把不常用的软件给忘了;基于桌面的,还得先切换到桌面,然后,桌面也不喜欢放太多东西。。。
今天介绍一款模仿苹果系统上的 LaunchPad,美观、高效的快速启动工具 —— WinLaunch!
详见:WinLaunch - 仿苹果、美观、高效的快速启动工具