當前位置:係統粉 >   IT資訊 >   微軟資訊 >  微軟開源跨平台React JS React Native開發工具ReactXP

微軟開源跨平台React JS React Native開發工具ReactXP

時間:2017-04-09 來源:互聯網 瀏覽量:

  reactxp是微軟的skype團隊開發的一個js庫,它不僅支持Android和iOS,還支持web和windows,看似比React Native還要牛。 新的開源庫利用了React框架,允許開發人員在他們的應用程序中使用React。ReactXP允許構建響應性的網頁和移動應用程序,通過ReactJS和React Native,這些應用程序開對平台來說增加了原生性。


  reactxp利用React和React Native,Web應用措施可以與iOS和Android應用措施共享大部門邏輯,但視圖層需要為每個平台別離實現。因此微軟進一步開拓了一個薄的跨平台層,稱之為ReactXP。假如開拓人員將應用措施寫入此抽象,則可以在多個方針平台上共享視圖界說,樣式和動畫。雖然,措施員仍然可以提供平台特定的UI變體,可是這可以在需要時選擇性地舉辦。

  ReactXP的設計思量了跨平台開拓。一般來說,它袒露了在React JS(HTML)和React Native為iOS和Android應用以一致的方法實現的API,組件,道具,樣式和動畫參數。一些平台特定的道具和睦勢氣魄屬性已經袒暴露來,但微軟已經實驗將其保持在最低限度。ReactXP的意圖則是盡大概精練。焦點組件和API僅限於險些所有應用措施所需的成果。ReactXP的擴展以雷同的跨平台方法袒露了更多的專門成果。


  ReactXP與React Native的關係

  官方解釋說,ReactXP構建於React Native之上,提供幾乎與RN相同的Web版本API,但ReactXP並不是RN的子集或超集。

  ReactXP最重要的特點是它的API的一致性,在某些情況下,平台之間的實現不同,API會在一些平台能使用,在另一些平台則是無操作(但能被調用),ReactXP盡可能的不讓用戶去關心平台區別。

  使用ReactXP能過直接調用RN或React DOM,但這時需要根據條件判斷平台來進行相應的操作。

  ReactXP與React Web的異同

  如果關心React發展的同學可能發現,微軟的這個東西怎麼似乎見過。不錯,早在15年,淘寶FED就推出了一個React Web項目,使用React Native兼容的API開發Web應用。後來Twitter也推出了一個React Native for Web項目,與前者目標相似,不過在國外這個更為知名。

  微軟解釋了ReactXP和React Native for Web的不同。ReactXP隻包含能夠跨平台的API和組件,它的目標之一是讓開發者使用自己喜歡的環境開發應用,並且有信心讓應用跑在不同的平台上而不用過多的擔心兼容問題。ReactXP構建於React.js和React Native之上,目標是跨平台,而React Native for Web目標是Web平台。


  ReactXP特點:

  * 跨越更多的平台(Android、iOS、Web、Windows10)

  * 統一Api

  * 一套代碼

  * 可以使用TypeScript,但不強製使用

  * 學習成本低(語法與React、React Native基本一樣)

  ReactXP 能夠提供輕量級的基於 React JS 和 React Native 的跨平台抽象層,並能夠實現用於實現更加複雜的組件的基礎組件。其支持如下平台:

  web (React JS)

  iOS (React Native)

  Android (React Native)

  Windows UWP (React Native)


  Cordova 和 Xamarin是開發者解除較為多的開發平台工具,但是前者無法提供足夠令人滿意的性能表現,而後者在 Web 開發上心有餘而力不足。ReactXP的出現解決這兩者之間的缺點,統一了React JS 和不同的React Native 實現的行為和接口,為開發者進行Web 開發提供了便利。

  二者定位不在一個維度上,react( native)是前端框架,而且對各平台差異化內容不給你做模型統一,XP定位是底層基於react( native)跨平台泛前端開發解決方案,要讓大家的write once run anywhere。實際上ReactXP集成了react和React Native,它是建立在React和React Native之上的一個抽象層,構建具體的平台代碼還是依賴React和React Native。這和TypeScript有點類似。

  ReactXP的設計考慮了跨平台開發。一般來說,它暴露了在React JS(HTML)和React Native為iOS和Android應用以一致的方式實現的API,組件,道具,樣式和動畫參數。一些平台特定的道具和風格屬性已經暴露出來,但微軟已經嚐試將其保持在最低限度。ReactXP的意圖則是盡可能輕便。核心組件和API僅限於幾乎所有應用程序所需的功能。ReactXP的擴展以類似的跨平台方式暴露了更多的專門功能。

  Skype 團隊近日決定對 ReactXP 進行開源,以造福更多的開發者。同時,他們還承諾會大約每個月推出一次更新,以匹配 React Native 的發行速度。感興趣的開發者可以前往(https://microsoft.github.io/reactxp/)了解更多關於ReactXP框架的細節。


  關於ReactXP,部分用戶的觀點:

  用戶一:

  1. 從微軟來看,推出 ReactXP 可能是為了借助 react , 吸引開發者,促進 windows 生態發展;

  2. 從 React 來說,其生態更強大了。React Native 已經使得 web 和 native 應用可以共享業務邏輯部分的代碼了;ReactXP 的目標是要讓 web 和 native 應用共享 view層代碼,如果能實現,真是碉堡了;

  3. 從前端開發者來說,能做的事越來越多了,擔子越來越重了。

  用戶二:

  我剛試了一下,web下的體驗爽爆了。還帶動畫的,嗬嗬。

  個人覺得ReactXP會有很好的市場。

  用戶三:

  ReactXP 的意思是 React Cross Platform。那如何跨端的呢?在 React 和 React Native 封裝一個抽象層,也是一個子集,提供跨平台的 API。底層 iOS/Android 就是跑RN,Web 就是 React,其他平台就用 Electron 把 Web 包起來……跨端了。看看目前的組件列表,相當的匱乏。

  理想很美好,現實卻很骨感。還有很多抽象要去做,還有很多坑要去填,要跨多端犧牲的是每個端的性能,特性,那又有多少需求是要跨那麼多端實現的呢?不過可以看清兩個方向,一是跨端是一個趨勢,二是跨端這件事情落地到了前端!

  用戶四:

  看了一下介紹,不是很看好。

  React本身就沒有屏蔽,也不想屏蔽底層細節。現在搞出一個 XP 來,無非是提取子集的玩法,未來空間有限。

  其實看看桌麵端的曆史,大致可以猜一下,真正的跨平台 UI 框架,還得立足於自己畫控件,封裝原生能走的路有限。

  而且我覺得這個方案不像微軟的大手筆。按照微軟的量級,難道不是應該重新發明一遍 UI 樹和樣式表甚至 api,搞出一個新平台來全麵覆蓋原有平台嗎?

  或者幹脆把 WPF 和 blender 那套東西整理整理,搞一個天上地下,無所不包的客戶端全家桶出來。

  用戶五:

  React的各種衍生技術,最有空間的還是RN,最根本原因在於Facebook的創新精神有助於推動整個技術不斷向前發展。微軟從windows之後,陸續出了一些office之類的大作,企業成了行業壟斷者之後,基本喪失了創新能力,隻能通過不斷升級老產品、收購其他公司之類的商業運作套路來維持市場地位。

  這次的reactXP,在思想上無疑是可以肯定是正確的:跨平台會是後麵一段時間裏,前端技術將要突破的一個大趨勢——雖然並不確定挖掘機技術最終哪家強,但火熱爆炒的環境,對加速突破行業技術瓶頸,是一件好事。

  對於某些無視行業發展趨勢,各種抵製創新的磚家,還是盡早醒醒吧——那些嘲笑降低社會成本的創新的人,隻是因為他們太過於害怕新技術給他們帶來的衝擊和改變。等最後才被動發現誰動了你的奶酪,結果往往是比較可悲的。在技術圈裏混,如果對新技術,新方向都一棍子打死,缺乏一種冷靜客觀看待的心態,基本說明自己心態不經意間已經趨於保守,及時調整心態,在到達沙灘醒悟過來,於人於己,都是一種小幸運。

  對於ReactXP大家又有什麼看法呢?如果你是開發者的話,現在微軟已經將ReactXP上傳至GitHub,大家可以使用ReactXP網站獲得這個新的ReactXP開源庫。

我要分享:

最新熱門遊戲

版權信息

Copyright @ 2011 係統粉 版權聲明 最新發布內容 網站導航