汤威是一名主职前端、爱折腾的前端开发者,除了前端之外他对后端和客户端技术皆有涉猎,并且是 Pake / 妙言 / 潮流周刊 / XRender / Weex Ui 的作者。
本期汤威带来的是跨端技术相关内容,其实跨端技术基本上是编程经久不衰的话题了,以服务端编程语言 Java 为例,当初的口号就是一次开发,到处运行。
在客户端方面,Flutter 最近几年的声势也非常大,有 Google 做背书,几乎所有大厂包括掘金都有在基于 Flutter 进行业务开发。
在桌面端方面,Adobe、Intel、GitHub、还有一些开源组织都有一些自己的开源产品,比如:Adobe AIR、NW.js 、Electron,其中 Electron 更是到处可见,比如大家常用的 VsCode 就是基于 Electron 开发、还有随着 Chatgpt 大火而带来的各种 Chatgpt 桌面端工具几乎都是 Electron 套壳。
然而,Electron 由于其内部集成了 Chromium 内核导致在此基础上开发的作品都是内存大户,所以 Electron 耗内存这点也经常为人诟病。
最近几年,随着 Rust 的流行,Rust 开源社区推出了 Tauri 这款跨平台产品新星,它使用前端的皮肤 + Rust 的心脏,在保证页面美观易开发的同时还能保证高性能和小体积。
1. Pake 的特性
今天汤威给我们带来的就是基于 Rust-Tauri 的开源作品:Pake,既然 Tauri 听起来已经非常不错了,为什么汤威还要花费精力开发 Pake 呢?
对于汤威来说,Pake 的产品目标很明确,就是简化 Tauri 的使用,对于一个新手小白或者对于一个没有接触过 Rust 开发者来说,想要快速的使用 Tauri 打包或者开发出一个产品雏形还是比较困难的,毕竟 Rust 有着人尽皆知的陡峭学习曲线。
所以汤威推出了 Pake,我们先来看看它的优势:
首先,Pake 完美继承了 Tauri 的所有优点,而且在此基础上做了使用简化,无论你是新手小白还是普通开发者都能快速上手使用:
由于大大简化了使用成本,所以 Pake 很适合做快速出活的创业工具或者我们自己用的小工具:
2. Pake 相比 Tauri 做了哪些人性化改进?
当然,Pake 作为一个汤威自己设计的一个开源作品,肯定还是在 Tauri 的基础上加入一系列自己的改进的,接下来我们来看看 Pake 相比 Tauri 做了哪些人性化改进?
- 应用窗口能力:封装了一套窗口能力,可供使用者配置直接使用,例如窗口记忆、窗口移动、沉浸式标题栏。
- 常用能力承接:链接跳转、认证授权、前进后退、文件导出、拖拽上传等一系列好用的功能都已经被 Pake 继承,无需使用者额外开发。
- 自定义样式:通过 JS 的方式进行逻辑注入可以对应用进行样式改写、去广告等 DIY。
- 工程建设:支持 npm、Github Actions 轻松构建 Pake 应用。
更多详细的功能,可以访问 Pake 的 Github 详细了解,在这里就不再赘叙了。
可以看到,汤威在 Tauri 的基础上还是做了不少易用的功能,此项目目前在 Github 也已经有 17K star 了,正在快速迭代中,相信不久之后就可以看到更多实用的功能被添加进去。
单纯体验的掘金也可以在Pake 主页下载已经封装好的桌面型应用,目前已经包含了微信阅读、推特、Chatgpt、Youtube 等常用安装包下载:
3. 技术产品开源化思考
从一个兴趣技术工具到技术产品开源,汤威也在这过程中积累了宝贵的思考经验,对他来说,技术产品化就是技术思路或方案转变成可被销售的产品,代码只是其中的一部分。
从汤威的角度来看,一个产品生命周期大概要经历以下几个阶段:
- 发现痛点。
- 产品思路。
- 原型。
- 快速开发。
- 产品 MVP。
- 推广运营。
而一个产品真正想要成功,汤威认为需要解决以下几个问题:
- 做得东⻄是否真的有用?是不是真的可以解决一个很痛的问题?是不是可以给使用者带来一些便利的价值?大家使用过程中是否很愿意推荐给自己的朋友?
- 是否称得上是一个产品?产品本身能否一句话就讲清楚是做啥的,是一个好用的产品化能力,而非一个 Demo 效果,产品应该是简单易用美观的,不做什么比做什么更重要。
- 怎么推广与运营产品?酒香也怕巷子深,如何将自己的产品推广给大家是个学问,持续和用户产生联系,不局限快速修复问题以及用户共建,比如汤威就会将一个大版本拆解成几个具有特点的小版本来发布,将每一次升级更新当做一次新的产品宣传的好渠道。
不止于产品,Pake 也是一个开源化项目,汤威作为一个技术人,做开源对他来说是一件很有趣的事情:
汤威的这番话,也让我想到跑步日漫——强风吹拂中的第一句台词:“你喜欢跑步吗?”
我相信很多技术人都曾有过灵光一闪:诶,这个东西是不是可以简化,我是不是可以做一个工具出来去解决这个问题?
然而大部分的想法都没有落地,因为除了好的 idea 之外还需要强大的执行力,汤威做开源也是兼职而非全职,都是通过每天下班的时间或者周末的自由时间来进行开源开发,在这个过程中汤威也通过开源结实了来自全世界各地的技术人,他们一起发力将 Pake 变得更好。
只有真正的热爱,才能从自己的工作中感觉到有趣,才能在无数的日夜为之默默付出,从这个角度来说,汤威是一位真正的技术人。