自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

淺談移動應(yīng)用的跨平臺開發(fā)工具(Xamarin和React Native)

開發(fā) 后端
與上述HTML5平臺不同,Xamarin和React Native通過各自的方式來實現(xiàn)跨平臺。Xamarin基于Mono框架將C#代碼編譯為原生平臺代碼,React Native則是在UI主線程之外運行一個JavaScript線程,兩者呈現(xiàn)給用戶的都是原生體驗。

 談移動應(yīng)用的跨平臺開發(fā)不能不提HTML5,PhoneGap和Sencha等平臺一直致力于使用HTML5技術(shù)來開發(fā)跨平臺的移動應(yīng)用,現(xiàn)在看來這個方向基本算是失敗的,基于HTML5的移動應(yīng)用在用戶體驗上與原生應(yīng)用仍然存在著明顯的差距。

與上述HTML5平臺不同,Xamarin和React Native通過各自的方式來實現(xiàn)跨平臺。Xamarin基于Mono框架將C#代碼編譯為原生平臺代碼,React Native則是在UI主線程之外運行一個JavaScript線程,兩者呈現(xiàn)給用戶的都是原生體驗。

筆者恰巧兩個平臺都各使用過一段時間,在這里就拋磚引玉、分享一下個人觀點。對于資源有限的創(chuàng)業(yè)團隊,如果熟悉JavaScript,使用React Native再加上React,Redux等技術(shù)可以實現(xiàn)移動端、Web端、和Service端整套系統(tǒng)的開發(fā),還可以重用一部分代碼(比如Reducer和Action中的業(yè)務(wù)邏輯,以及通用的JavaScript組件代碼),React Native也非常適合快速原型的開發(fā)。對于實力相對雄厚的大中型公司,如果已經(jīng)在使用Microsoft的.Net技術(shù),并且擁有成體系的系統(tǒng)架構(gòu),那么Xamarin或許是一個更好的選擇,加上好的架構(gòu)設(shè)計在代碼重用方面并不遜于React Native。

下面從幾個方面說一說兩者各自的優(yōu)缺點:

從編程語言的角度來說,C#和JavaScript都是成熟的主流編程語言,都有豐富的第三方庫和強大的社區(qū)支持。兩種語言都能夠?qū)崿F(xiàn)從前端一直到后端的整套方案。

從開發(fā)工具的角度來說,Xamarin Studio的表現(xiàn)只能說剛剛及格,有種和Xamarin整個產(chǎn)品線不在一個水平線的感覺,特別是一些常用功能如重構(gòu)和界面可視化編輯等還有很大的改善空間,并且在版本升級中經(jīng)常會引入新的BUG,讓筆者多少有點患上了升級恐懼癥。React Native本身沒有IDE,開發(fā)人員可以選擇自己熟悉的JavaScript IDE,比如:IntelliJ等。

從第三方庫的角度來說,Xamarin的第三方庫給人一種不多不少、剛好夠用的感覺。在IDE中集成了Xamarin Component Store以后,第三方庫的數(shù)量質(zhì)量都有了提升,開發(fā)人員使用起來也非常方便。如果遇到特殊情況需要自己開發(fā)或者綁定(binding)原生代碼庫時可能會比較麻煩一些。React Native則完全依賴于JavaScript社區(qū),NPM和GitHub,在需要自行開發(fā)和橋接(bridging)原生代碼庫時個人覺得比Xamarin容易一些。

價格方面,Xamarin有免費版本,但在應(yīng)用包尺寸上有限制。對于企業(yè)級開發(fā)***還是選擇它的Enterprise License,雖然價格不菲,但是可以獲得技術(shù)支持和使用平臺的其他產(chǎn)品(如:Xamarin.Forms和Xamarin Test Cloud)。React Native則是完全免費的。

至于學(xué)習(xí)難度,很多人對JavaScript缺乏信心,覺得這門語言很難掌握和用好,而C#和Java則相對安全容易很多。這里筆者推薦圖靈的 《你不知道的JavaScript》系列 ,看過之后也許能夠改變這一看法。

下面是對兩者各方面的一個總結(jié):

 

責(zé)任編輯:趙立京 來源: 圖靈社區(qū)
相關(guān)推薦

2012-02-09 16:45:41

2023-02-09 07:15:52

開發(fā)FlutterReact

2017-10-25 08:53:52

2014-07-31 16:00:10

KiiXamarin

2012-05-24 13:25:37

TitaniumPhoneGapAppcelerato

2016-05-16 09:32:04

移動開發(fā)工具技術(shù)

2013-09-10 10:44:39

移動開發(fā)工具游戲引擎

2012-03-07 16:15:22

GWTPhoneGap

2015-03-30 16:00:21

Windows應(yīng)用少開發(fā)工具

2024-02-21 09:43:50

ElectronNode.js前端

2023-06-03 00:04:43

Electron版本安全

2023-04-05 22:42:08

Electronsize工具

2023-08-16 00:52:31

Electron開發(fā)工具

2023-10-11 10:03:33

Electron桌面應(yīng)用開發(fā)工具

2023-12-06 09:02:56

Electron前端

2012-06-27 17:25:52

VisionMobil跨平臺開發(fā)工具

2012-01-12 14:16:23

響應(yīng)式Web設(shè)計

2018-05-28 08:36:31

移動開發(fā)機器學(xué)習(xí)GraphQL

2015-01-23 01:06:16

英巴卡迪諾跨平臺開發(fā)RAD Studio

2023-01-11 18:08:25

平臺reactweb
點贊
收藏

51CTO技術(shù)棧公眾號