atom_electron

什麼是 react native 和 electron,他們與 react.js 又有什麼關係?

因為希望可以透過 react native 和 electron 達到快速開發產品線的目的,所以我近日也開始踏入 react.js 的大坑。

1)什麼是 react native?簡單來說就是,如果你想開發 iOS App 與 Android App,不用會 Objective C、Swift、Java等,可以直接透過撰寫 react.js 使用 javascript 來進行手機APP的開發。

有什麼優點呢?

而且程式碼只要撰寫一次,就可以編譯成 Android 版本的 APP 與 iOS 版本的 APP。

編譯出來的APP不是透過 HTML5執行的,而是如同真正原生的APP一般,所以不會拖慢執行效能。…好拉,還是會拖慢,但是很不明顯,因為中間會經過 js bridge 連動到真正的 native component 所以其實對於速度一定還是會有影響,可是重點是你感覺不到就好。

事實上,你還是應該依照你想要開發的APP種類,來決定要使用什麼方式開發。例如,如果是新聞類APP就很適合使用 react native,但如果是現在當紅的直播,可能會牽涉到更底層的影音傳輸效能,可能就不建議你使用 react navtive囉,因為那可能會讓你的開發變得更加複雜。

2)什麼是 electron

透過 react.js 使用 javascript 開發桌面應用程式,理想狀況下,可以開發一次,寫一次 code 就能讓你的桌面應用程式運作在Windows 平台、與 Mac、還有 Linux平台上。以前,開發Windows桌面應用程式就必須學C#,開發Mac桌面影用程序就必須學iOS、Swift之類,你可以順利擺脫這種痛苦囉!

用 electron 開發的軟體,在安裝的時候就會一個簡單版的 chrome 瀏覽器,概念其實是一個允許存取本地資源的瀏覽器,只是看起來像是桌面應用程式,可以透過 HTML 和 CSS 設計使用者介面(GUI)。透過 javascript 與作業系統溝通。

目前聽到的缺點,主要有兩點

1.效能。

2.安裝後的檔案大小太大。

因為目前還沒正式開發,所以不太了解這兩者的影響程度。但是我想透過 eletctron 官方給出的清單 http://electron.atom.io/apps/,瞭解一下誰用 eletron 開發了什麼軟體就可以知道,這是一項值得投資的技術。

就連Slack這樣的大咖也在用 electron,還有 Visual Studio Code 是微軟開發的文本編輯器。Atom 是 github 開發的文本編輯器(也是因為這個專案,才誕生了 electron)

螢幕快照 2016-10-27 下午6.59.02

標籤: , , ,

很愛畫虎爛的我,開始了用文章唬爛社會大眾的志業!