當前桌面軟件技術有哪些?
語言 | 技術 | 優點 | 缺點 |
---|---|---|---|
C# | wpf | 專業的桌面軟件技術,功能強大 | 學習成本高 |
Java | swing/javaFx | 跨平臺和語言流行 | GUI庫少,界面不美觀 |
C++ | Qt | 跨平臺,功能和類庫豐富 | 學習成本高 |
Swift | 無 | 非跨平臺,文檔不友好,UI庫少 | |
JS | electron | 跨平臺,入門簡單,UI強大,擴展性強 | 內存開銷大,包體大。 |
爲什麼使用electron?
我們先來看一下electron技術的官方介紹:
Electron是一個使用 JavaScript、HTML 和 CSS 構建桌面應用程序的框架。 嵌入 Chromium 和 Node.js 到 二進制的 Electron 允許您保持一個 JavaScript 代碼代碼庫並創建 在Windows上運行的跨平臺應用 macOS和Linux——不需要本地開發 經驗。
某某說:我們的應用要兼容多個平臺,原生開發效率低,各平臺研發人員不足,我們沒有資源。
也許你覺得只是中小公司沒有資源,no!大公司更沒有資源。因爲軟件體量越大,所需研發人員越多。再加上需要多平臺支持的話,研發人員更是指數級增長的。
我們來看看QQ團隊負責人最近的迴應吧:
“感謝大家對新版桌面QQ NT的使用和關注,
今年QQ團隊啓動了QQ的架構升級計劃,第一站就是解決目前桌面端迭代慢的問題,
我們使用新架構從前到後對QQ代碼進行了重構,而其中選擇使用Electron作爲新版QQ桌面端UI跨平臺解決方案,
是基於提升研發效率、框架成熟度、團隊技術及人才積累等幾個方面綜合考慮的結果。”
也許electron的缺點很明顯,但它的投入產出比卻是最高的。 所以,對企業而言,效率永遠是第一位的。不要用程序員的思維去思考產品。
哪些企業或軟件在使用electron?
國內:抖音客戶端、百度翻譯、阿里雲盤、B站客戶端、迅雷、網易有道雲、QQ(doing) 等
國外:vscode、Slack、Atom、Discord、Skype、WhatsApp、等 你的軟件用戶體量應該沒有上面這些公司多吧?所以你還有什麼可擔心的呢?
開發者 / 決策者不要去關心性能、包體大小這些東西,當你的產品用戶少時,它沒意義;當你的產品用戶多時,找nb的人把它優化。
聊聊electron-egg框架
EE是一個業務框架。
就好比 Spring之於java,thinkphp之於php,nuxt.js之於vue;electron只提供了基礎的函數和api,但你寫項目的時候,業務和代碼工程化是需要自己實現的,ee就提供了這個工程化能力。
特性
- 跨平臺:一套代碼,可以打包成windows版、Mac版、Linux版、國產UOS、Deepin、麒麟等
- 簡單高效:只需學習 js 語言
- 前端獨立:理論上支持任何前端技術,如:vue、react、html等等
- 工程化:可以用前端、服務端的開發思維,來編寫桌面軟件
- 高性能:事件驅動、非阻塞式IO
- 功能豐富:配置、通信、插件、數據庫、升級、打包、工具... 應有盡有
- 安全:支持字節碼加密、壓縮混淆加密
- 功能demo:桌面軟件常見功能,框架集成或提供demo
誰可以使用electron-egg?
前端、服務端、運維、遊戲等技術人員皆可使用。
我相信在你的工作生涯中,或多或少都接觸過js,恭喜你,可以入門了。
爲什麼各種技術棧的開發者都能使用electron-egg?
這與它的架構有關。
第一:前端獨立
你可以用vue、react、angular等開發框架;也可用antdesign、layui、bootstrap等組件庫;或者你用cococreater開發遊戲也行; 框架只需要最終構建的資源(html/css/js)。
第二:工程化-MVC編程模式
如果你是java、php、python等後端開發者,不懂js那一套編程模式怎麼辦?
沒關係,框架已經爲你提供了MVC(controller/service/model/view),是不是很熟悉?官方提供了大量業務場景demo,直接開始擼代碼吧。
開箱即用
編程方法、插件、通信、日誌、數據庫、調試、腳本工具、打包工具等開發需要的東西,框架都已經提供好了,你只需要專注於業務的實現。
十分鐘體驗
安裝
# 下載
git clone https://gitee.com/dromara/electron-egg.git
# 安裝依賴
npm install
# 啓動
npm run start
demo效果
界面中的功能是demo,方便初學者入門。
項目案例
EE框架已經應用於醫療、學校、政務、股票交易、ERP、娛樂、視頻、企業等領域客戶端
以下是部分開發者使用electron-egg開發的客戶端軟件,請看效果:
後語
倉庫地址,歡迎給項目點贊!
gitee**:** https://gitee.com/dromara/electron-egg 3400+
github**:** https://github.com/dromara/electron-egg 900+