Electron 和當下其他的桌面開發方法相比如何?

時間 2021-05-06 10:27:11

1樓:

單頁面挺順手的。多頁面效能比較坑。載入費時間。

寫了一套window manager,包含ipc通訊啥的……唯一解決不了就是開啟新視窗需要載入。每開啟乙個視窗,甚至小對話方塊都一兩秒……

2樓:

Electron就是屑,執行效率被秒得連渣都不勝。web技術就應該是用在web上,你都要做乙個分發到本地的應用了為什麼不能老老實實地用原生語言開發?隨便找乙個跨平台方案也比Electron強

3樓:ok player

作為乙個從winform,wpf,webform走到現在webapi,angular,vue的老C#程式設計師來說,現在感覺寫web 頁面特別舒服,如果再讓我回到去寫wpf,原諒我,真的受不了wpf那種古怪的寫法和強制的各種樣式掛載還有特別要求語法的前端寫法。而且wpf走到現在生態特別差,很多問題都要找半天才能找到解決方案,而反觀現在的web前端技術,到處都是輪子,拿來就用,何樂而不為呢?

4樓:Xin Leslie

electron的確有很多優點,這點無法否認,但是不同意很多人的類似「現在硬體資源很剩餘,不需要在意硬碟和記憶體」這樣的觀點。

的確,如果只裝乙個兩個electron開發的軟體,那無所謂,但是架不住裝多了,而且正因為對硬體資源不在意,所以也不會太去進行優化。

電腦不是單任務系統,而是多工系統,也就是說很多時候都要同時開好幾個軟體,這種時候開個VSCode,幾百MB出去了,再開個Postman,又幾百MB出去了,我記憶體再大也架不住這種消耗啊。

而且可能是先天條件吧,很多electron軟體都是後台自動更新的,而且很多軟體都是不給選擇直接裝到C盤的,然後日常使用時就是時不時的後台更新,也是絕了。

5樓:TiMi

不用electron,我用cef+dx作為ui渲染,js控制ui互動,業務邏輯和本地資源訪問用c++,ipc通知ui顯示內容。畢竟js它就是單執行緒,不適合用在複雜和對效能有要求的業務,單純利用一下web開發ui的便利性還是挺香的。

6樓:周瑞建

electron 寫UI和使用者互動特別方便高效,雖然其他框架也有類似的標記語言加css的方案,但能力和資源都不如web,並且node的非同步執行模型也有優勢,少了其他很多語言多執行緒同步,資源競爭等等煩惱,適合UI場景,至於其他非UI模組,也可以寫C++擴充套件,比大家想的要容易,我覺得很自然,不要感覺一說寫擴充套件,就像是要搞乙個歪門邪道的hack

7樓:

Electron 的優點是跨平台,且上手難度極低。像題主說的,只需要有一點基礎前端開發知識,就可以做出乙個應用。根據題主的情況,需要開發乙個低成本,跨平台的應用,且題主對 web 技術比較熟悉,Electron 可以說是最好的選擇了。

缺點嘛。。效能被桌面應用吊打。比如動畫渲染&啟動速度被桌面應用甩幾條街;

以及 Electron 應用對於系統本地 API 支援性較差,比如 macOS 和 Linux 的選單欄,macOS/Windows 的黑暗模式/Linux 主題切換的支援等等。

還有,很多大廠的應用都是用 Electron 編寫的,比如 VSCode,Atom,Microsoft Teams,GitHub Desktop,都是將跨平台作為硬需求的應用,分平台單獨開發的話會比較麻煩。

8樓:

應對現在外包公司級別,硬生生要把網頁做成客戶端,業務型別就是展示個列表,有個小的本地運算,有個訊息通知這些的,用一下無妨,畢竟客戶不理解 PWA 這些技術。

但是大型運算還是上其他技術吧

9樓:番茄.go

Electron寫個小工具打包也要幾十M,這個問題解決了的話很有可能就逆天了。

C++ + FLTK或Go + andlabs ui寫個小工具,strip + UPX後也就是1-2M大小。Qt靜態鏈結一般也不會超過10M。

Sciter倒是可以看看。

10樓:

electron包裝的是單頁面應用,所以放瀏覽器或者程式嵌入webview或者electron隨心所欲,似乎很完美。但我還是要說他本質是web,web和桌面比有顯著的缺點。

效能差,桌面端wpf自己的渲染速度都完爆web,更別提還可以用sharpdx甚至用cpp寫個渲染層還能再快,比如我wpf上的chart元件效能完爆echart highchart好幾條街,我這裡乙個折線chart 50w資料點,wpf隨便跑個4個8個的,web乙個就卡的不要不要了。還有,我乙個win10平板看web基本都卡,跑我寫的wpf流暢無壓力。我的平板跑office不卡,qq不卡,visualstudio不卡,以uwp為主力不卡,web端隨便開點什麼都在卡。

js也效能差,多執行緒利用困難,我程式裡隨手就用c#寫個多執行緒優化下,但是換成js的話寫起來就很困難了。

記憶體限制 v8把js記憶體限制在2g以下,我乙個chart用echart渲染就900m了,三四個必掛。

許可權問題提權困難

互操作問題比如調第三方給的cpp的dll,比如調com元件控制項,調硬體,串列埠通訊。海康sdk啥的亂七八糟的的,有些人為了一些功能各個瀏覽器都要買外掛程式還挺貴,這是他做桌面時不會碰到的問題。

所以web做不了極致,處處會碰壁,只能退而求其次,把介面糊糊好,而wpf效能真的完爆掉web。

我的專案雖然不大,但是動不動就要開好幾個tab去監控多個裝置,誰讓我們擅長的是八連罐呢,甚至支援幾組八連罐,30秒採集一次甚至客戶會10秒採集一次資料跑十幾天,每罐每批次就是我說的50w點資料量,那資料量還得一口氣拿出來對比著看,wpf做到無壓力了,web端早被我玩壞了,我現在web端很多地方只能用右鍵新標籤開啟,否則只有手動在新標籤敲url了,這樣確保在新程序中開啟,分散開不會崩潰,這一招你們需要知道麼?大多數人不知道吧,我也是研究了半天,我需要知道,就因為這web端的破限制。

一定會有人用vscode 迅雷啥的舉例子,說eletron越來越多,不在乎效能,行吧,用的越來越多確實是趨勢,但是效能。。。。

可能你們不接觸那堆主頻2.2g的老幾代i3 i5,不接觸j1900,不接觸虛擬機器吧,迅雷我大不了用5.8嘛,vscode這麼必備的編輯器在這些個機子裡面,那啟動速度真的是,只能忍受,當然我會備乙個notepad2來做簡單的編輯,比如vbs c xml的著色都可以用notepad2,但是scl著色就真的只有vs code了,因為在軟體裡的scl指令碼編輯器是真的爛,還不如在外面編輯複製進去

這才是我們常用的CPU規則,有個能睿頻了已經很好了,哦,這圖里的機子多少錢? 2W起步吧

當然了,最終還是要看場景,我就是專挑eletron不是萬能的這幾點來說的

11樓:

說乙個不太起眼的問題:能耗

效能好只做到流暢不卡頓在移動裝置上不一定夠用,需要i7四核滿頻20%的流暢和i5單核降頻1%的流暢,使用者體驗同樣絲滑,但續航的壓力截然不同。在移動裝置電池進步比cpu擠牙膏還落後而應用功能普遍過剩的時代,使用者會越來越關注電量的問題,起碼對常駐服務和長時間使用的生產力工具,能耗將變得愈加重要。Electron不能只滿足於流暢,還需要進一步足夠節能。

12樓:

大哥們放桌面一條出路吧好不好,拿號稱跨平台的electron打包個應用出來,本質上不就是瀏覽器裡邊執行了個網頁麼,資源占用那麼大,就能不能好好考慮考慮傳統的如QT之類的跨平台軟體嗎,在軟體效能及資源占用方面尋找平衡難道不是乙個程式設計師的追求嗎?

13樓:空格

優點:方便高效,能很輕鬆的實現很好看的UI

缺點:應用體積大吃資源,啟動這些不夠絲滑,應用很小很簡單,走輕量化路線的,還是走其他框架好一點

14樓:

模仿別人回答裡提供案例做"貨櫃介面"的。

"字幕組機翻小助手"

截圖:官網截圖:

(官網當然和 Electron 沒關係,只不過補充說明一下這工具到底幹嘛的)

15樓:

Electron幾乎就是為中國人量身打造的!省錢簡單+開發快,開發速度和山寨手機一樣快!當然做出來的東西就跟深圳山寨手機一樣的質量!

(包括被吹的吊炸天的Visual Studio Code,如果微軟用C++或C#重新開發VS Code,相信沒人會用Electron版本)

好東西都是要匠心打造的,需要時間沉澱打磨,把C&C++好好鑽研。

你是想做山寨手機還是iPhone?

16樓:

electron適合快速開發原型,因為html+css+js的確特別適合開發ui,但慢且大。我之前都用c+sdl+opengl寫桌面應用程式,打包下來乙個應用不到1m,electron乙個150m,而且慢很多,真的接受不了。。

17樓:Gavin

不好意思。先占個位置。簡單回答一下。

electron以下簡稱E。是基於chrome的一種桌面程式開發工具。

優點是可以利用現有基於web的ui團隊從而大大節省開發成本。但是需要你的團隊裡面有乙個高手,實習生們可搞不定。

缺點是大,慢。因為它本質上就是chromium(chrome開源版本)瀏覽器。

能力有限,比如不能呼叫DirectX之類的微軟技術。和net配合也不太行。call vc的原生dll還行,call net的clr dll就比較麻煩。

很多微軟的技術不能直接用了。

跨平台性不錯,不過一般國內都是用win的。

總之有高手,差錢的公司還是可以考慮一下的。不差錢的還是不用。vscode倒是例外。

18樓:blackcater

在意效能,選QT,跨平台,效能也不錯。不喜歡 ,C++,GitHub上也有許多其他語言版本。Go,Rust 都有。

在意效率,就 Electron,唯一缺點我感覺就是包大,記憶體占用高,畢竟打包了chromium。

當下年輕人中是否存在 酒桌文化 ?年輕人的飲酒文化是怎樣的?

不思量 不是當下年輕人,是這個社會就有這個想象,圍城的故事大家都懂!只有利益關係到自己的時候,你就會覺得這些東西存在即合理,年輕人也會被潛移默化的灌輸到這些觀點,因為你現在要招呼的就是需要酒桌文化的那一波人!所以迫使年輕人也不得不會!如果只是單純的都是年輕人!吃飯喝酒鋪墊,然後酒吧,KTV比較多,先...

漢族的民族認同度比較普遍的當下,對於其他民族歷史文化的尊重程度會隨著國力的繁盛而提高嗎?

好爸爸 不會,自然過程一旦被打亂,就不會自發回到自然過程,而是遵守慣性,如果少數民族都是手拉手載歌載舞的話,歐公尺也是這樣看待亞洲人的,至少,我們自己就會這樣認為 螺旋真理 1.這個現象不適用於民族認知來解釋,而是和傳統與現代的斷裂有關係。長城按理說應該是所謂漢民族文化的遺產,保護狀況同樣是不容樂觀...

桌遊是如何計算buff和debuff的?

失魂小醬油 首先,骰子,token等是表示方式而不是計算方式。其次,所謂的buff與debuff,無論是桌遊還是電子遊戲,都只是資源的一種表示方式。計算方式的複雜度僅取決於規則。如果指的是結算的複雜度,那麼單次結算涉及的 廣義 token種類越多,結算越複雜 與使用的運算法則關係不大 比如24點。如...