Electron概述
一、Electron簡(jiǎn)介
Electron是利用web前端技術(shù)進(jìn)行桌面應(yīng)用開(kāi)發(fā)的一套框架。
若想開(kāi)發(fā)一個(gè)兼容多平臺(tái)的桌面應(yīng)用,以往常用的技術(shù)框架有wxWidgets、GTK、QT等,這些框架受語(yǔ)言限制,且學(xué)習(xí)成本較高,效率有限。目前一些基于前端技術(shù)的hybrid框架很流行,且已經(jīng)在多個(gè)領(lǐng)域得到了廣泛的應(yīng)用和驗(yàn)證,比如利用前端技術(shù)+相應(yīng)的打包工具可開(kāi)發(fā)適配多平臺(tái)的應(yīng)用(PC、微信公眾號(hào)、小程序、Android、IOS等)。Electron就是這樣一款框架,為前端技術(shù)人員利用web前端技術(shù)開(kāi)發(fā)桌面應(yīng)用帶來(lái)了可能,開(kāi)發(fā)人員可利用已經(jīng)掌握的前端技術(shù)如Html、CSS、JavaScript,以及結(jié)合一些前端技術(shù)框架:Vue、Angular、React、webpack,加之瀏覽器渲染引擎、Electron封裝的系統(tǒng)API快速實(shí)現(xiàn)一款桌面應(yīng)用的開(kāi)發(fā),Electron做了大部分復(fù)雜的工作,開(kāi)發(fā)人員只需要專(zhuān)注在核心業(yè)務(wù)和前端技術(shù)本身。同時(shí),通過(guò)一定的優(yōu)化,Electron可以做到很好的體驗(yàn)。
目前有不少知名桌面應(yīng)用采用Electron開(kāi)發(fā),如:開(kāi)發(fā)人員熟知的Visual Studio Code、MongoDB桌面版管理工具、Skype桌面版、WhatsApp桌面版、HTTP網(wǎng)絡(luò)測(cè)試工具Postman等。所以前端開(kāi)發(fā)者不用擔(dān)心案例問(wèn)題。
二、Electron開(kāi)發(fā)桌面程序需要用到的前端技術(shù)
Electron是基于Chromium和Node.js實(shí)現(xiàn)的,所以開(kāi)發(fā)人員所需要使用到的前端技術(shù)主要包括以下方面:
1、Html、CSS、JavaScript、ES6
2、前端開(kāi)發(fā)工具Vue、Angular、React等的一種
3、其他網(wǎng)絡(luò)、緩存、通訊等前端技術(shù)
三、Electron的不足
當(dāng)然Electron也有不足之處,主要是:
1.打包體積大
一個(gè)小應(yīng)用打包下來(lái)可能就需要幾十兆,不過(guò)目前磁盤(pán)存儲(chǔ)已經(jīng)不是什么大問(wèn)題,隨著網(wǎng)路環(huán)境越來(lái)越好,磁盤(pán)容積也越來(lái)越大,這個(gè)問(wèn)題給用戶帶來(lái)的負(fù)擔(dān)越來(lái)越不明顯,幾乎可以忽略。
2.開(kāi)發(fā)具有一定的復(fù)雜度
除需要掌握必要的前端知識(shí)外,基于Electron開(kāi)發(fā)仍需要了解跨進(jìn)程通信的一些知識(shí)點(diǎn),進(jìn)程上的一些問(wèn)題往往還是容易給開(kāi)發(fā)者帶來(lái)一定的困惑,有一定的學(xué)習(xí)成本,但是通過(guò)系統(tǒng)學(xué)習(xí)還是容易攻克的。
3.版本更新快
因?yàn)槭腔贑hromium的,所以Electron跟隨Chromium的版本發(fā)布節(jié)奏,版本迭代較快,這可能會(huì)導(dǎo)致一些兼容問(wèn)題,但幸運(yùn)的是目前Electron的核心功能一直都算是很穩(wěn)定的。
4.安全問(wèn)題
Electron提供給了開(kāi)發(fā)人員足夠的便利,同時(shí)也有一些具有風(fēng)險(xiǎn)的開(kāi)關(guān),開(kāi)發(fā)者需要在開(kāi)發(fā)中妥善處理,避免對(duì)應(yīng)用客戶帶來(lái)安全隱患,開(kāi)發(fā)人員需要關(guān)注安全問(wèn)題。
四、總結(jié)
一直以來(lái)都想找一款編程語(yǔ)言或者一門(mén)技術(shù)嘗試桌面應(yīng)用編程,來(lái)實(shí)現(xiàn)我的“全棧”夢(mèng) ^_^。不論是學(xué)些C#還是C++或是其他語(yǔ)言都覺(jué)得成本太高,平時(shí)也抽不出那么多時(shí)間去學(xué)習(xí)和進(jìn)階。經(jīng)過(guò)一通調(diào)研,最終還是覺(jué)得采用Electron來(lái)開(kāi)發(fā)桌面應(yīng)用,利用現(xiàn)在已經(jīng)掌握的前端技術(shù),快速的開(kāi)發(fā)和落地想做的桌面應(yīng)用,一定是個(gè)不錯(cuò)的選擇,期待接下來(lái)的學(xué)習(xí)歷程,并想通過(guò)自己的學(xué)習(xí)總結(jié)梳理一些實(shí)用的筆記,為自己或他人提供一定方便。
總結(jié)
以上是生活随笔為你收集整理的Electron概述的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Xcode各版本官方下载及百度云盘下载,
- 下一篇: 软件工程复习题库(2)