Skip to content

本文是波兰语原版文章的 AI 生成翻译,可能包含细微错误。

构建个人的网络工具生态系统

个人 Web 开发工具包

作为软件工程师,我们每天都会面临一些需要快速、技术性计算的小问题:解码 base64、检查 SHA-256 哈希、格式化损坏的 JSON 文件,或将 rem 转换为像素。

标准的反应是在 Google 搜索中输入问题,然后点击第一个“在线 JSON 格式化程序”。问题在于这些网站通常:

  • 充斥着广告和 cookie 横幅。
  • 需要互联网连接(在没有信号的火车上很烦人)。
  • 我们通常很敏感的数据或 API 密钥发送到外部、未经认证的服务器并在那里进行处理!

我意识到这种“工具垃圾”严重影响了我的安全和舒适。这就是我创建 tools-app 的原因——我自己方便工具的集中仓库。

可以在我的 Gitea 实例:gkucmierz/tools-app上查看和共同创建该项目。

架构和项目假设

tools-app 项目不是一个笨重、臃肿的业务应用程序。这是一个灵活的高度优化计算器和微件集合,通过一个良好的前端框架捆绑在一起。

1. 零后端处理(仅客户端)

在为我的工具添加新模块时,我遵循的最重要规则是绝对禁止后端数据处理。即使是计算高级椭圆曲线哈希或复杂格式化,也必须完全在用户浏览器的 RAM 中进行。

  • 这保证了 100% 的隐私。粘贴到工具中的代码永远不会离开操作机器。
  • 网络故障弹性。如果页面加载,该工具即使在被迫脱机后也能工作。

2. 得益于 Vanilla JS / Vue 的速度

虽然我喜欢像带有 Vue 3 框架的 Vite 引擎这样好的环境,但我还是固执地使用轻量级组件甚至回归原生 Web Components 的根本来编写许多这些“工具”。

对于简单的纪元时钟或 HEX-RGB 计算器,缺乏虚拟 DOM(或其在 Vue 中的严格控制)简单来说意味着更短的可交互时间(TTI)。应用程序应该在一秒钟内打开,并立即接受来自系统剪贴板的粘贴。

3. 渐进式 Web 应用程序 (PWA)

创建自己的工具的一大优点是,很容易将它们与 Service Worker 捆绑在一起。多亏了这一点,整个 tools-app 套件作为一个功能齐全、独立的应用程序 (PWA) 落在 macOS 的程序坞或手机的主屏幕上,随时可以离线工作。

永无止境的故事的乐趣

拥有和培育自己的 tools-app 的最大好处是,这个项目永远不会完成。我每周都可以编写一个新功能——有时它是一个 JWT(JSON Web Token)解析器,我在处理客户的后端时曾对它破口大骂;有时是一个微型的颜色模拟器。

Gitea 中的这个仓库是测试新 CSS 浏览器 API、优化以及发挥纯粹工程工艺的试验场。我宁愿加载这些模块以扩展我自己的研讨会,也不愿通过免费点击来建立某人的影响力。

我邀请您克隆、修改为您自己喜欢的布局,并加入您自己的微件!

👉 tools-app 仓库 (Gitea)