欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

React Native搭建iOS開(kāi)發(fā)環(huán)境

 更新時(shí)間:2016年09月06日 15:08:57   投稿:daisy  
React Native的門檻不管是對(duì)于前端開(kāi)發(fā)者還是移動(dòng)端開(kāi)發(fā)者來(lái)說(shuō)都是很高的,既要懂原生又要懂js,技術(shù)棧是相當(dāng)長(zhǎng)的。但是沒(méi)有關(guān)系,下面我們一步步來(lái)學(xué)習(xí),慢慢成長(zhǎng)吧!

一、寫(xiě)在前面

1. 什么是React-Native?

React-Native是:Facebook 在2015年初React.js技術(shù)研討大會(huì)上公布的一個(gè)開(kāi)源項(xiàng)目。支持用開(kāi)源的JavaScript庫(kù)React.js來(lái)開(kāi)發(fā)iOS和Android原生App。初期僅支持iOS平臺(tái),同年9月份,該開(kāi)源項(xiàng)目同時(shí)支持Android平臺(tái)。

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

2.React-Native有啥優(yōu)缺點(diǎn)?

優(yōu)點(diǎn)是:能夠用JavaScript腳本就可以寫(xiě)出App的界面,對(duì)從事Web開(kāi)發(fā)的同事們轉(zhuǎn)行做幾個(gè)簡(jiǎn)單的移動(dòng)App是個(gè)福利。不用為了寫(xiě)個(gè)移動(dòng)App小程序而專門去學(xué)習(xí)Objective-C和Swift。

和其他的移動(dòng)Web框架相比:

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

      Native的原生控件有更好的體驗(yàn);

      Native有更好的手勢(shì)識(shí)別;

      Native有更適合的線程模型;

缺點(diǎn)是:還在試用階段,潛在的問(wèn)題尚不得而知:兼容性問(wèn)題,性能問(wèn)題等。還沒(méi)大量普及,學(xué)習(xí)資料尚且不多,供愛(ài)折騰的朋友嘗嘗鮮?! ?br />

3.要學(xué)些什么?

想必,大家已經(jīng)按耐不住,會(huì)發(fā)問(wèn),使用React-Native開(kāi)發(fā)要學(xué)習(xí)些什么呢?

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

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

      JSX: JavaScript語(yǔ)法的一個(gè)擴(kuò)展,類似XML結(jié)構(gòu)。https://facebook.github.io/react/docs/jsx-in-depth.html

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

二、React Native基礎(chǔ)環(huán)境搭建

1、安裝Homebrew

打開(kāi)終端輸入:

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

2、安裝nvm方法

通過(guò)腳本安裝方式,在終端執(zhí)行:

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

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

. ~/.nvm/nvm.sh

3、默認(rèn)安裝最新版本的Node.js并且設(shè)置好命令行的環(huán)境變量

nvm install node && nvm alias default node

可以輸入node命令啟動(dòng)Node.js環(huán)境

4、安裝watchman

在終端輸入:

 brew install watchman

到此處React Native基礎(chǔ)環(huán)境搭建基本完成,推薦經(jīng)常運(yùn)行brew update && brew upgrade命令保持你的程序是最新的。

三、iOS開(kāi)發(fā)環(huán)境

1、iOS開(kāi)發(fā)環(huán)境: (默認(rèn)讀者已經(jīng)安裝Xcode7.0或以上版本,沒(méi)有可自行前往AppStore下載)

使用npm(node包管理工具)安裝react-native-cli(此處應(yīng)注意權(quán)限問(wèn)題,如果遇到權(quán)限問(wèn)題,請(qǐng)?jiān)谙旅娴拿钋凹由蟬udo)

npm install -g react-native-cli

初始化工程(下面的語(yǔ)句中千萬(wàn)不要加sudo,后果自負(fù))

react-native init ReactNativeProject(工程名)

在初始化的過(guò)程中,如果進(jìn)度緩慢,推薦你將npm倉(cāng)庫(kù)源換成國(guó)內(nèi)鏡像:(翻墻用戶請(qǐng)忽略) 在終端輸入:

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

2、使用Xcode運(yùn)行調(diào)試程序

查找ReactNativeProject文件目錄

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

運(yùn)行ReactNativeProject工程

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

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

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

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

/**
 * 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',
 },
 //這里可以設(shè)置文本的字體,對(duì)齊方式等
 welcome: {
 fontSize: 20,
 textAlign: 'center',
 margin: 10,
 },
 //新增圖片style,設(shè)置圖片大小
 picture: {
 width: 80,
 height: 150,
 },
});

AppRegistry.registerComponent('ReactNativeProject', () => ReactNativeProject);

刷新后運(yùn)行效果如下圖所示:

真機(jī)運(yùn)行調(diào)試項(xiàng)目

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

// jsCodeLocation = [NSURL URLWithString:@"http://localhost:8081/index.ios.bundle?platform=ios&dev=true"];

 jsCodeLocation = [NSURL URLWithString:@http://192.168.31.168:8081/index.ios.bundle?platform=ios&dev=true];

替換完成之后再次運(yùn)行程序,這個(gè)時(shí)候可以通過(guò)搖晃設(shè)備喚出開(kāi)發(fā)菜單。

禁用開(kāi)發(fā)菜單

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

總結(jié)

好了,看到這里,如果你已經(jīng)成功配置了React-Native的環(huán)境,并且新建并成功運(yùn)行了第一個(gè)程序了。那么,就先恭喜了,我們甚至沒(méi)有寫(xiě)一行代碼,就已經(jīng)成功運(yùn)行了第一個(gè)React-Native的程序,是不是還挺簡(jiǎn)單的。正所謂,良好的開(kāi)端是成功的一半。如果有問(wèn)題大家可以留言交流。

相關(guān)文章

  • iOS 高德地圖仿微信發(fā)送實(shí)時(shí)位置

    iOS 高德地圖仿微信發(fā)送實(shí)時(shí)位置

    這篇文章主要介紹了iOS 高德地圖仿微信發(fā)送實(shí)時(shí)位置,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-03-03
  • iOS ScrollView嵌套tableView聯(lián)動(dòng)滾動(dòng)的思路與最佳實(shí)踐

    iOS ScrollView嵌套tableView聯(lián)動(dòng)滾動(dòng)的思路與最佳實(shí)踐

    這篇文章主要給大家介紹了關(guān)于ScrollView嵌套tableView聯(lián)動(dòng)滾動(dòng)的思路與最佳實(shí)踐,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)各位iOS開(kāi)發(fā)者們具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • iOS自定義UIScrollView的滾動(dòng)條實(shí)例代碼

    iOS自定義UIScrollView的滾動(dòng)條實(shí)例代碼

    本篇文章主要介紹了iOS自定義UIScrollView的滾動(dòng)條實(shí)例代碼,詳細(xì)的介紹了自定義滾動(dòng)條的示例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。
    2017-03-03
  • iOS中如何判斷當(dāng)前網(wǎng)絡(luò)環(huán)境是2G/3G/4G/5G/WiFi

    iOS中如何判斷當(dāng)前網(wǎng)絡(luò)環(huán)境是2G/3G/4G/5G/WiFi

    這篇文章主要給大家介紹了關(guān)于iOS中如何判斷當(dāng)前網(wǎng)絡(luò)環(huán)境是2G/3G/4G/5G/WiFi的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)各位iOS開(kāi)發(fā)者們具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • 詳解IOS宏與常量的使用(define,const)

    詳解IOS宏與常量的使用(define,const)

    這篇文章主要介紹了詳解IOS宏define與常量const的使用方法,適合IOS程序員參考,一起來(lái)學(xué)習(xí)下。
    2017-12-12
  • iOS去除Webview鍵盤(pán)頂部工具欄的方法

    iOS去除Webview鍵盤(pán)頂部工具欄的方法

    這篇文章主要給大家介紹了關(guān)于iOS去除Webview鍵盤(pán)頂部工具欄的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)各位iOS開(kāi)發(fā)者們具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • IOS中內(nèi)存管理那些事

    IOS中內(nèi)存管理那些事

    這篇文章主要介紹了IOS中內(nèi)存管理那些事的相關(guān)資料,需要的朋友可以參考下
    2015-11-11
  • iOS UIBezierPath實(shí)現(xiàn)餅狀圖

    iOS UIBezierPath實(shí)現(xiàn)餅狀圖

    這篇文章主要為大家詳細(xì)介紹了iOS UIBezierPath實(shí)現(xiàn)餅狀圖,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-03-03
  • fastlane自動(dòng)化打包iOS APP過(guò)程示例

    fastlane自動(dòng)化打包iOS APP過(guò)程示例

    這篇文章主要為大家介紹了fastlane自動(dòng)化打包iOS APP的過(guò)程示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-07-07
  • iOS下拉、上拉刷新控件的封裝

    iOS下拉、上拉刷新控件的封裝

    這篇文章主要為大家詳細(xì)介紹了iOS下拉、上拉刷新控件的封裝,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-04-04

最新評(píng)論