用js開發桌面軟件Electron+Typescript+React

Electron(原名爲Atom Shell)是GitHub開發的一個開源框架。它允許使用Node.js(作爲後端)和Chromium(作爲前端)完成桌面GUI應用程序的開發。Electron現已被多個開源Web應用程序用於前端與後端的開發,著名項目包括GitHub的Atom和微軟的Visual Studio Code

本文介紹使用Electron+Typescript+React的起手式。

傳送門:https://github.com/wbjqiqi/electron-react-typescript-boilerplate.git

主要內容

  • 爲什麼使用Electron
  • 爲什麼使用Typescript
  • 爲什麼使用React
  • 關於起手式

爲什麼使用Electron

隨着nodejs的出現,js能幹的事情開始大面積增加。而且因爲js學習成本低、開發週期快,可以節約大量成本,逐漸成爲大家喜愛的一種語言。
在開發桌面端軟件依然如此。而用js開發桌面軟件最常用的兩個框架就是Electron和NW.

關於兩者技術原理的比較網上有很多,我就不冗述了。
直接給結果


來源:NW.js vs Electron

截止19.7.30。NW在github上的star是35666,而Electron是75589.(NW產生於2011,Electron產生於2014)
咳咳,羣衆的眼睛是雪亮的。

爲什麼使用Typescript

Typescript是javascript的超集(js的語法ts都支持)。js一直以來的詬病就是結構化不夠強,弱類型。

很多人要說正是因爲弱類型才讓js學習成本低,開發迅速。

但是這種快速是沒有保障的,沒有類型三五百行代碼還好,代碼數量一旦上去了,讓我們對已有代碼進行修改簡直是一種煎熬,甚至想重新實現。
所以如果不是開發一次性項目,建議還是爲自己長遠考慮。

學習Typescript確實是需要一些成本的,但是如今的js肩負的責任不僅僅是調一下頁面樣式。nodejs寫服務端,ssr服務端渲染,mongodb寫數據庫,electron寫桌面...我們肩負着更多的責任自然要自己更加的成熟。Typescript必然是一個趨勢。

有了Typescript,再運用一定的設計模式(可以參閱我之前寫的Typescript+設計模式),我們可以構建出更加強健可維護的系統。

爲什麼使用React

React也好,Vue也好。Electron的渲染進程使用這樣的全家桶實現可以省不少事。

  • 功能健全,開發迅速
  • 生態好,迅速集成一些功能模塊
  • 用webpack壓縮打包,安全性好

而且全家桶的社區比較活躍,可以很方便的處理我們遇到的任何問題。

具體使用React還是Vue這個就比較隨意了,筆者擅長Vue,所以在此用一下React拓展一下技術棧。

關於起手式

本起手式Fork於# iRath96的同名項目,但是兄弟不知道什麼原因很長時間不更新了。我拿到手後更新了Electron,Typescript等基礎包的版本,修復了一些bug,增加了prettier,electron-updater等常用包。後續使用過程中如遇到什麼問題也會持續更新。

之後我會持續分享一些使用Electron構建桌面端應用的常見問題,謝謝關注。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章