一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - IOS - React Native搭建iOS開發環境

React Native搭建iOS開發環境

2021-01-27 15:39iOS開發網 IOS

React Native的門檻不管是對于前端開發者還是移動端開發者來說都是很高的,既要懂原生又要懂js,技術棧是相當長的。但是沒有關系,下面我們一步步來學習,慢慢成長吧!

一、寫在前面

1. 什么是React-Native?

React-Native是:Facebook 在2015年初React.js技術研討大會上公布的一個開源項目。支持用開源的JavaScript庫React.js來開發iOS和Android原生App。初期僅支持iOS平臺,同年9月份,該開源項目同時支持Android平臺。

React Native的原理是:在JavaScript中用React抽象操作系統原生的UI組件,代替DOM元素來渲染,比如以<View>取代<div>,以<Image>替代<img>等。

2.React-Native有啥優缺點?

優點是:能夠用JavaScript腳本就可以寫出App的界面,對從事Web開發的同事們轉行做幾個簡單的移動App是個福利。不用為了寫個移動App小程序而專門去學習Objective-C和Swift。

和其他的移動Web框架相比:

      Native不用WebView,徹底擺脫了WebView讓人不爽的交互和性能問題;

      Native的原生控件有更好的體驗;

      Native有更好的手勢識別;

      Native有更適合的線程模型;

缺點是:還在試用階段,潛在的問題尚不得而知:兼容性問題,性能問題等。還沒大量普及,學習資料尚且不多,供愛折騰的朋友嘗嘗鮮。  

3.要學些什么?

想必,大家已經按耐不住,會發問,使用React-Native開發要學習些什么呢?

      Html+CSS+JavaScript的基本功肯定是少不了;

      Node.js的基本概念學習。API文檔:https://nodejs.org/dist/v4.2.2/docs/api/

      JSX: JavaScript語法的一個擴展,類似XML結構。https://facebook.github.io/react/docs/jsx-in-depth.html

      FLUX: Facebook公司的一個創建用戶客戶端web程序的框架。https://facebook.github.io/flux/docs/overview.html

二、React Native基礎環境搭建

1、安裝Homebrew

打開終端輸入:

?
1
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

2、安裝nvm方法

通過腳本安裝方式,在終端執行:

?
1
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.30.1/install.sh | bash

激活nvm,在安裝腳本執行完之后,在終端執行:

?
1
. ~/.nvm/nvm.sh

3、默認安裝最新版本的Node.js并且設置好命令行的環境變量

?
1
nvm install node && nvm alias default node

可以輸入node命令啟動Node.js環境

4、安裝watchman

在終端輸入:

?
1
brew install watchman

到此處React Native基礎環境搭建基本完成,推薦經常運行brew update && brew upgrade命令保持你的程序是最新的。

三、iOS開發環境

1、iOS開發環境: (默認讀者已經安裝Xcode7.0或以上版本,沒有可自行前往AppStore下載)

使用npm(node包管理工具)安裝react-native-cli(此處應注意權限問題,如果遇到權限問題,請在下面的命令前加上sudo)

?
1
npm install -g react-native-cli

初始化工程(下面的語句中千萬不要加sudo,后果自負)

?
1
react-native init ReactNativeProject(工程名)

在初始化的過程中,如果進度緩慢,推薦你將npm倉庫源換成國內鏡像:(翻墻用戶請忽略) 在終端輸入:

?
1
2
npm config set registry https://registry.npm.taobao.org
npm config set disturl https://npm.taobao.org/dist

2、使用Xcode運行調試程序

查找ReactNativeProject文件目錄

按住快捷鍵Command+Shift+G,在彈出的“前往文件夾”對話框中輸入路徑/Users/yangshebing/ReactNativeProject(yangshebing表示電腦用戶名,請自行更改),點擊前往。在文件目中的ios文件夾下找到“ReactNativeProject.xcodeproj”工程文件。如圖所示:

React Native搭建iOS開發環境

運行ReactNativeProject工程

使用Xcode打開“ReactNativeProject.xcodeproj”工程文件,按住快捷鍵"Command+R"運行此項目,運行成功后便可在模擬器上看到效果。

編輯index.ios.js文件修改界面

筆者編輯index.ios.js文件工具是Vim,每當編輯完index.ios.js文件并保存之后,在模擬器(Simulator)中,按Command+R可刷新界面查看改變后的效果。

下面我們也試著稍微修改一下index.ios.js文件:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
/**
 * Sample React Native App
 * https://github.com/facebook/react-native
 */
'use strict';
import React, {
 AppRegistry,
 Component,
 StyleSheet,
 //添加Image全局變量
 Image,
 Text,
 View
} from 'react-native';
 
class ReactNativeProject extends Component {
 render() {
 return (
  <View style={styles.container}>
  //添加文本展示
  <Text style={styles.welcome}>
   美女
  </Text>
  //添加圖片展示
  <Image
  source=
  //這里需要指定圖片的大小
  style={styles.picture} />
  </View>
 );
 }
}
 
const styles = StyleSheet.create({
 container: {
 flex: 1,
 justifyContent: 'center',
 alignItems: 'center',
 backgroundColor: '#F5FCFF',
 },
 //這里可以設置文本的字體,對齊方式等
 welcome: {
 fontSize: 20,
 textAlign: 'center',
 margin: 10,
 },
 //新增圖片style,設置圖片大小
 picture: {
 width: 80,
 height: 150,
 },
});
 
AppRegistry.registerComponent('ReactNativeProject', () => ReactNativeProject);

刷新后運行效果如下圖所示:

React Native搭建iOS開發環境

真機運行調試項目

在ReactNativeProject工程中找到AppDelegate.m文件,將localhost替換成自己電腦的IP地址。

?
1
2
3
// jsCodeLocation = [NSURL URLWithString:@"http://localhost:8081/index.ios.bundle?platform=ios&dev=true"];
 
 jsCodeLocation = [NSURL URLWithString:@<a href="http://192.168.31.168:8081/index.ios.bundle?platform=ios&dev=true">http://192.168.31.168:8081/index.ios.bundle?platform=ios&dev=true</a>];

替換完成之后再次運行程序,這個時候可以通過搖晃設備喚出開發菜單。

禁用開發菜單

在打包提交市場前,需要禁用開發菜單。禁用開發菜單方法如下: 打開工程,選擇Product → Scheme → Edit Scheme或使用快捷鍵“Command + <”,在彈出的窗口中選擇左邊的Run菜單項。更改“Build Configuration” 設置項為“Release”。

React Native搭建iOS開發環境

總結

好了,看到這里,如果你已經成功配置了React-Native的環境,并且新建并成功運行了第一個程序了。那么,就先恭喜了,我們甚至沒有寫一行代碼,就已經成功運行了第一個React-Native的程序,是不是還挺簡單的。正所謂,良好的開端是成功的一半。如果有問題大家可以留言交流。

延伸 · 閱讀

精彩推薦
  • IOSiOS開發之視圖切換

    iOS開發之視圖切換

    在iOS開發中視圖的切換是很頻繁的,獨立的視圖應用在實際開發過程中并不常見,除非你的應用足夠簡單。在iOS開發中常用的視圖切換有三種,今天我們將...

    執著丶執念5282021-01-16
  • IOSiOS實現控制屏幕常亮不變暗的方法示例

    iOS實現控制屏幕常亮不變暗的方法示例

    最近在工作中遇到了要將iOS屏幕保持常亮的需求,所以下面這篇文章主要給大家介紹了關于利用iOS如何實現控制屏幕常亮不變暗的方法,文中給出了詳細的...

    隨風13332021-04-02
  • IOSiOS中滑動控制屏幕亮度和系統音量(附加AVAudioPlayer基本用法和Masonry簡單使用)

    iOS中滑動控制屏幕亮度和系統音量(附加AVAudioPlayer基本用法和

    這篇文章主要介紹了iOS中滑動控制屏幕亮度和系統音量(附加AVAudioPlayer基本用法和Masonry簡單使用)的相關資料,需要的朋友可以參考下...

    CodingFire13652021-02-26
  • IOSiOS中MD5加密算法的介紹和使用

    iOS中MD5加密算法的介紹和使用

    MD5加密是最常用的加密方法之一,是從一段字符串中通過相應特征生成一段32位的數字字母混合碼。對輸入信息生成唯一的128位散列值(32個字符)。這篇文...

    LYSNote5432021-02-04
  • IOSiOS開發技巧之狀態欄字體顏色的設置方法

    iOS開發技巧之狀態欄字體顏色的設置方法

    有時候我們需要根據不同的背景修改狀態欄字體的顏色,下面這篇文章主要給大家介紹了關于iOS開發技巧之狀態欄字體顏色的設置方法,文中通過示例代碼...

    夢想家-mxj8922021-05-10
  • IOS詳解iOS中多個網絡請求的同步問題總結

    詳解iOS中多個網絡請求的同步問題總結

    這篇文章主要介紹了詳解iOS中多個網絡請求的同步問題總結,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧...

    liang199111312021-03-15
  • IOSiOS中UILabel實現長按復制功能實例代碼

    iOS中UILabel實現長按復制功能實例代碼

    在iOS開發過程中,有時候會用到UILabel展示的內容,那么就設計到點擊UILabel復制它上面展示的內容的功能,也就是Label長按復制功能,下面這篇文章主要給大...

    devilx12792021-04-02
  • IOSiOS自定義UICollectionViewFlowLayout實現圖片瀏覽效果

    iOS自定義UICollectionViewFlowLayout實現圖片瀏覽效果

    這篇文章主要介紹了iOS自定義UICollectionViewFlowLayout實現圖片瀏覽效果的相關資料,需要的朋友可以參考下...

    jiangamh8882021-01-11
主站蜘蛛池模板: 四虎网站最新网址 | 午夜精品久视频在线观看 | 拍拍叫痛的无挡视频免费 | 日本色女 | 精品国语国产在线对白 | 欧美乱码视频 | 乌克兰bbw | 欧亚专线欧洲m码可遇不可求 | 国产欧美一区二区三区精品 | 国产在线视频色综合 | 好大好深受不了了快进来 | 国产在线一区二区杨幂 | 久久99精品涩AV毛片观看 | 四虎影视4hutv最新地址在线 | 好紧好爽再叫浪一点点潘金莲 | 啪啪模拟器 | 欧美一级激情 | 日本视频在线免费播放 | 精品国产福利在线 | 亚洲精品国产成人 | 姐姐不~不可以动漫在线观看 | 奇米小说| 男生的j桶女人屁免费视频 男生操男生 | 亚洲国产欧美另类va在线观看 | 精品亚洲午夜久久久久 | 猛吸奶水的老汉 | 91视频国产自拍 | 日韩欧美国产在线 | 日本久久啪啪婷婷激情五月 | 男人视频网站 | 青青国产成人久久激情91麻豆 | 国色天香社区视频在线观看免费完整版 | 色导行| 亚洲高清成人 | 法国女佣系列在线播放 | 国产精品久久久久久久久免费观看 | 亚洲国产成人久久午夜 | 97久久天天综合色天天综合色hd | 动漫美女人物被黄漫小说 | 啊啊啊好爽在线观看 | 四虎永久视频 |