diff --git a/.project b/.project new file mode 100644 index 0000000..3a15e6c --- /dev/null +++ b/.project @@ -0,0 +1,23 @@ + + + vczero.github.io + + + + + + com.aptana.editor.php.aptanaPhpBuilder + + + + + com.aptana.ide.core.unifiedBuilder + + + + + + com.aptana.projects.webnature + com.aptana.editor.php.phpNature + + diff --git a/pic_upload.html b/pic_upload.html new file mode 100644 index 0000000..7cd0c80 --- /dev/null +++ b/pic_upload.html @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/react_native/1_1.png b/react_native/1_1.png new file mode 100644 index 0000000..9dee19e Binary files /dev/null and b/react_native/1_1.png differ diff --git a/react_native/1_2.png b/react_native/1_2.png new file mode 100644 index 0000000..07ab28a Binary files /dev/null and b/react_native/1_2.png differ diff --git a/react_native/2_1.png b/react_native/2_1.png new file mode 100644 index 0000000..e58b244 Binary files /dev/null and b/react_native/2_1.png differ diff --git a/react_native/2_2.png b/react_native/2_2.png new file mode 100644 index 0000000..5392c6b Binary files /dev/null and b/react_native/2_2.png differ diff --git a/react_native/2_3.png b/react_native/2_3.png new file mode 100644 index 0000000..b79dfb0 Binary files /dev/null and b/react_native/2_3.png differ diff --git a/react_native/第1篇Hello React-Native.md b/react_native/第1篇Hello React-Native.md new file mode 100644 index 0000000..e7fdd32 --- /dev/null +++ b/react_native/第1篇Hello React-Native.md @@ -0,0 +1,56 @@ +#React-Native入门指南 +##第一篇环境配置 & Hello World +###一、前言 + 最近手头的工作繁多,有研究性的项目和系统研发,正好遇到同事离职,接手了框架的UI组件,不仅需要维护和填坑,还需要开发新的功能组件。因为身在H5-Hybird的框架部门,最近团队开始尝试使用React-Native来做些东西。之前也有过开发iOS App的冲动,学了点Object-c,这次正好借此机会进入App开发,以弥补自己在Native-App上的经验不足。 + +###二、环境配置 + (1)需要一台Mac(OSX),这个是前提,建议还是入手一本啦。 + (2)在Mac上安装Xcode,建议Xcode 6.3以上版本 + (3)安装node.js:https://nodejs.org/download/ + (4)建议安装watchman,终端命令:brew install watchman + (5)安装flow:brew install flow + ok,按照以上步骤,你应该已经配置好了环境。 + +###三、Hello, React-Native + 现在我们需要创建一个React-Native的项目,因此可以按照下面的步骤: + 打开终端,开始React-Native开发的旅程吧。 + (1)安装命令行工具:sudo npm install -g react-native-cli + (2)创建一个空项目:react-native init HelloWorld + (3)找到创建的HelloWorld项目,双击HelloWorld.xcodeproj即可在xcode中打开项目。xcodeproj是xcode的项目文件。 + (4)在xcode中,使用快捷键cmd + R即可启动项目。基本的Xcode功能可以熟悉,比如模拟器的选择等。 + 启动完成后,你会看到React-Packger和iOS模拟器,具体的效果如下,说明你创建项目成功了。 +![Hello World](1_1.png) + +####四、改改HelloWorld + Xcode里面的代码目录结构暂时不用管了,打开HelloWorld项目文件夹,找到index.ios.js文件。 + index.ios.js文件就是React-Native JS 开发之旅的入口文件了。 先来个感性的认识,修改一 + 些文本,下一篇会解读里面的代码。用文本编辑器打开index.ios.js文件。 + (1)找到代码部分: + + Welcome to React Native! + + 修改成如下: + + React-Native入门学习 + + (2)找到代码 + welcome: { + fontSize: 20, + textAlign: 'center', + margin: 10, + }, + 修改成如下: + welcome: { + fontSize: 20, + textAlign: 'center', + margin: 10, + color: 'red', + }, + (3)有web开发经验的你,上面的修改你一定会体会到些什么。点击模拟器,cmd + R,刷新视图,会看到如下截图: +![Hello World Red Text](1_2.png) + +####四、恭喜你,万里长征已经走了1000步 + 如果有过web开发经验的你,一定觉得很容易理解和学习React-Native,所以这一小步也是一大步 + (1000步)。千里之行,始于此步。 + + diff --git a/react_native/第1篇hello react-native.html b/react_native/第1篇hello react-native.html new file mode 100644 index 0000000..554b1c6 --- /dev/null +++ b/react_native/第1篇hello react-native.html @@ -0,0 +1,228 @@ + + + + + + +React-Native入门指南 + + + +

React-Native入门指南

+ +

第一篇环境配置 & Hello World

+ +

一、前言

+ +
最近手头的工作繁多,有研究性的项目和系统研发,正好遇到同事离职,接手了框架的UI组件,不仅需要维护和填坑,还需要开发新的功能组件。因为身在H5-Hybird的框架部门,最近团队开始尝试使用React-Native来做些东西。之前也有过开发iOS App的冲动,学了点Object-c,这次正好借此机会进入App开发,以弥补自己在Native-App上的经验不足。
+
+ +

二、环境配置

+ +
(1)需要一台Mac(OSX),这个是前提,建议还是入手一本啦。
+(2)在Mac上安装Xcode,建议Xcode 6.3以上版本
+(3)安装node.js:https://nodejs.org/download/
+(4)建议安装watchman,终端命令:brew install watchman
+(5)安装flow:brew install flow
+ok,按照以上步骤,你应该已经配置好了环境。
+
+ +

三、Hello, React-Native

+ +
现在我们需要创建一个React-Native的项目,因此可以按照下面的步骤:
+打开终端,开始React-Native开发的旅程吧。
+(1)安装命令行工具:sudo npm install -g react-native-cli
+(2)创建一个空项目:react-native init HelloWorld
+(3)找到创建的HelloWorld项目,双击HelloWorld.xcodeproj即可在xcode中打开项目。xcodeproj是xcode的项目文件。
+(4)在xcode中,使用快捷键cmd + R即可启动项目。基本的Xcode功能可以熟悉,比如模拟器的选择等。
+启动完成后,你会看到React-Packger和iOS模拟器,具体的效果如下,说明你创建项目成功了。
+
+ +

Hello World

+ +

四、改改HelloWorld

+ +
Xcode里面的代码目录结构暂时不用管了,打开HelloWorld项目文件夹,找到index.ios.js文件。
+index.ios.js文件就是React-Native JS 开发之旅的入口文件了。 先来个感性的认识,修改一
+些文本,下一篇会解读里面的代码。用文本编辑器打开index.ios.js文件。
+(1)找到代码<Text></Text>部分:
+<Text style={styles.welcome}>
+      Welcome to React Native!
+</Text>
+修改成如下:
+<Text style={styles.welcome}>
+      React-Native入门学习
+</Text>
+(2)找到代码
+welcome: {
+    fontSize: 20,
+    textAlign: 'center',
+    margin: 10,
+},
+修改成如下:
+welcome: {
+    fontSize: 20,
+    textAlign: 'center',
+    margin: 10,
+    color: 'red',
+},
+(3)有web开发经验的你,上面的修改你一定会体会到些什么。点击模拟器,cmd + R,刷新视图,会看到如下截图:
+
+ +

Hello World Red Text

+ +

四、恭喜你,万里长征已经走了1000步

+ +
如果有过web开发经验的你,一定觉得很容易理解和学习React-Native,所以这一小步也是一大步
+(1000步)。千里之行,始于此步。
+
+ + \ No newline at end of file diff --git a/react_native/第2篇认识代码结构.html b/react_native/第2篇认识代码结构.html new file mode 100644 index 0000000..369b384 --- /dev/null +++ b/react_native/第2篇认识代码结构.html @@ -0,0 +1,262 @@ + + + + + + +第2篇代码结构 + + + +

第2篇代码结构

+ +

一、了解index.ios.js

+ +
大家都清楚,React-Native就是在开发效率和用户体验间做的一种权衡。React-native是使用JS开发,开发效率高、发布能力强,不仅拥有hybrid的开发效率,同时拥有native app相媲美的用户体验。目前天猫也在这块开始试水。
+用编辑器打开index.ios.js文件,分析代码结构:
+1、第一句:var React = require('react-native');有Node.js开发经验的同学都清楚,require可以引入其他模块。如果没有node.js开发经验的同学,可以脑补下java的import和c++的#include。
+2、第二句代码,批量定义组件:
+var {
+    AppRegistry,
+    StyleSheet,
+    Text,
+    View,
+} = React;
+其实,这只是一个语法糖而已,比如AppRegistry我们可以这样定义:var AppRegistry = React.AppRegistry;
+3、构建Heollo World入口类。React提供了React.createClass的方法创建一个类。里面的render方法就是渲染视图用的。return返回的是视图的模板代码。其实这是JSX的模板语法,可以提前学习下。
+4、相对于web开发,我们需要提供视图的样式,那么StyleSheet.create就是干这件事的,只是用JS的自面量表达了css样式。
+5、如何引入css样式?其实在render方法返回的视图模板里已经体现出来了,即style={styles.container}.其中style是视图的一个属性,styles是我们定义的样式表,container是样式表中的一个样式。
+6、注册应用入口,这个一定不能少,否则模拟器会提示报错:
+    AppRegistry.registerComponent('HelloWorld', () => HelloWorld);
+
+ +

二、其实你还需要看点这方面的知识

+ +
对于React-Native开发,仅仅有基础前端开发的知识是不够的,你还需要了解和掌握的有:
+
+ + + + +

三、目前需要关注的文件

+ +
1、目前阶段有几个文件时需要注意下的:
+(1)在xcode项目代码中AppDelegate.m会标识入口文件,例如:
+jsCodeLocation = [NSURL URLWithString:@"http://localhost:8081/index.ios.bundle"];
+如果是网上下载别人的源码,注意此处的ip和端口是否有被修改。
+(2)闪屏界面在哪修改?在xcode项目中找到LaunchScreen.xib文件,点击,你会看到界面,这个就是启动界面,你手动添加组件或者修改文本即可,最好了解下xcode的使用。
+(3)文本编辑器打开index.ios.js文件,是js代码的入口文件,所有的代码编写从这开始,可以定义自己的模块和引入第三方模块。
+
+ +

四、修改文件index.ios.js

+ +
1、修改启动界面,如下图
+
+ +

启动界面

+ +
2、添加图片和修改样式.我们在第一篇的demo基础上修改。去掉第二个和第三个<Text>,增加我们需要的图片,因为图片更具表达力,就像最近的图片社交应用很火一样。
+(1)添加Image组件,将代码修改成如下即可:
+var {
+    StyleSheet,
+    Text,
+    View,
+    Image,
+} = React;
+(2)将render返回中的模版增加Image组件视图,具体如下:
+render: function() {
+    return (
+        <View style={styles.container}>
+            <Text style={styles.welcome}>
+                React-Native入门学习
+            </Text>
+            <Image style={styles.pic} source={{uri: 'https://avatars3.githubusercontent.com/u/6133685?v=3&s=460'}}>
+            </Image>
+        </View>
+    );
+}
+其中,Image标签的source的第一个大括号是模板,第二个大括号是js对象,js对象里面有个key是uri,表示图片的地址。
+(3)修改图片视图的样式,删除多余的样式,增加pic样式:
+var styles = StyleSheet.create({
+    container: {
+        flex: 1,
+        justifyContent: 'center',
+        alignItems: 'center',
+        backgroundColor: '#F5FCFF',
+    },
+    welcome: {
+        fontSize: 20,
+        textAlign: 'center',
+        margin: 10,
+        color: 'red',
+    },
+    pic: {
+        width:100,
+        height:100,
+    }
+});
+(4)可以cmd + Q 停止模拟器,然后再cmd + R开启模拟器,你会发现启动界面和首页都你想要的样子:
+
+ +

首页

+ +

如果终端被关闭了怎么办

+ +
 不用担心,其实只要你切到项目的根目录,命令行输入npm start即可,这样即可开发终端监听。实际上也是node.js的监听服务开启而已。如下图表示成功。
+
+ +

npm start

+ + \ No newline at end of file diff --git a/react_native/第2篇认识代码结构.md b/react_native/第2篇认识代码结构.md new file mode 100644 index 0000000..aa9690c --- /dev/null +++ b/react_native/第2篇认识代码结构.md @@ -0,0 +1,87 @@ +#第2篇代码结构 +###一、了解index.ios.js + 大家都清楚,React-Native就是在开发效率和用户体验间做的一种权衡。React-native是使用JS开发,开发效率高、发布能力强,不仅拥有hybrid的开发效率,同时拥有native app相媲美的用户体验。目前天猫也在这块开始试水。 + 用编辑器打开index.ios.js文件,分析代码结构: + 1、第一句:var React = require('react-native');有Node.js开发经验的同学都清楚,require可以引入其他模块。如果没有node.js开发经验的同学,可以脑补下java的import和c++的#include。 + 2、第二句代码,批量定义组件: + var { + AppRegistry, + StyleSheet, + Text, + View, + } = React; + 其实,这只是一个语法糖而已,比如AppRegistry我们可以这样定义:var AppRegistry = React.AppRegistry; + 3、构建Heollo World入口类。React提供了React.createClass的方法创建一个类。里面的render方法就是渲染视图用的。return返回的是视图的模板代码。其实这是JSX的模板语法,可以提前学习下。 + 4、相对于web开发,我们需要提供视图的样式,那么StyleSheet.create就是干这件事的,只是用JS的自面量表达了css样式。 + 5、如何引入css样式?其实在render方法返回的视图模板里已经体现出来了,即style={styles.container}.其中style是视图的一个属性,styles是我们定义的样式表,container是样式表中的一个样式。 + 6、注册应用入口,这个一定不能少,否则模拟器会提示报错: + AppRegistry.registerComponent('HelloWorld', () => HelloWorld); + + +###二、其实你还需要看点这方面的知识 + 对于React-Native开发,仅仅有基础前端开发的知识是不够的,你还需要了解和掌握的有: +* Node.js基础 +* JSX语法基础 +* Flexbox布局 + +###三、目前需要关注的文件 + 1、目前阶段有几个文件时需要注意下的: + (1)在xcode项目代码中AppDelegate.m会标识入口文件,例如: + jsCodeLocation = [NSURL URLWithString:@"http://localhost:8081/index.ios.bundle"]; + 如果是网上下载别人的源码,注意此处的ip和端口是否有被修改。 + (2)闪屏界面在哪修改?在xcode项目中找到LaunchScreen.xib文件,点击,你会看到界面,这个就是启动界面,你手动添加组件或者修改文本即可,最好了解下xcode的使用。 + (3)文本编辑器打开index.ios.js文件,是js代码的入口文件,所有的代码编写从这开始,可以定义自己的模块和引入第三方模块。 + +###四、修改文件index.ios.js + 1、修改启动界面,如下图 +![启动界面](2_1.png) + + 2、添加图片和修改样式.我们在第一篇的demo基础上修改。去掉第二个和第三个,增加我们需要的图片,因为图片更具表达力,就像最近的图片社交应用很火一样。 + (1)添加Image组件,将代码修改成如下即可: + var { + StyleSheet, + Text, + View, + Image, + } = React; + (2)将render返回中的模版增加Image组件视图,具体如下: + render: function() { + return ( + + + React-Native入门学习 + + + + + ); + } + 其中,Image标签的source的第一个大括号是模板,第二个大括号是js对象,js对象里面有个key是uri,表示图片的地址。 + (3)修改图片视图的样式,删除多余的样式,增加pic样式: + var styles = StyleSheet.create({ + container: { + flex: 1, + justifyContent: 'center', + alignItems: 'center', + backgroundColor: '#F5FCFF', + }, + welcome: { + fontSize: 20, + textAlign: 'center', + margin: 10, + color: 'red', + }, + pic: { + width:100, + height:100, + } + }); + (4)可以cmd + Q 停止模拟器,然后再cmd + R开启模拟器,你会发现启动界面和首页都你想要的样子: + ![首页](2_2.png) + +###如果终端被关闭了怎么办 + 不用担心,其实只要你切到项目的根目录,命令行输入npm start即可,这样即可开发终端监听。实际上也是node.js的监听服务开启而已。如下图表示成功。 + ![npm start](2_3.png) + + + \ No newline at end of file