如果你爱她,就应该学习React Native,如果你恨她,你也应该学习React Native
但凡经历过跨平台移动应用开发的开发者都会有一种无赖的感觉—把同一套UI界面、业务逻辑在不同的平台上各实现一遍实在是耗时耗力而又没有什么创新的工作。多年以来,业内很多专家都会希望能将多个移动平台上的应用开发统一到同一个框架下。但这些尝试因为不能做到最好的“原生体验”而不被开发者认同。
15年,Facebook公司的一帮天才工程师终于推出了React Native,测底解决了这个问题。不仅如此,Facebook公司还开源了整个项目,让更多的移动应用开发者能参与React Native的演进过程,并在给自己的移动应用开发中使用React Native进行跨平台移动应用开发。
二、三年前,国内经历了一段iOS开发人员奇缺的时间,毫无疑问,马上国内会面临React Native开发人员短缺的情况。你还在犹豫什么呢?
育知同创React Native公开课/录播课/V1.0
第一部分 基础语法篇
初识React Native(Learn once, Write anywhere)
为什么学习React Native
React Native开发特点
如何学习React Native
React Native开发环境配置
代码编辑环境搭建
React Native Dev tool安装
Android Studio环境安装以及配置
Xcode安装
如何初始化一个React Native项目
如何将React Native项目运行在Android和iOS上
如何调试
如何通过盒子模型实现简单布局
HTML标签简单介绍
CSS的使用
盒子模型深入讲解
display,position,float属性讲解
如何通过盒子模型实现传统布局
flexbox布局
flexbox和盒子模型对比介绍
伸缩容器属性案例剖析
display
flex-direction
flex-wrap
flex-flow
justify-content
align-items
align-content
伸缩项目属性
order
flex-grow
flex-shrink
flex-basis
flex
align-self
React中的JSX
JSX入门
JSX实战之ReactJS
JSX实战之React Native
第二部分 ECMAScript
第三部分 API和组件篇
View组件和Text组件
View组件的颜色和边框
View组件的阴影与其他视觉效果
View组件的变形
View组件的回调函数
View组件的其他属性
设备放置状态、根View与onLayout回调函数
pointerEvents属性
案例:九宫格实战
Text组件
样式键设置
其他属性
Text组件的嵌套
文本显示的阴影效果
Text居中显示
图文混排
Text组件在两个平台上的不同表现
Image组件
加载网络图片
加载静态图片资源
加载资源文件中的图片
动态加载手机中的图片资源
Image组件的样式
Image组件的显示特性
Image其他属性
TextInput组件(上)
TextInput组件样式键
TextInput组件的属性
TextInput组件在iOS平台的专有属性
TextInput组件在Android平台的专有属性
TextInput组件的成员函数
TextInput组件在两个平台上的不同表现
TextInput组件的生命周期与组件的引用(中)
获得焦点
用户输入
用户按下提交键
失去焦点
软键盘与键盘事件
定义组件引用
得到系统定义的组件引用
调用组件的公开成员函数
重新设定组件的属性
获得组件的位置
TextInput实践(下)
案例:自增长的TextInput组件扩展
案例:搜索自动提示
跨平台状态栏组件
StatusBar组件属性
StatusBar组件使用实例
手机状态栏在开发中的处理
StatusBarIOS API
ScrollView和ListView(上)
ScrollView组件属性
ScrollView组件iOS平台专有属性
ScrollView组件Android平台专有属性
ScrollView组件的公开成员函数
RefreshControl组件
ScrollView组件基本用法
ListView组件的回调函数
ListView组件的其他函数
ListView组件的成员函数
ScrollView和ListView(中)
列表的数据源
声明状态机变量
将数据源中的数据拷贝到DataSource中
定义如何渲染列表中的每一行
实现简单的列表
列表高度处理
ScrollView和ListView(下)
数据源
声明状态机变量
将数据源中的数据拷贝到DataSource中
定义如何渲染每个分栏
定义如何渲染首、尾栏
列表间隔渲染
实现带分段标志的列表
ProgressBarAndroid组件
ProgressBarAndroid组件样式设置
ProgressBarAndroid其他属性
Android平台等待指示条
React Native框架中定时器的使用
Android平台进度条
iOS进度条组件/iOS平台等待指示器
ProgressViewIOS组件样式设置
ProgressViewIOS其他属性
iOS平台进度条
ActivetyIndicatorIOS组件样式设置
ActivetyIndicatorIOS其他属性
iOS平台ActivetyIndicatorIOS案例
Switch组件
Switch组件样式设置
Switch其他属性
Switch组件的使用
NavigatorIOS/Navigator组件
NavigatorIOS/Navigator介绍
导航组件的属性
回调函数
其他属性
导航器
NavigationBar的使用
案例:列表页跳转详情页
案例:正向反向传值
可触摸组件
可触摸组件类型
TouchableHighlight组件
TouchableOpacity组件
TouchableWithoutFeedback组件
其他属性
手势识别
PanTesponder API
监视器
监视事件的声明周期
案例:单点手势-拖动选择百分比参数
案例:单点手势-带导槽的华东来电接听或拒接界面
案例:单点手势-滑动解锁界面
案例:单点手势-单点任意方向拉动选择界面
双点触摸
TabBarIOS
TabBarIOS组件介绍
案例:类微信Tab切换
WebView组件
WebView组件样式设置
非回调函数属性
回调函数属性
平台独有属性
WebView组件成员函数
案例:加载微博页面
案例:加载本地网页
案例:Github OAuth认证
选择器
DatePickerAndroid API
TimePickerAndroid API
DatePickerIOS组件
Picker组件的样式设置
Picker组件的属性
Picker.Item组件属性
Picker案例
PickerIOS
MapView组件
MapView组件样式设置
MapView组件特有的跨平台属性
MapView案例剖析
Geolocation (定位)
常用API(上)
AppRegistry属性
AppRegistry示例
AsyncStorage介绍
案例:购物车
AlertIOS介绍
AlertIOS组件应用
ActionSheetIOS介绍
ActionSheetIOS应用
PixelRatio介绍
PixelRatio应用
常用API(中)
AppStateIOS介绍
AppStateIOS应用
NetInfo介绍
NetInfo应用
VibrationIOS (微信摇一摇)
数据请求之XMLHttpRequest
数据请求之Fetch
图片的遍历、存取和显示
React Native开发中iOS平台链接库的使用
获取手机中所有的图片信息
Android平台图片信息
iOS平台图片信息
显示从CameraRoll API得到的图片
为用户提供图片选择界面
保存图片数据
读取并显示图片
组件封装
二级菜单封装
日历封装
开源组件
组件生命周期
数据存储
日记项目实战
网络
获取网络状态
通过HTTP、HTTPS与网络侧交换数据
在React Native开发中使用AJAX技术
第四部分 混合开发基础篇
iOS平台混合开发
为什么需要混合开发
与iOS侧原生代码消息互通
React Native代码到iOS原生代码的消息
iOS代码到React Native代码的消息
与iOS OC原生代码界面的切换
应用初使界面设定
iOS混合开发中传递的参数类型
混合开发中的多线程使用
原生代码实现Promise机智
跨语言常量
Android平台混合开发
与Android原生代码消息互通
React Native代码到Android原生代码的消息
Android代码到React Native代码的消息
与Android原生代码界面的切换
应用初使界面设定
Android混合开发中传递的参数类型
回调函数和Promise机制
监听ActivityResult与Android生命周期时间
混合开发中多线程的使用
跨语言常量
第五部分 混合开发高级篇
混合开发高级篇(上)
使用Objective-C语言创建私有的React Native组件
混合开发高级篇(中)
使用Swift语言创建私有的React Native组件
混合开发高级篇(下)
使用Android SDK语言创建私有的React Native组件
第六部分 项目实战篇
企业内部通讯录应用开发
YZGithub
高仿拉勾网
第七部分 项目配置、发布、更新篇
iOS平台项目配置
iOS平台项目发布
Andoroid平台项目配置
Android平台应用生成发布版本安装包
生成发布秘钥
修改gradle配置文件
生成发布版本安装包
热更新
初始化设置
更新逻辑
回滚策略