基于tauri打造的HTTP API客戶端工具-CyberAPI

國慶長假和朋友聚會的時候,和朋友談起最近這段時間搗鼓tauri,寫了一個HTTP API客戶端工具 。『你寫了這么多東西,其實有想過是為了啥不?』為了啥這是一個很大的命題,當初每個項目的時候都想過它應該解決些啥,最終每個項目好像完成了它的使命,也好像還在征途之上 。不是每個人的追求都是詩和遠方、星辰大海,而我只是閑著也是閑著 , 所以做了點啥,不是為了啥 。
選擇使用tauri并不是因為它的優缺點(如果想了解的大家可以直接去官網上查看),只是因為我自己想學習一下rust(不要問我有沒有學會,再問就沒辦法聊天了),在了解過一些rust比較熱門的項目之后,剛好也想學習一下桌面應用開發 , 因此CyberAPI也在此巧合之下開始創建 。
CyberAPI大概在6月中的時候開始,到現在基本4個月左右,由于rust完全不會,開發過程一堆的坑坑洼洼,個中辛酸不說,這年頭誰沒遇到點苦難 , 但是無言以對的是,我覺得自己現在還是完全不會rust 。開發CyberAPI的過程中主要遇到以下幾個問題:

  • 基于系統自帶的webview,可能存在兼容性問題(開發時遇到macos接口圖標切換后有殘留,而windows無此問題,切換為png圖片解決)
  • javascript與rust調用如果大數據交互(10MB),處理時長在3秒左右(tauri已知issue,官方在下一版本優化)
  • 最開始選擇所有的數據均保存至瀏覽器IndexedDB,存儲的數據較多導入導出較慢,因此切換至使用rust版本的sqlite
  • 支持Dark/Light主題,部分組件未自適應調整
  • 多語言支持未實現實時變化,通過設置后重啟應用解決
上面的問題其實都只是小問題,雖然系統托盤以及自動升級當前版本并未使用上,tauri對我而言已經可以滿足桌面應用開發,精通WEB前端的開發者完全可以直接基于瀏覽器實現絕大部分的功能,有邊緣項目的可以考慮嘗嘗鮮,但是其各類的插件還是較少,如果項目更多的依賴于系統接口,則建議對rust有較深功底再入坑 。
下面介紹一下CyberAPI的主要特性:
  • 支持macos、windows以及linux平臺,安裝包均在10MB以下(rust編譯強行精簡)
  • 單個項目上千個接口秒級打開,內存占用較低(電腦較好,mac air m2)
  • 支持Dark/Light主題以及中英語言(英文翻譯較差)
  • 簡單易用的操作及配置方式(對我而言)
  • 可快速導入postman與insomnia的配置(拉新專用)
  • 關鍵字篩選支持中文拼音或者首字母(中文必須支持)
  • 可按接口、功能、項目導出配置,方便團隊內共用(我只是個人使用)
  • 各類自定義的函數,方便各請求間關聯數據(我用的較多)

基于tauri打造的HTTP API客戶端工具-CyberAPI

文章插圖
CyberAPI的缺點則是:沒有缺點(自己的項目,打死都要撐著) 。不過由于只是個人的業余項目,如果有優化建議只能盡可能支持 , 如果是BUG則必須支持的(不能打臉,我也不會硬撐說不是BUG),如果大家使用得開心的,那小手一點給個Star,如果用得不開心那更要Star,以后哪天心情不爽就過來懟一下,對不對 。
項目在github上開源,開源協議為Apache License 2.0,可以放心使用,地址為:https://github.com/vicanso/cyberapi
【基于tauri打造的HTTP API客戶端工具-CyberAPI】

    推薦閱讀