掘力計劃第 20 期: Pake —— 利用 Rust 輕松構建跨端輕量級應用
湯威是一名主職前端、愛折騰的前端開發(fā)者,除了前端之外他對后端和客戶端技術皆有涉獵,并且是 Pake / 妙言 / 潮流周刊 / XRender / Weex Ui 的作者。
本期湯威帶來的是跨端技術相關內容,其實跨端技術基本上是編程經久不衰的話題了,以服務端編程語言 Java 為例,當初的口號就是一次開發(fā),到處運行。
在客戶端方面,F(xiàn)lutter 最近幾年的聲勢也非常大,有 Google 做背書,幾乎所有大廠包括掘金都有在基于 Flutter 進行業(yè)務開發(fā)。
在桌面端方面,Adobe、Intel、GitHub、還有一些開源組織都有一些自己的開源產品,比如:Adobe AIR、NW.js 、Electron,其中 Electron 更是到處可見,比如大家常用的 VsCode 就是基于 Electron 開發(fā)、還有隨著 Chatgpt 大火而帶來的各種 Chatgpt 桌面端工具幾乎都是 Electron 套殼。
然而,Electron 由于其內部集成了 Chromium 內核導致在此基礎上開發(fā)的作品都是內存大戶,所以 Electron 耗內存這點也經常為人詬病。
最近幾年,隨著 Rust 的流行,Rust 開源社區(qū)推出了 Tauri 這款跨平臺產品新星,它使用前端的皮膚 + Rust 的心臟,在保證頁面美觀易開發(fā)的同時還能保證高性能和小體積。
1. Pake 的特性
今天湯威給我們帶來的就是基于 Rust-Tauri 的開源作品:Pake,既然 Tauri 聽起來已經非常不錯了,為什么湯威還要花費精力開發(fā) Pake 呢?
對于湯威來說,Pake 的產品目標很明確,就是簡化 Tauri 的使用,對于一個新手小白或者對于一個沒有接觸過 Rust 開發(fā)者來說,想要快速的使用 Tauri 打包或者開發(fā)出一個產品雛形還是比較困難的,畢竟 Rust 有著人盡皆知的陡峭學習曲線。
所以湯威推出了 Pake,我們先來看看它的優(yōu)勢:
首先,Pake 完美繼承了 Tauri 的所有優(yōu)點,而且在此基礎上做了使用簡化,無論你是新手小白還是普通開發(fā)者都能快速上手使用:
由于大大簡化了使用成本,所以 Pake 很適合做快速出活的創(chuàng)業(yè)工具或者我們自己用的小工具:
2. Pake 相比 Tauri 做了哪些人性化改進?
當然,Pake 作為一個湯威自己設計的一個開源作品,肯定還是在 Tauri 的基礎上加入一系列自己的改進的,接下來我們來看看 Pake 相比 Tauri 做了哪些人性化改進?
- 應用窗口能力:封裝了一套窗口能力,可供使用者配置直接使用,例如窗口記憶、窗口移動、沉浸式標題欄。
- 常用能力承接:鏈接跳轉、認證授權、前進后退、文件導出、拖拽上傳等一系列好用的功能都已經被 Pake 繼承,無需使用者額外開發(fā)。
- 自定義樣式:通過 JS 的方式進行邏輯注入可以對應用進行樣式改寫、去廣告等 DIY。
- 工程建設:支持 npm、Github Actions 輕松構建 Pake 應用。
更多詳細的功能,可以訪問 Pake 的 Github 詳細了解,在這里就不再贅敘了。
可以看到,湯威在 Tauri 的基礎上還是做了不少易用的功能,此項目目前在 Github 也已經有 17K star 了,正在快速迭代中,相信不久之后就可以看到更多實用的功能被添加進去。
單純體驗的掘金也可以在Pake 主頁下載已經封裝好的桌面型應用,目前已經包含了微信閱讀、推特、Chatgpt、Youtube 等常用安裝包下載:
3. 技術產品開源化思考
從一個興趣技術工具到技術產品開源,湯威也在這過程中積累了寶貴的思考經驗,對他來說,技術產品化就是技術思路或方案轉變成可被銷售的產品,代碼只是其中的一部分。
從湯威的角度來看,一個產品生命周期大概要經歷以下幾個階段:
- 發(fā)現(xiàn)痛點。
- 產品思路。
- 原型。
- 快速開發(fā)。
- 產品 MVP。
- 推廣運營。
而一個產品真正想要成功,湯威認為需要解決以下幾個問題:
- 做得東?是否真的有用?是不是真的可以解決一個很痛的問題?是不是可以給使用者帶來一些便利的價值?大家使用過程中是否很愿意推薦給自己的朋友?
- 是否稱得上是一個產品?產品本身能否一句話就講清楚是做啥的,是一個好用的產品化能力,而非一個 Demo 效果,產品應該是簡單易用美觀的,不做什么比做什么更重要。
- 怎么推廣與運營產品?酒香也怕巷子深,如何將自己的產品推廣給大家是個學問,持續(xù)和用戶產生聯(lián)系,不局限快速修復問題以及用戶共建,比如湯威就會將一個大版本拆解成幾個具有特點的小版本來發(fā)布,將每一次升級更新當做一次新的產品宣傳的好渠道。
不止于產品,Pake 也是一個開源化項目,湯威作為一個技術人,做開源對他來說是一件很有趣的事情:
湯威的這番話,也讓我想到跑步日漫——強風吹拂中的第一句臺詞:“你喜歡跑步嗎?”
我相信很多技術人都曾有過靈光一閃:誒,這個東西是不是可以簡化,我是不是可以做一個工具出來去解決這個問題?
然而大部分的想法都沒有落地,因為除了好的 idea 之外還需要強大的執(zhí)行力,湯威做開源也是兼職而非全職,都是通過每天下班的時間或者周末的自由時間來進行開源開發(fā),在這個過程中湯威也通過開源結實了來自全世界各地的技術人,他們一起發(fā)力將 Pake 變得更好。
只有真正的熱愛,才能從自己的工作中感覺到有趣,才能在無數(shù)的日夜為之默默付出,從這個角度來說,湯威是一位真正的技術人。