前言
ReactNative 可以基於目前大熱的開源JavaScript庫React.js來開發iOS和Android原生App。而且React Native已經用於生產環境——Facebook Groups iOS 應用就是基於它開發的。
React Native的原理是在JavaScript中用React抽象操作系統原生的UI組件,代替DOM元素來渲染,比如以<view>取代
在幕後,React Native在主線程之外,在另一個背景線程裡運行JavaScript引擎,兩個線程之間通過一批量化的async消息協議來通信(有一個專門的React插件)。
UI方面React Native提供跨平臺的類似Flexbox的佈局系統,還支持CSS子集。可以用JSX或者普通JavaScript語言,還有CoffeeScript和TypeScript來開發。
React Native比起標準Web開發或原生開發能夠帶來的三大好處
0.62 更新內容
React Native 0.62 發佈了,此版本一大亮點是默認支持 Flipper。
Flipper 是用於調試移動應用的開發人員工具,它在 Android 和 iOS 社區中都很流行,Flipper 提供以下功能:
- Metro Actions:重新加載應用並從工具欄直接觸發開發菜單。
- Crash Reporter:查看來自 Android 和 iOS 設備的崩潰報告。
- React DevTools:與所有其它工具一起使用最新版本的 React DevTools。
- Network Inspector:查看設備應用程序發出的所有網絡請求。
- Metro and Device Logs:查看、搜索和過濾來自 Metro 和設備的所有日誌。
- Native Layout Inspector:查看和編輯 React Native 渲染器輸出的原生布局。
- Database and Preference Inspectors:查看和編輯設備數據庫和首選項。
另一大亮點是新的暗黑模式。添加了一個新Appearance模塊,以提供對用戶外觀偏好的訪問,例如用戶的首選配色方案(淺色或深色)。
<code>const colorScheme = Appearance.getColorScheme();
if (colorScheme === 'dark') {
// Use dark color scheme
}
/<code>
同時還添加了一個 hook 跟蹤用戶首選項的狀態更新:
<code>import {Text, useColorScheme} from 'react-native';"/<image>
const MyComponent = () => {
const colorScheme = useColorScheme();
return <text>useColorScheme(): {colorScheme}/<text>;
};/<code>
閱讀更多 IT實戰聯盟 的文章