精品国产一级在线观看,国产成人综合久久精品亚洲,免费一级欧美大片在线观看

FB開源React Native,用JS開發原生iOS應用

責任編輯:editor006

2015-03-30 14:43:03

摘自:51CTO

Facebook今日正式開源了React Native庫,目前已經可在github上下載,目前只有iOS版,不過Android版本很快也將開源。React Native使用Javascript將app編譯為原生的應用程序視圖,提供了用戶熟悉的iOS和Android設備上的外觀和體驗。

68.png

Facebook今日正式開源了React Native庫,目前已經可在github上下載,目前只有iOS版,不過Android版本很快也將開源。開發者可使用JavaScript和Facebook的React庫開發原生的iOS和Android應用程序。同時Facebook還開源了Nuclide--一個針對React Native、web以及原生移動開發的IDE。Nuclide基于Atom構建,并且有活躍的社區作為支持。

React Native使用Javascript將app編譯為原生的應用程序視圖,提供了用戶熟悉的iOS和Android設備上的外觀和體驗。React Native并不像你此前使用過的web封裝包,其代碼表現幾乎和原生的應用程序一樣。

Facebook已經使用React Native開發了其旗下主要的應用程序,比如Facebook Groups,這款應用就是使用React Native渲染了大部分視圖。該公司表示React和React Native可讓開發者只學習一種語言就能輕易為任何平臺高效地編寫代碼。并且Facebook將會在React Native繼續投資和投入。

Facebook宣布開源該項目,對很多開發者來說都是相當激動的一件事。此前Facebook就開源了自家多個項目,比如此前的網絡測試工具Augmented Traffic Control (ATC),動畫引擎POP以及微調工具Tweaks等。

React Native特點包括:

原生的iOS組件

開發者可使用標準平臺組件,比如iOS平臺上的UITabBar和UINavigationController,可以讓開發者的應用程序擁有和原生平臺一致的外觀和體驗,并保持較高的品質。這些組件可以輕松并入開發者的應用程序中。

var React = require('react-native'); var { TabBarIOS, NavigatorIOS } = React; var App = React.createClass({  render: function() {   return (                           );  }, });

異步執行

JavaScript應用代碼和原生平臺之間所有的操作都是異步執行,原生模塊也可以使用額外線程,這意味著把開發者可以解碼主線程圖像,并將其在后臺保存至磁盤,而文本和布局的估量計算也不會阻塞UI等。因此React Native app的流暢度和響應性都非常好。通信也是完全可序列化的,當運行完整的應用程序時,這允許開發者使用Chrome Developer Tools來調試JavaScript,或者在模擬器中,或者在真機上。

77.png

  觸摸處理

iOS有一個非常強大的系統--Responder Chain,可以用來響應復雜視圖層級中的事件,但并沒有類似功能的web工具。React Native可實現類似的響應系統并提供高水平的組件,比如TouchableHighlight,無需額外配置即可與滾動視圖和其他元素適度整合。

var React = require('react-native'); var { ScrollView, TouchableHighlight, Text } = React; var TouchDemo = React.createClass({  render: function() {   return (          console.log('pressed')}>      Proper Touch Handling            );  }, });

彈性框和樣式(Flexbox and Styling)

布局視圖應該是簡單的,所以我們將web平臺上的彈性框模塊引入了React Native。彈性框可用來搭建最常用的UI布局,比如代用邊緣和填充的堆疊和嵌入。React Native還支持常見的web系統,比如fontWeight和StyleSheet。

var React = require('react-native'); var { Image, StyleSheet, Text, View } = React; var ReactNative = React.createClass({  render: function() {   return (                           React Native                   Build high quality mobile apps using React                  );  }, }); var styles = StyleSheet.create({  row: { flexDirection: 'row', margin: 40 },  image: { width: 40, height: 40, marginRight: 10 },  text: { flex: 1, justifyContent: 'center'},  title: { fontSize: 11, fontWeight: 'bold' },  subtitle: { fontSize: 10 },

鏈接已復制,快去分享吧

企業網版權所有?2010-2024 京ICP備09108050號-6京公網安備 11010502049343號

  • <menuitem id="jw4sk"></menuitem>

    1. <form id="jw4sk"><tbody id="jw4sk"><dfn id="jw4sk"></dfn></tbody></form>
      主站蜘蛛池模板: 海伦市| 松原市| 白朗县| 长治县| 碌曲县| 海安县| 西乌珠穆沁旗| 英吉沙县| 务川| 安溪县| 宁陵县| 涞水县| 西林县| 肃南| 定陶县| 乃东县| 盐城市| 礼泉县| 房山区| 河曲县| 苍溪县| 义马市| 张家港市| 岳西县| 伊金霍洛旗| 尉氏县| 元氏县| 民丰县| 延津县| 大港区| 嵩明县| 泗阳县| 手机| 临沭县| 邛崃市| 迭部县| 会泽县| 大关县| 盐源县| 武城县| 兴城市|