成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

桌面應用開發技術對比,你明白了嗎?

開發 前端
什么是 RPA?其全稱為 Robotic Process Automation(機器人流程自動化),簡單而言就是讓計算機幫助我們執行各種重復性高的工作,對于行政、金融、政府等人力密集型部門,RPA 是很好的助力。

前言

因個人興趣,想著開發一個桌面應用軟件,其具體定位是:RPA,相關的商業軟件有很多,我了解使用過的幾個:UiPath、UiBot、影刀 RPA。

什么是 RPA?其全稱為 Robotic Process Automation(機器人流程自動化),簡單而言就是讓計算機幫助我們執行各種重復性高的工作,對于行政、金融、政府等人力密集型部門,RPA 是很好的助力。

最近幾年,RPA 相關賽道的公司融資都很猛,通常都是億級的融資,因為我之前在公司負責過自動化工具相關的工作,所以一直有關注自動化相關的各種技術,其中 RPA 是我關注的重點,觀察下來,各種 RPA 商業應用其技術實現難度不算特別大,雖然其功能很多,但感覺慢慢從基礎功能搞,還可以夠得著,所以一直有打算開發一個的想法。

這篇文章是第一步,對比一下目前桌面端技術棧,做技術選型。

PS: 熟悉我的朋友知道我之前使用 Electron+Vue 開發過抖直播這個應用,但 RPA 軟件需要更多系統層的支持,我在調研前,會疑惑 Electron 對系統 API 的兼容情況以及是否有更好的方案,所以還是花時間調研了一下。

當然,做事情前先明確目標:

  • 我希望可以構建出一個跨平臺的 RPA 桌面應用,目前多數商業 RPA 軟件都局限在 Windows 平臺(即只有 exe 安裝包)
  • 因為 RPA 需要很多系統級的功能,所以我希望可以比較輕松的試驗系統 API
  • 因為時間、精力和能力的問題,我希望可以基于自己已有技術棧之上來開發

常見桌面端開發技術棧

通過微信、QQ 等各種桌面端應用,可以了解目前開發桌面端的主流技術棧,簡單總結一下:

1.使用 C#+WPF 依舊是開發 Windows 桌面應用的主流選擇,其優點是:比較成熟,參考資料比較多,其缺點是:性能一般,需要用戶主動安裝 net 庫,雖然很多軟件會直接提供下載,然后讓用戶安裝,但依舊是一個坎,此外 WPF 只支持 Windows 平臺,與目標不符。

2.C+++QT 也是很多人的選擇,QT 是否成熟,但比較重,適合開發大型應用,對于個人開發者而言,效率不高,此外我除了大學時用 C++ 參加過算法比賽外,很少再使用過。

3.在 Windows 平臺下,國內多個大眾應用,如微信、QQ、百度網盤都使用了 C+++ 類duilib 的形式進行開發(類 duilib 的意思是,基于開源的 duilib 這個 Windows GUI 進行了二開),這種方式出的桌面應用,性能較高而且包的體積下,是專業團隊比較好的選擇,但不適合我這個項目,因為 RPA 并不要求太高的性能,而且我希望一份代碼可以跨平臺使用

4.影刀等商業 RPA 軟件使用了 C+++CEF 的形式開發,CEF(Chromium Embedde FrameWork)與 Electron 定位類似,基于 Chromium,讓開發者可以使用前端技術棧來構建桌面應用,跨平臺,就是 CEF 資料比較少,還需要 C++ 等知識,因為是對標軟件使用的技術,所以加入候選技術棧。

5.VScode、Github 桌面端等使用 Electron 開發,與 CEF 類似,Electron 讓我們使用前端技術便可以開發桌面應用,其優點是:資料很多、開發效果比較 OK,缺點是慢,而且對于需要比較多系統 API 的兼容因沒有對標軟件,所以不太好確定。

6.Flutter 是 Google 推出了全平臺開發框架,支持 windows、macos、android、ios 甚至是汽車中的系統,調研下來的結論是,Flutter 對跨平臺的支持還非常早期,很多系統層的 API 并不支持,生態也剛起步,與 npm 比不了,很多東西可能要自己造,所以也不考慮。

CEF 與 Electron 的比較

CEF github: https://github.com/chromiumembedded/cef (1.6k star) Electron github: https://github.com/electron/electron (101k star)

從 Github 上看,Electron 的活躍度遠高于 CEF,包括:版本更新頻率(解決 issue 的速度、新功能的開發速度)、社群活躍度(資料豐富度)

那為啥有些商業產品要選擇 CEF 呢?其優勢在哪?對目前想開發的項目來說,是否重要?

相比于 Electron,CEF 支持 Windows XP 系統,提供的很多比較底層的 C++ API 方便你使用系統級能力,而且也很方便與 Native UI 框架融合使用,實現更近似本地應用的應用。

簡單而言,使用 CEF,相比于 Electron 可以更輕松的做的更像原生軟件,除了不支持 Windows XP 這個硬傷,Electron 其實可以通過 C++ 的方式調用更多系統級的原生能力,但這要求你對 Electron 框架源碼比較熟悉,當然也要會寫 C++ 代碼。

那 Windows XP 系統目前占用量大嗎?查閱了一下,Windows XP 在 2020 年,市場占有率已經低于 1%,所以我還是偏向于選擇 Electron 進行 RPA 桌面應用的開發。

所以剩余的問題,便是加強對 Electron 的把控感。

Electron 開發需要考慮的問題

1.因為 Electron 本身架構的原因,Electron 打出來的包會比較大,但就目前個人電腦的性能而言,也不算什么特別大的問題,就像現在手機游戲一樣,反正手機性能過剩,一些比較難搞的優化直接就放棄了,但在開發時,還是盡量精簡 require,從而讓 Electron 打出的包小一點。

2.Electron 對源碼是沒有保護的,即你開發的軟件,很容易別人逆向分析,有幾個解決方案,除了方案 c,都可以逆向破解,這些操作只是讓可破解的人少一點而已(當然,最安全的方式是你的軟件沒有任何價值,放到 Github 都沒人 fork)

  • a. 使用 C++ 編寫核心邏輯,發布時,C++ 是編譯后的二進制文件
  • b. 使用 wasm 編寫核心邏輯,發布時,也是二進制內容
  • c. 核心邏輯放在后端
  • d. 使用 bytenode 將代碼轉成字節碼

3.Electron 對系統層能力的使用可能比較弱,此時需要求助 Python、C++、C# 等語言,通過 ffi-napi 庫可以讓 Node.js 使用 C++ dll,通過 electron-edge-js 庫可以讓 Node.js 使用 C# dll

參考

  • 開發桌面應用是用 flutter 還是用 electron

https://www.zhihu.com/question/390186321

  • macOS 上 Flutter Desktop 與 Electron 的性能對比

https://juejin.cn/post/7018450473292136456

  • 對比跨平臺客戶端方案:Electron 和 CEF

https://blog.csdn.net/caperxi/article/details/115901659

  • 桌面端框架 Electron 使用問題整理和總結

https://juejin.cn/post/6844904072743501831

責任編輯:武曉燕 來源: 懶編程
相關推薦

2022-12-30 08:35:00

2023-12-28 08:43:28

前端算法搜索

2024-01-08 20:05:32

2022-10-19 08:19:32

動態基線預警

2022-04-07 11:15:22

PulseEventAPI函數

2023-12-08 08:38:15

EventLoopAPI瀏覽器

2022-10-10 18:38:56

inert屬性鍵盤

2015-09-18 09:17:06

數據分析

2023-01-02 23:58:03

2022-10-08 08:09:13

MGRGreatSQL事務

2023-12-06 08:01:03

CSSPostCSS

2023-06-14 08:15:34

算法合并操作Winner

2022-10-24 20:25:40

云原生SpringJava

2024-03-27 13:33:00

MySQLInnoDB事務

2022-05-04 08:38:32

Netty網絡框架

2022-05-31 07:32:19

JDK8API工具

2021-09-16 21:34:52

5G專線

2024-05-30 08:19:52

微服務架構大型應用

2024-08-28 13:09:50

2023-11-06 07:37:01

函數式插槽React
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产乱人伦精品一区二区 | www.色午夜.com | 国产精品不卡一区 | 亚洲一级二级三级 | 国产综合av | 久久九九免费 | 91精品国产综合久久婷婷香蕉 | 在线资源视频 | 欧美日韩综合一区 | av免费观看网站 | 午夜欧美| 国产乱码精品一区二区三区五月婷 | 在线看片福利 | 人人做人人澡人人爽欧美 | 国产精品久久久久婷婷二区次 | 亚洲精品在线免费 | 日韩精品国产精品 | 中文字幕日韩一区 | 欧美一区免费 | 亚洲国产一区二区三区在线观看 | 中文字幕久久精品 | 日韩av中文 | www.成人在线视频 | 国产成人精品一区二区三区 | 免费亚洲一区二区 | 日本黄色的视频 | 国产女人第一次做爰毛片 | 全部免费毛片在线播放网站 | 亚洲精品一区二区三区中文字幕 | 一区二区三区网站 | 成人免费小视频 | 欧美一区二 | 欧美一区二区视频 | 日本精品一区二区三区在线观看 | 成人网视频 | 精品久久一| 亚洲电影一区 | 91视视频在线观看入口直接观看 | 欧美性乱 | 精品欧美一区二区精品久久 | 欧美成人精品 |