新聞中心
本文轉(zhuǎn)載自公眾號“讀芯術(shù)”(ID:AI_Discovery)

當(dāng)聽到JavaScript這個詞的時候,“web開發(fā)”會一下子出現(xiàn)在我們的腦海中,因為JavaScript在很長一段時間里一直是web應(yīng)用開發(fā)最廣泛使用的語言,Angular、React和Vue等框架目前也很有名。
盡管JavaScript主導(dǎo)著web開發(fā)領(lǐng)域,但是在移動和桌面應(yīng)用開發(fā)領(lǐng)域,它不得不屈居于Java、C#和C++之下。然而,很多人可能沒注意到JavaScript對移動和桌面應(yīng)用開發(fā)也產(chǎn)生了影響。
本文就將討論一些主要的JavaScript框架,以及它們在移動和桌面應(yīng)用開發(fā)領(lǐng)域的優(yōu)缺點。
1.Electron
Electron是2013年推出的桌面應(yīng)用開發(fā)框架。Electron允許開發(fā)者使用HTML、CSS和JavaScript開發(fā)應(yīng)用,這與web開發(fā)棧很相似。此外,Electron是Node.js和Chromium的結(jié)合,這項結(jié)合使你能夠使用Electron運行任何web應(yīng)用和Node應(yīng)用。
圖源:https://2019.stateofjs.com/mobile-desktop/electron/
Electron的優(yōu)點:
- Chromium渲染用戶界面如同開發(fā)者工具一樣解鎖更多功能
- 功能類似web應(yīng)用
- 可以使用HTML、CSS和JavaScript進行開發(fā)
- 可以專注核心應(yīng)用開發(fā), Electron負責(zé)所有繁瑣的初始化步驟
- 多平臺支持
- 使用npm模塊
Electron的缺點:
- Chromium需要很大空間
- 安全問題
- 本地依賴性的跨平臺問題
2.React Native
React Native是目前最常用的移動開發(fā)平臺之一。React native于2015年推出,很快在JavaScript開發(fā)者中流行開來,因為以前他們必須學(xué)習(xí)像Java這樣的語言來開發(fā)移動應(yīng)用。這種使用JavaScript開發(fā)移動應(yīng)用的能力也吸引了許多web開發(fā)者使用React native開始了他們的移動開發(fā)之旅。
圖源:https://2019.stateofjs.com/mobile-desktop/reactnative/
JavaScript和JSX是ReactNative的主要組件,能夠在Android和IOS平臺上使用大部分代碼是其大規(guī)模推廣背后的主要原因。React Native有許多優(yōu)點,我列出的幾個重要優(yōu)點如下:
- 包含各種包和庫的大型生態(tài)系統(tǒng)
- 更短的開發(fā)時間
- 由Facebook支持的持續(xù)更新
- 多平臺支持
- 熱重裝
- 開源
- 支持創(chuàng)建簡化的用戶界面
- 大型社區(qū)和文檔
React Native的缺點有:
- 在一定程度上需要原生知識
- 相比純原生應(yīng)用,可能存在性能問題
- 安全問題
3.Ionic
Ionic是另一個基于Javascript的開源移動開發(fā)框架,它與Angular密切相關(guān)。Ionic于2013年推出,它的黃金時代隨著Angular的崛起而到來。
與Electron相似,Ionic也包含HTML 5 SDK,能夠使用HTML、CSS和JavaScript開發(fā)本機應(yīng)用。Ionic的重點是構(gòu)建具有創(chuàng)新性和對用戶友好的應(yīng)用,以滿足應(yīng)用需求。但可悲的是,隨著React Native的大量推廣,Ionic的用戶數(shù)量正在減少。
圖源:https://2019.stateofjs.com/mobile-desktop/ionic/
Ionic的優(yōu)點有:
- 跨平臺支持
- 可以使用通用web開發(fā)技術(shù)進行開發(fā)
- 包含預(yù)設(shè)的組件和主題
- 易于學(xué)習(xí)
- 內(nèi)置命令行界面
- 最新版本支持React和Vue
Ionic的缺點有:
- 不適合高性能應(yīng)用
- 熱重裝不可用
- 安全問題
- 缺乏穩(wěn)定插件
- 構(gòu)建過程常見隨機失敗
除了上面提到的那些框架,還有很多其他的,如原生應(yīng)用、Cordova和Expo,它們也可以用于開發(fā)移動和桌面應(yīng)用。下圖顯示2019年State of JavaScript調(diào)查的統(tǒng)計數(shù)據(jù)。
圖源:https://2019.stateofjs.com/mobile-desktop/
可以清晰地看到,Electron和React Native都在頂端,而Ionic遠遠低于原生應(yīng)用和Expo。但是相比之下會選擇Ionic的原因是它基于Angular,如果你對Angular比較熟悉,Ionic學(xué)起來就會比較簡單。
然而,也有很多不是基于JavaScript的框架,比如Flutter,在移動應(yīng)用開發(fā)競爭中發(fā)展迅速。我認為這些JavaScript框架在未來很難與它們齊頭并進。如果對使用JavaScript開發(fā)移動和桌面應(yīng)用感興趣,Electron和React Native是你的不錯選擇。
分享標(biāo)題:2021適合移動和桌面應(yīng)用的JavaScript框架是什么
轉(zhuǎn)載來于:http://m.fisionsoft.com.cn/article/cdsjeop.html


咨詢
建站咨詢
