PWA 與 Electron:深入探討

已發表: 2020-05-20

目錄

現在看來,該領域的新技術太多了,我們無法跟踪。 就在最近,我們看到了 Electron.js 的出現,它是我們每天使用的少數流行應用程序背後的強大平台,然後還有 Progressive Web App,它應該是一種新的方式在不犧牲性能的情況下提供一流的、引人入勝的客戶體驗的網站。

為了最好地幫助您跟踪所有這些新發現的技術,今天在 SimiCart 文章中,我們將以最全面的方式比較 Electron 和 PWA 這兩者。

什麼是 PWA?

PWA 似乎是最近的熱門,因為它是一項由谷歌自己支持的技術,並且受到了微軟等大公司的關注,他們雄心勃勃的計劃讓 Microsoft Store 充滿 PWA。 它如此受歡迎的原因是 PWA 本身是多年來來自網絡的最好的東西——它的記錄不言而喻。

簡而言之,Progressive Web Apps 是外觀和感覺都像應用程序的網站。 該技術融合了 Web 和原生應用程序的最佳功能,這意味著使用 PWA 的用戶可以受益於以前原生應用程序獨有的所有功能,例如推送通知、地理位置等。

推特 PWA
Microsoft Store 中的 Twitter 是 PWA

什麼是電子?

與 PWA 相比,Electron 在許多方面都相似,因為它也利用 Web 技術(即 HTML、CSS、JavaScript)來最好地應對跨平台挑戰。 然而,與 PWA 不同的是,Electron 驅動的應用程序可以製作成功能齊全的桌面應用程序,因為它使用了原生 APIChromium的渲染引擎。 事實上,它的功能如此之多,以至於它通常與原生桌面應用程序沒有區別,而且你可能在不知道它是基於 Electron 的情況下遇到了它——例如,你的一些基本應用程序可能是基於 Electron 的,包括 Skype、Slack、Discord和 Visual Studio 代碼。

不和諧電子

Electron 聽起來不是更好嗎?

好吧,當您這樣說時……確實如此; 但不,它比這更微妙。 我們看到基於 Electron 的應用程序數量最近有所放緩是有原因的——這是因為 Electron 已經過時了,尤其是在現在用戶對 PWA 提供的全渠道體驗的要求比以往任何時候都更高的時候.

在詢問經驗豐富的 Electron 和 PWA 開發人員的意見時,我們注意到以下模式:

  • 可用性:由於基於 Electron 的應用程序幾乎是桌面應用程序的混合版本,並且根本無法安裝在移動設備上,因此 PWA 幾乎可以在任何具有 PWA 兼容瀏覽器的設備上使用。
  • 性能:一個基於 Electron 的應用程序,如果做得好,應該感覺和文本應用程序一樣快速和輕量——但這不是你能得到最好的性能。 PWA 的一個已知優勢是,您可以在首次加載時獲得更好的性能(與 Electron 相比),並且在進一步加載時獲得近乎瞬時的加載時間,因為所有內容都是動態緩存的,並且大部分 JavaScript 開銷可以轉移到服務工作者,它是 PWA 不可或缺的一部分。
  • 更新:眾所周知,更新(和一般部署)對於任何類型的本地應用程序來說都是一個主要的麻煩,Electron 也不例外。 這可以通過選擇 PWA 方法來避免,該方法可以在服務器端進行整個更新過程,從而減輕客戶端安裝更新過程的負擔。
  • 大小:Electron 雖然比典型的桌面應用程序輕,但仍然比 PWA 重得多。 很難找到重量小於 50mb 的 Electron 應用程序,而大多數 PWA 都在 1MB 以下。
  • 安全性:PWA 在安全性方面更好,因為它完全依賴於瀏覽器端維護的安全連接 (HTTPS),而 Electron 作為一個包裝在原生應用容器中的 Web 應用程序,必須自己手動完成所有操作。

為什麼 PWA 只會越來越受歡迎

這是事實,Electron一種過時的技術。 儘管它目前被大量桌面應用程序使用,但其中許多已經計劃將其現有的基於 Electron 的桌面應用程序轉換為 PWA。 是的,您可以將基於 Electron 的應用程序轉換為 PWA,儘管與從 PWA 轉換為 Electron 的過程相比,它的過程不會那麼順利,但這是可能的。

沒有所有缺點的電子

漸進式 Web 應用程序可以說是一種更好的、可能更進化的技術,因為它解決了 Electron 的基本問題——兼容性和易於分發——同時保持功能性和吸引用戶體驗。 這是因為今天的瀏覽器正在成為它自己的通用操作系統,具有您可能要求的所有功能,並且作為這種副作用,依賴並在 Web 上運行的技術(如 PWA)只會隨著時間的推移而變得更好.

 看更多: 
桌面 PWA - 軟件交付的未來
Magento 2 的 PWA

全渠道

在全渠道體驗方面,PWA 在所有可以想像的方面都表現出色,因為它專為響應式多設備體驗而構建。 根據所涉及的業務類型,PWA 可以成為希望用戶體驗在所有設備上保持一致的企業的首選,而使用 Electron JS,您必須為不同的平台開發不同的代碼庫,從而增加開發成本。

何時選擇電子

雖然有其優勢,但 PWA 不能成為所有商業模式的包羅萬象的解決方案,而這正是 Electron 找到其利基的地方。 基於 Electron 的應用程序通常不會遇到通常的瀏覽器限制,並且可以基於 Node.js 功能自由開發,通過該功能,Electron 可以訪問操作系統的所有本機 API。 這意味著基於 Electron 的應用程序始終以用戶模式運行,有效地為用戶提供安全穩定的運行環境。

根據 Electron 社區的經驗,將 Electron 用於僅作為網站的東西絕不是一個好主意。 因此,如果您認為您的應用程序屬於少數需要原生應用程序的額外自由和功能的情況,那就選擇 Electron; 但在任何其他情況下,PWA 綽綽有餘。

換行

Web 及其技術正在快速追趕,再加上大品牌推動 PWA 採用的運動,未來看到更多 PWA 應該不會讓您感到驚訝。 然而,這並不是說 Electron 也已瀕臨死亡,因為該技術仍然非常實用,並且預計會存在相當長的一段時間。 但是,如果您是介於兩者之間的人之一,那麼 PWA 是一個明智的選擇,因為該技術仍然相對較新,並且預計在不久的將來對它的支持會猛增。


閱讀更多:
PWA 與 Flutter:詳細比較

您需要了解的有關漸進式 Web 應用程序的所有信息

漸進式 Web 應用程序:12 個來自真實品牌的示例,為您提供靈感

Magento PWA Studio:與 Vue Storefront 的詳細比較