本文翻譯自 http://jlord.us/essential-ele... css
本文將簡明扼要地講解 Electron。html
Background | Development | Development Con't |
---|---|---|
What is Electron | Prereqs | Stay in touch |
Why is this important | Two Processes | Put it all Together |
How,even? | Main Process | Packaging |
What is developing like? | Renderer Process | More resources |
/ | Think of it like this | / |
Electron 是一個能夠用 JavaScript、HTML 和 CSS 構建桌面應用程序的庫。這些應用程序能打包到 Mac、Windows 和 Linux 系統上運行,也能上架到 Mac 和 Windows 的 App Store。node
Next:爲何它如此重要?git
定義:github
相關資源:
Apps built on Electron
Electron API Demos(看看你能經過 Electron 實現什麼功能)web
一般來講,每一個操做系統的桌面應用都由各自的原生語言進行編寫,這意味着須要 3 個團隊分別爲該應用編寫相應版本。而 Electron 則容許你用 Web 語言編寫一次便可。npm
Next:它由什麼組成?編程
定義:json
Electron 結合了 Chromium、Node.js 和用於調用操做系統本地功能的 API(如打開文件窗口、通知、圖標等)。windows
Next:開發體驗如何?
定義:
相關資源:
基於 Electron 的開發就像在開發網頁,並且可以無縫地 使用 Node。或者說:在構建一個 Node 應用的同時,經過 HTML 和 CSS 構建界面。另外,你只需爲一個瀏覽器(最新的 Chrome)進行設計(即無需考慮兼容性等)。
Next:具有條件(開發方面)
定義:
相關資源:
由於 Electron 應用的兩個組成部分是網站(譯者注:UI)和 JavaScript(譯者注:功能),因此在開發 Electron 應用前,你須要擁有這兩方面的經驗。你能夠搜索 HTML、CSS 和 JS 的教程,並在你的電腦上安裝 Node。
定義:
Next:兩個進程
相關資源:
Electron 有兩種進程:『主進程』和『渲染進程』。部分模塊只能在二者之一上運行,而有些則無限制。主進程更多地充當幕後角色,而渲染進程則是應用程序的各個窗口。
定義:
dialog
模塊擁有全部原生 dialog 的 API,如打開文件、保存文件和警告等彈窗。相關資源:
主進程,一般是一個命名爲 main.js
的文件,該文件是每一個 Electron 應用的入口。它控制了應用的生命週期(從打開到關閉)。它既能調用原生元素,也能建立新的(多個)渲染進程。另外,Node API 是內置其中的。
定義:
Next:渲染進程
相關資源:
渲染進程是應用的一個瀏覽器窗口。與主進程不一樣,它能存在多個(注:一個 Electron 應用只能存在一個主進程)而且相互獨立(它也能是隱藏的)。主窗口一般被命名爲 index.html
。它們就像典型的 HTML 文件,但 Electron 賦予了它們完整的 Node API。所以,這也是它與瀏覽器的區別。
定義:
Next:把它想象成這樣
相關資源:
Chrome(或其餘瀏覽器)的每一個標籤頁(tab)及其頁面,就比如 Electron 中的一個單獨渲染進程。即便關閉全部標籤頁,Chrome 依然存在。這比如 Electron 的主進程,能打開新的窗口或關閉這個應用。
相關資源:
Next: 相互通信
因爲主進程和渲染進程各自負責不一樣的任務,而對於須要協同完成的任務,它們須要相互通信。IPC就爲此而生,它提供了進程間的通信。但它只能在主進程與渲染進程之間傳遞信息(即渲染進程之間不能進行直接通信)。
定義:
Next:匯成一句話
Electron 應用就像 Node 應用,它也依賴一個 package.json
文件。該文件定義了哪一個文件做爲主進程,並所以讓 Electron 知道從何啓動應用。而後主進程能建立渲染進程,並能使用 IPC 讓二者間進行消息傳遞。
定義:
package.json
文件: 這是一個常見的 Node 應用文件,它包含了關於項目的元數據和一系列依賴。Next:快速開始
Electron Quick Start 代碼庫是一個 Electron 應用的基本骨架,擁有前文說起的 package.json
、main.js
和 index.html
。這是你瞭解和學習 Electron 的好開頭!固然,查看下面資源中的 Boilerplates,在裏面選擇適合你的模板。
Next: 打包
相關資源:
應用構建完成後,能夠經過 命令行工具 electron-packager
對其打包爲適用於 Mac、Windows 和 Linux 的應用。固然,你能夠在 package.json
添加該命令行。查看下面相關資源,學習如何將應用發佈到 Mac 和 Windows 的 App Store。
Next:更多資源
定義:
相關資源:
這裏提供更多資料供你更深刻且全面地學習 Electron。
相關資源: