精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

使用React Native可以開發Window桌面應用了!

開發 前端
我將解釋如何使用 react-native-windows 項目開發Windows桌面應用程序。我們還將介紹React Native語法如何通過框架的內部模塊轉變為本地桌面應用程序。

 眾所周知,React 是一個由 Facebook 編寫的免費開源 JavaScript 庫,用于創建高度動態的 Web UI。Facebook 后來創建了 React Native 來開發跨平臺原生移動應用程序,使用 React 作為開發人員的核心接口,這使他們能夠使用基于 React 語法的單一代碼庫為 Android 和 iOS 構建原生移動應用程序。

React通常將其組件變化渲染為DOM(文檔對象模型),但它也可以將組件渲染為HTML,以滿足服務器端渲染(SSR)的要求。對于React Native,曾經有Proton Native,它生成了跨平臺的桌面應用程序,并讓你用Qt和wxWidgets UI工具包渲染本地UI元素,但它已不再積極維護。

雖然它仍然有一個活躍的分支,但在本文中,我們將介紹一個更穩定、積極維護和流行的項目: react-native-windows [1] 。這是 Microsoft 對 Windows 和 macOS 后端的 React Native 的擴展,它使得相同的基于 React Native 的前端將在具有特定平臺 UI 元素的 Windows 和 macOS 上原生渲染。

我將解釋如何使用 react-native-windows 項目開發Windows桌面應用程序。我們還將介紹React Native語法如何通過框架的內部模塊轉變為本地桌面應用程序。

設置開發環境

確保你的電腦安裝了以下Windows版本:

  • Windows 10.0.16299.0(又名 1709、Redstone 3 或 Fall Creators Update)或更高版本

如果您的計算機通過了上述要求,您可以在一個提升的(具有管理員權限的)PowerShell窗口中運行以下命令來安裝所需的依賴項。

  1. Set-ExecutionPolicy Unrestricted -Scope Process -Force; iex (New-Object System.Net.WebClient).DownloadString('https://raw.githubusercontent.com/microsoft/react-native-windows/master/vnext/Scripts/rnw-dependencies.ps1'

上述命令將打開開發者模式并安裝 Visual Studio、Chocolatey 包管理器和 Node.js LTS 版本。此外,如果您的計算機具有 8GB 或更高的物理內存,那就太好了,因為 Windows 構建過程通常需要高于平均水平的物理內存才能運行。

上述腳本文件建議使用 16GB 的物理內存。如果上述腳本的第二次執行給出如下輸出,您可以繼續本教程。

創建 React Native Windows 應用程序

首先,使用以下命令創建一個新的 React Native 項目。此命令將自動生成一個基本的 React Native 應用程序。

  1. npx react-native init rnApp --template react-native@^0.64.0 

官方 React Native 包僅支持 Android 和 iOS 后端,因此您需要運行以下命令來啟用 Windows 后端。

  1. npx react-native run-windows 

此外,您可以添加 --useHermes 選項以使用 Hermes JavaScript 引擎而不是默認的 Chakra。

第一個構建過程可能需要很長時間才能完成,因為它會編譯許多 C++ 源文件。如果構建過程因錯誤而停止,您可以使用 --logging 選項運行相同的命令來查找這些錯誤。

對于在構建過程中可能出現的常見錯誤,您可能還需要注意以下解決方案:

  • 如果構建過程需要很多時間,或者存在與 Chakra 相關的編譯錯誤,請使用 --useHermes 選項
  • 如果構建過程引發關于缺少 Windows 10 SDK 的錯誤,請從 Visual Studio 安裝程序安裝它

  • 如果構建過程失敗并出現證書錯誤,請按照以下步驟使用Visual Studio為自動 生成的UWP項目創建新的證書 [2]

  • 有些模塊對有空格的路徑有問題。請確保你的項目路徑不包含任何空格。

一旦構建過程完成,您將看到React Native應用的UWP版本,如下所示。

 

 

 

 

熱重載功能已經啟用。另外, run-windows 命令會在Chrome上打開React Native調試器。你可以使用Chrome DevTools來為你的應用程序的JavaScript源文件設置斷點。

現在,讓我們了解幕后發生的事情。

在 React Native Windows 中

React Native 核心有幾個基本的預定義 React 組件,如 View、Text、Image、TextInput 和 ScrollView。官方的 React Native 運行時可以為 Android 和 iOS 操作系統渲染真正的原生 UI 構建塊。React Native 團隊最初使原生渲染模塊完全可擴展。因此,開發者社區也能夠將其擴展到其他平臺。

react-native-windows 項目添加了 Windows 應用程序目標支持。它可以從典型的 React Native 項目生成具有真正原生 UWP GUI 的 Windows 應用程序。UWP 應用程序適用于所有流行的 Windows 平臺,例如 Windows 10、Windows 10 Mobile、Xbox One 系統軟件和 Windows Mixed Reality。

然而,應用程序的JavaScript部分運行在一個類似于原始React Native項目的JavaScript引擎上。 react-native-windows 項目最初使用的是Chakra JavaScript引擎,后來他們集成了Facebook的Hermes JavaScript引擎來提高性能。

使用 react-native-windows 開發一個簡單的應用程序

我們將制作一個簡單的UWP應用程序,當你提交你的名字和姓氏時,它將顯示問候信息。將以下代碼添加到 App.js 文件中。

  1. import React from 'react'
  2. import type {Node} from 'react'
  3. import { 
  4.   SafeAreaView, 
  5.   ScrollView, 
  6.   StyleSheet, 
  7.   Text, 
  8.   TextInput, 
  9.   Button, 
  10.   useColorScheme, 
  11.   View, 
  12.   Alert, 
  13. } from 'react-native'
  14. const App: () => Node = () => { 
  15.   const isDarkMode = useColorScheme() === 'dark'
  16.   const [firstName, setFirstName] = React.useState(''); 
  17.   const [lastName, setLastName] = React.useState(''); 
  18.  
  19.   const styles = StyleSheet.create({ 
  20.     dark: { 
  21.       color: '#fff'
  22.       backgroundColor: '#000'
  23.     }, 
  24.     light: { 
  25.       color: '#000'
  26.       backgroundColor: '#fff'
  27.     }, 
  28.     formItem: { 
  29.       marginBottom: 6
  30.     } 
  31.   }); 
  32.  
  33.   const backgroundStyle = { 
  34.     backgroundColor: isDarkMode ? styles.dark : styles.light, 
  35.   }; 
  36.  
  37.   const showFullName = () => { 
  38.     Alert.alert(`Hello ${firstName} ${lastName}`); 
  39.   }; 
  40. return ( 
  41.     <SafeAreaView style={backgroundStyle}> 
  42.       <ScrollView 
  43.         contentInsetAdjustmentBehavior="automatic" 
  44.         style={backgroundStyle}> 
  45.         <View style={{padding: 12}}> 
  46.           <Text style={backgroundStyle}>First name</Text> 
  47.           <TextInput  
  48.             style={styles.formItem}  
  49.             value={firstName}  
  50.             onChangeText={setFirstName} 
  51.           /> 
  52.           <Text style={backgroundStyle}>Last name</Text> 
  53.           <TextInput  
  54.             style={styles.formItem}  
  55.             value={lastName}  
  56.             onChangeText={setLastName} 
  57.           /> 
  58.           <Button  
  59.             style={styles.formItem} 
  60.             title='OK'  
  61.             onPress={showFullName} 
  62.             disabled={!firstName || !lastName}> 
  63.           </Button> 
  64.         </View> 
  65.       </ScrollView> 
  66.     </SafeAreaView> 
  67.   ); 
  68. }; 
  69. export default App; 

現在,通過React Native Debugger重新加載當前的應用程序。你會看到一個像下面這樣的應用程序,根據你的主題設置進行風格化。

 

 

 

 

當您填寫完文本輸入后單擊 OK 按鈕時,您將看到一個帶有問候語的消息框,如下所示。

 

 

 

 

在這個示例應用程序中,我們使用了幾個React Native核心組件和核心api,以及React的useState Hook來獲取當前用戶輸入。正如你所看到的,我們最終從React native組件中獲得了原生UWP UI元素。

react-native-windows 擴展也支持復雜的布局實現,因為它支持 Yoga [3] 友好的語法。

React Native 開發者社區也制作了各種出色的庫,并且一些庫也支持 react-native-windows 。換句話說,一些流行的 React Native 庫將適用于 Android、iOS 和 Windows 應用程序。

通過使用Visual Studio打開UWP應用程序源代碼,可以發布應用程序。

總結

react-native-windows 項目是在官方React Native項目的早期開發階段同時開始的。微軟最近也開始了 react-native-macos [4] 的工作,為macOS后端擴展React Native。

react-native-windows 項目確實從基于 JavaScript 的代碼庫中呈現特定于平臺的 UI 元素。因此,如果您正在尋找一種使用 React Native 構建高質量 Windows 桌面應用程序的方法,那么它是最好的解決方案。

 

責任編輯:張燕妮 來源: 前端全棧開發者
相關推薦

2021-05-10 08:34:22

SpringNative Graalvm

2016-08-12 13:55:06

2017-09-11 14:35:34

編輯器開發環境React

2015-03-30 12:13:23

React NativiOS

2021-07-26 08:00:00

開發工具Flutter

2017-03-21 21:37:06

組件UI測試架構

2016-07-29 13:47:05

RethinkDBWeb

2023-02-09 07:15:52

開發FlutterReact

2016-06-06 17:26:22

平臺開發

2016-01-13 09:37:00

IDC混合開發react nativ

2019-12-09 14:50:44

LinuxWindow Make桌面

2020-12-02 11:06:25

Windows 10Android

2019-04-08 18:15:38

加密Tutanota應用

2016-08-31 17:03:20

JavascriptReact NativWeb

2016-10-13 19:01:59

React NativUbuntu

2018-01-12 14:57:06

React Nativ開發錯誤

2021-08-13 07:56:11

App移動應用

2019-08-29 09:00:55

開發Flutter框架

2019-10-29 09:48:20

ElectronGithub開源庫
點贊
收藏

51CTO技術棧公眾號

日韩 欧美一区二区三区| 私拍精品福利视频在线一区| 亚洲免费观看高清| αv一区二区三区| 制服.丝袜.亚洲.中文.综合懂色| 不卡在线一区| 欧美大片在线观看| 久久九九国产视频| 久久免费电影| 国产亲近乱来精品视频| 99在线免费观看视频| 亚洲国产成人无码av在线| 99久久夜色精品国产亚洲96| 亚洲激情视频在线播放| 日韩va在线观看| 台湾佬中文娱乐网欧美电影| 亚洲欧洲三级电影| 免费中文日韩| 老牛影视av牛牛影视av| 日本网站在线观看一区二区三区| 欧美激情第1页| 91成人精品一区二区| 麻豆一区二区| 日韩丝袜美女视频| 日日躁夜夜躁aaaabbbb| 日韩大片免费观看| 伊人色综合久久天天人手人婷| 欧美日韩免费高清| 欧美视频在线观看一区二区三区| 日本不卡123| 97成人精品区在线播放| 九九免费精品视频| 天天做天天爱天天综合网| 亚洲香蕉av在线一区二区三区| 午夜男人的天堂| 久久久久亚洲精品中文字幕| 欧美亚洲高清一区| 少妇性l交大片| 丝袜诱惑一区二区| 亚洲mv在线观看| 日韩av新片网| 51av在线| 亚洲国产成人porn| 今天免费高清在线观看国语| 欧美私人网站| 国产偷国产偷精品高清尤物| 久久99久久99精品蜜柚传媒| 色网站免费观看| 成人精品免费视频| 高清日韩一区| 理论片中文字幕| 成人免费毛片app| ts人妖另类在线| 丁香六月天婷婷| 成人激情文学综合网| 国产精品日韩欧美一区二区| 黄色小视频免费在线观看| 波多野结衣中文一区| 国产精品推荐精品| 天天色综合久久| 91丨porny丨最新| 免费久久久一本精品久久区| 日本一区高清| 日本一二三不卡| 亚洲美女自拍偷拍| 羞羞视频在线免费国产| 亚洲国产精品人人做人人爽| 美女黄色免费看| 国产社区精品视频| 三级4级全黄60分钟| 中文av资源在线| 一二三区精品视频| 2018中文字幕第一页| 免费高潮视频95在线观看网站| 天天综合色天天综合色h| 女人和拘做爰正片视频| 韩国成人动漫| 欧美日韩一区二区三区四区五区| 拔插拔插华人永久免费| 日韩欧美激情电影| 亚洲国产中文字幕在线观看| 一区二区三区伦理片| 成人高清电影网站| 欧美成人国产va精品日本一级| 18精品爽视频在线观看| 香蕉久久久久久久av网站| 国产精品久久91| 国产三级视频在线播放| av中文字幕在线不卡| 日韩精品欧美一区二区三区| av中文字幕在线观看| 欧美日韩加勒比精品一区| 国产免费视频传媒| 亚洲国产视频二区| 亚洲色图五月天| 国产精品视频一区二区在线观看| 很黄很黄激情成人| 国产精品第100页| 亚洲第一页视频| 国产人成亚洲第一网站在线播放| 三年中国中文在线观看免费播放 | 国语精品视频| 日韩av一区在线观看| 超碰97av在线| 亚洲激情av| 91精品久久久久久久久久久久久| 少妇av一区二区| 日韩一区欧美一区| 欧美牲交a欧美牲交aⅴ免费下载| 99久久这里有精品| 精品无码久久久久久国产| 精品自拍偷拍视频| 日日摸夜夜添夜夜添国产精品| av日韩免费电影| 成年人在线观看| 精品国产成人av| www.日本久久| 日本大胆欧美| 青草青草久热精品视频在线观看| h片在线免费看| 中文欧美字幕免费| 蜜臀久久99精品久久久酒店新书 | 精品制服美女久久| 欧美日本韩国在线| 黑人另类精品××××性爽| 91精品蜜臀在线一区尤物| 中文字幕有码在线播放| 最新亚洲一区| 国产成人av一区二区三区| 日本在线播放| 精品视频免费看| 少妇无套高潮一二三区| 免播放器亚洲| 久久精品aaaaaa毛片| 欧美激情成人动漫| 欧美一级在线视频| 国产性xxxx| 国精产品一区一区三区mba视频| 日韩久久精品一区二区三区| 中文字幕资源网在线观看免费 | 爱啪视频在线观看视频免费| 91精选在线观看| 波多野结衣喷潮| 麻豆久久久久久| 亚洲激情一区二区| 影音成人av| 中文字幕亚洲二区| 影音先锋国产在线| 欧美激情综合网| 孩娇小videos精品| 色喇叭免费久久综合| 国产精品视频自拍| 日韩伦理在线电影| 欧美精品一二三区| 国产小视频你懂的| 精品一区二区日韩| 久久久成人精品一区二区三区| 宅男噜噜噜66国产精品免费| 久久久成人精品视频| 国产情侣一区二区| 亚洲激情一二三区| 李丽珍裸体午夜理伦片| 国产精品久久久亚洲一区| 久久综合毛片| 免费在线成人激情电影| 丝袜美腿亚洲一区二区| 国产麻豆免费视频| 亚洲一区免费视频| 亚洲久久久久久| 久久蜜桃精品| 一区二区三区在线视频111| 国产精品毛片aⅴ一区二区三区| 色综合天天综合网国产成人网| 亚洲精品无amm毛片| 日韩欧美精品网址| 懂色av粉嫩av浪潮av| 国产一区二区三区免费播放| 国产成人艳妇aa视频在线| 天堂av一区二区三区在线播放| 国产精品久久久久久久电影| av网站在线看| 日韩精品视频三区| 艳妇乳肉豪妇荡乳av| 亚洲国产视频直播| 亚洲精品国产一区黑色丝袜| 国产美女主播视频一区| 欧美日韩亚洲一| 99精品一区| 久草精品电影| 伊人久久一区| 欧洲s码亚洲m码精品一区| 香蕉视频在线播放| 亚洲精品99久久久久中文字幕| 涩涩视频在线观看| 亚洲午夜在线观看视频在线| 女女互磨互喷水高潮les呻吟| 精品一区二区三区免费播放| 91成人在线观看喷潮教学| 成人羞羞网站入口免费| wwwxx欧美| 草民电影神马电影一区二区| 欧美极品欧美精品欧美视频 | 三级a在线观看| 黄色工厂这里只有精品| 色狠狠久久av五月综合| 国产精伦一区二区三区| 91精品久久久久久久久久久久久 | 欧美性少妇18aaaa视频| 亚洲成人生活片| 国产喷白浆一区二区三区| 国产chinese中国hdxxxx| 久久国产精品色婷婷| av黄色在线网站| 欧美日韩四区| 特级毛片在线免费观看| 自拍偷拍一区| 国产伦精品一区二区三区| 高清一区二区中文字幕| 国产成+人+综合+亚洲欧洲 | 精品视频在线视频| 六月丁香婷婷综合| 亚洲国产精品久久久男人的天堂| 91麻豆免费视频网站| 国产精品美女久久久久久久| 中文字幕av网址| 91污在线观看| 波多野结衣加勒比| 高清shemale亚洲人妖| www.51色.com| 久久精品国产成人一区二区三区 | 国产麻豆精品在线| 奇米视频888| 久久国产免费看| 我看黄色一级片| 日韩1区2区日韩1区2区| 精品久久久久久久无码 | 日本精品视频在线观看| 无遮挡在线观看| 91精品国产99| 日本蜜桃在线观看视频| 91产国在线观看动作片喷水| 91福利在线免费| 97国产精品人人爽人人做| heyzo在线欧美播放| 国内精品久久久久久| 国产www视频在线观看| 欧美极品美女视频网站在线观看免费 | 九九热在线免费观看| 精品福利在线视频| 亚洲欧美综合另类| 色激情天天射综合网| 无码人妻久久一区二区三区| 色婷婷久久一区二区三区麻豆| 免费看日批视频| 色妹子一区二区| 波多野结衣小视频| 欧美日韩亚洲高清一区二区| 亚洲综合视频在线播放| 欧美一级在线免费| 丰满人妻一区二区三区四区53 | 中文字幕在线国产| k8久久久一区二区三区| 国产乱了高清露脸对白| 国产日韩v精品一区二区| 黄色裸体一级片| 亚洲欧洲综合另类| 国产大片中文字幕| 色婷婷久久久久swag精品| 91尤物国产福利在线观看| 欧美一级免费大片| 色婷婷av一区二区三区之红樱桃| 亚洲欧洲在线视频| 麻豆视频在线| 亚州av一区二区| 高清欧美日韩| 99中文字幕| 经典一区二区| 成年人三级视频| 99在线|亚洲一区二区| 九色porny91| 国产99久久久国产精品| 熟妇高潮精品一区二区三区| 国产精品卡一卡二| 国产第一页在线播放| 欧美亚洲尤物久久| 亚洲国产综合一区| 国产香蕉一区二区三区在线视频| 国产黄色小视频在线| 91精品国产高清| 999精品嫩草久久久久久99| 精品国产一区二区三区日日嗨| 国产精品探花在线观看| 日产精品久久久久久久蜜臀| 久久精品首页| 欧美久久久久久久久久久| 久久久91精品国产一区二区三区| 久久高清内射无套| 色又黄又爽网站www久久| 99热这里只有精品9| 亚洲欧洲国产精品| 日韩成人伦理| 国产免费亚洲高清| 亚洲制服欧美另类| 欧美人与动牲交xxxxbbbb| 热久久国产精品| 五月开心播播网| 亚洲欧美日韩一区| 这里只有精品国产| 亚洲精品456在线播放狼人| 9191在线播放| 国产精品日韩在线| 亚洲高清极品| 免费高清一区二区三区| 裸体在线国模精品偷拍| 国产偷人妻精品一区| 亚洲综合视频在线| 国产精品羞羞答答在线| 亚洲午夜色婷婷在线| 女厕盗摄一区二区三区| 超碰97在线资源| 欧美激情自拍| 五月天婷婷影视| 国产精品理伦片| 亚洲精品毛片一区二区三区| 亚洲精品久久久久国产| 国精一区二区三区| 2019国产精品视频| 久久久人成影片免费观看| 亚洲欧洲日本精品| 亚洲国产精品t66y| 亚洲图片欧美日韩| 亚洲欧美国产另类| 最近高清中文在线字幕在线观看1| 成人精品一二区| 欧美日韩1080p| 亚洲911精品成人18网站| 亚洲免费观看高清完整版在线观看 | 久久99国产乱子伦精品免费| 五月婷六月丁香| 在线观看91精品国产入口| 国产香蕉在线| 国产精品99久久久久久久久久久久| 亚州国产精品| 欧美少妇性生活视频| 久久久av毛片精品| 日本成人一级片| 在线视频欧美日韩| 国产一区精品福利| 法国空姐在线观看免费| 国产麻豆视频一区| 久久视频免费看| 亚洲第一区第二区| 日韩精品极品| 日韩精品一区二区三区四区五区| 日韩av中文字幕一区二区 | 亚洲午夜精品17c| 欧美一区二区三区黄片| 91禁国产网站| 精品久久91| 九一精品久久久| 一区二区在线观看av| 天天操天天干天天插| 欧美中在线观看| jlzzjlzz亚洲女人| 国产高清av片| 亚洲成va人在线观看| 日本五码在线| 国产中文字幕亚洲| 欧美日本精品| 欧美 日本 国产| 欧美日韩在线播放| 欧美色图天堂| 日本一区二区精品视频| 激情综合网天天干| 九九九国产视频| 亚洲一级片在线看| 麻豆精品久久| 久久免费视频3| 中文字幕日韩欧美一区二区三区| www.av黄色| 国产成人精品电影久久久| 亚洲va在线| 少妇毛片一区二区三区| 欧美精品 日韩| 理论不卡电影大全神| 尤物国产精品| 91一区二区在线| 91影院在线播放| 97超级碰碰人国产在线观看| 99精品电影| 青青草视频成人| 91精品国产一区二区三区蜜臀| 日本在线播放一二三区| 91制片厂免费观看| 26uuu亚洲综合色| 国产成人麻豆精品午夜在线 | 欧美一区二区三区爽大粗免费| 国产精品久久看| 四虎影视在线观看2413| 成人写真福利网|