背景
大前端当下内卷愈演愈烈,各种技术风起云涌,无数小伙伴感慨「学不过来了!」。在我们身边也经常会看到各种焦虑,传统的安卓IOS单端开发竞争力越来越弱,互联网追求的短平快新让原生开发者感到压力山大,移动端开发和前端开发是两套完全不同的技术栈,这对很多原生开发者来说想踏足前端领域变得非常困难。甚至有人想往大前端全栈路线发展,但不知从何处下手。
现状
想系统学习下跨平台技术,互联网上多数教程要么只言片语,浅尝辄止,要么技术老旧,不再适用,很多人都希望有一套紧跟当前时代,全面系统的跨平台教程。
在当前诸多跨平台技术之中,ReactNative尤其收到追捧,一方面因为其快速高效的开发模式,迎合了现在互联网公司追求短平快、高人效的需求,另一方面是因为ReactNative基于React,和Web、小程序打通一套技术栈,后期非常方便迈向大前端全栈,是一个高性价比、高可用性的技术选型。
课程特色
本套课程将通过18个章节,全面、详尽、由浅入深地学习ReactNative各项开发技术。在内容上包含:环境搭建、系统组件、系统Api、动画系统、TypeScript、Context、HOC高阶组件、Memo、Ref转发、桥接原生等模块,在数量上包含:18个章节、150个小节、30+小时课时、数千行手敲代码、大小2个实战项目。完成本套课程的学习,将具备独立参与大型项目开发能力;并通过ReactNative间接获得React、小程序等全栈扩展能力,实现自身价值突破。
视频介绍
课程大纲
第一章:课程介绍-把握整套课程知识结构和大纲
1.1 课程大纲介绍,从整体上了解本套课程的学习内容
1.2 课程知识导图展示,从框架上把握课程知识结构
1.3 课程代码,及资料下载方法
第二章:学前准备-了解ReactNative优势和本套课程的学习目标
2.1 跨平台的优势和机遇,在移动端内卷的当下,只有跨平台才能破局重生
2.2 各种跨平台方案的百家争鸣
2.3 ReactNative和Flutter的比较,客观比较两者优缺点,从需选择
2.4 学习ReactNative的优势,增强学习本套课程的信心
2.5 ReactNative大厂级应用
2.6 本套课程的学习目标
第三章:开发环境搭建和demo运行-为正式学习做好前期准备
3.1 开发环境介绍:JS端环境+Native端环境
3.2 安装node
3.3 安装watchman
3.4 安装VSCode
3.5 安装AndroidStudio
3.6 安装sdk platform和sdk tools
3.7 基于AndroidStudio创建安卓模拟器
3.8 以及针对m1平台创建安卓模拟器的解决方法(新)
3.9 使用cli命令创建ReactNative工程,并启动运行
第四章:为“原生开发”同学补充前端基础-掌握前端开发必备知识
4.1 学习js的基本使用,了解如何申明变量、函数、以及js的一些基本特性
4.2 了解什么是ES5、ES6,掌握ES6常用的一些方法
4.3 了解什么是babel以及常见的配置
4.4 学习CSS-flex布局基础,为后面正式学习rn布局打下基础
4.5 npm是什么,npm库如何检索、安装和卸载
4.6 使用nrm管理npm源
第五章:为“前端开发”同学补充原生基础-掌握原生开发必备概念
5.1 以安卓为例,学习如何连接设备,以及开发中常用的adb命令
5.2 以安卓为例,了解移动端应用的ui结构
5.3 以安卓为例,讲解RN开发中经常会涉及到的原生文件
5.4 了解RN组件和原生组件的对应关系
5.5 原生开发语言的选择,Android: Java/Kotlin,IOS: OC/Swift
5.6 移动端应用的版本发布以及主流的应用市场
5.7 移动端特有的生产热修复机制和应用场景
5.8 移动设置的版本兼容选择
第六章:React基础知识和工程结构-掌握核心文件的用法和职能
6.1 工程目录结构介绍,了解每个文件的作用和职责
6.2 构建通用源码目录结构,好的工程先从模块划分开始
6.3 package.json全局大管家文件
6.4 export和import语句,三种导入导出类型
6.5 class组件的标准写法和生命周期
6.6 函数式组件的优势和常用hook使用方法(新)
6.7 JSX语法:高效开发源自于此
6.8 计数器ui练习:简单的应用,为下一章详细学习做准备
6.9 作业:独立完成简易计时器功能
第七章:系统组件精讲-全面掌握系统组件的使用方法以及多种属性
7.1 章节介绍:全面学习系统组件,详解每一个组件的用法
7.2 View:ui构建的基石,一切页面的起点
7.3 Text:使用占比最高的ui组件,使用简单,深入复杂
7.4 通过Image组件构建精美ui
7.5 ImageBackground:View和Image的结合体
7.6 强大的TextInput,唯一且强大的输入组件
7.7 TouchableOpacity:最好用的点击组件
7.8 TouchableHighlight:效果丰富的点击组件,但使用略显麻烦
7.9 TouchableWithoutFeedback:几乎不用的点击组件
7.10 Button:使用简单但样式固定
7.11 强大的Pressable,帮你实现复杂的交互效果(新)
7.12 ScrollView:基础滚动组件,快速实现列表渲染
7.13 FlatList:一个高性能的列表组件
7.14 通过学习SectionList,实现复杂的多分组列表
7.15 RefreshControl:下拉刷新神器
7.16 使用Modal实现不同样式的自定义弹窗(新)
7.17 状态栏适配的难题交给StatusBar
7.18 Switch:开关切换,一行搞定
7.19 作业:独立完成两数相加计算功能
第八章:夯实基础-常用api-深刻理解RN核心api的功能
8.1 章节介绍:全面学习系统api,详解每一个api的用法场景
8.2 Alert和console:你不知道的调试小技巧
8.3 Dimensions/useWindowDimensions:获取屏幕信息
8.4 使用Platform类轻松获取平台属性
8.5 StyleSheet构建灵活组件样式
8.6 Linking:一个api帮你省掉50行代码
8.7 PixelRatio:像素比例工具
8.8 BackHandler:针对安卓返回键的适配不再是难题
8.9 PermissionAndroid:轻松解决原生动态权限问题
8.10 Vibration:简单好用的震动交互
8.11 ToastAndroid:安卓平台的提示工具
8.12 Transform:矩阵变换的伪3D效果
8.13 Keyboard:键盘操作有神奇
8.14作业:每个api练习一遍
第九章:动画系统-全面掌握RN动画所有技巧,挑战90%动画效果
9.1 简单示例学习基础动画方法
9.2 四大动画类型的使用
9.3 六中支持动画的系统组件
9.4 平移动画的多种属性支持
9.5 Animated.decay衰减动画函数
9.6 Animated.spring弹动动画函数
9.7 Animated.timing时间动画函数
9.8 Animated.ValueXY矢量动画
9.9 四种组合动画
9.10 解决跟随动画延迟难题
9.11 解决自定义Modal背景动画难题
9.12 LayoutAnimation:超级简单又好用的布局动画
9.13 课后作业练习
9.14 本章小结
9.15 作业:独立完成添加购物车动画
第十章:小试牛刀-练习项目,账号密码本-巩固强化基础阶段知识
10.1 练习项目账号管理,演示与分析
10.2 初始化项目和页面框架
10.3 自定义封装添加账号弹窗
10.4 使用UUID和AsyncStorage保存账号数据
10.5 绘制账号列表ui
10.6 账号列表实现展开收起功能
10.7 添加账号后实时刷新列表
10.8 实现账号列表细节交互
10.9 项目打包发布
10.10 本章小结
10.11 作业:独立完成账号密码本
第十一章:练兵场-TypeScript快速进阶-掌握企业级开发的必备利器
11.1 TypeScript介绍和自身优势,企业级开发中的必备利器
11.2 TypeScript安装和项目配置
11.3 number、string、boolean三大基础类型
11.4 数组、元组、枚举类型的使用
11.5 联合类型和字面量
11.6 函数类型
11.7 类型文件和命名空间
11.8 课后作业和本章总结
11.9 作业:复习每个TS类型及使用方法
第十二章:进阶学习-Context上下文-深刻理解解耦的精髓
12.1 Context上下文介绍和演示
12.2 Context上下文实例开发:应用主题配置
12.3 Context上下文内容小结
12.4 作业:使用Context传递登陆信息
第十三章:进阶学习-HOC高阶组件-强大的解耦和封装技巧
13.1 HOC高阶组件介绍
13.2 高阶组件案例演示1:Hack渲染函数
13.3 高阶组件案例演示2:Hack生命周期
13.4 课后作业和本章小结
13.5 作业:独立实现一个首页弹窗模块高阶组件
第十四章:高手必学-memo与性能优化-几种必备memo技巧
14.1 函数式组件和Class组件拦截多余渲染的方法
14.2 使用useMemo缓存计算结果
14.3 使用useMemo缓存ui以及useCallback缓存回调函数
14.4 hermes引擎的开启,提升启动速度、压缩包体积(新)
14.5 课后作业和本章小结
第十五章:高手必学-ref转发-具备更强的自定义组件能力
15.1 ref转发案例演示1:外层操作原始组件
15.2 ref转发案例演示1:对外暴露api
15.3 课后作业和本章小结
15.4 作业:独立实现一个函数式组件
第十六章:高手必学-桥接原生-精通4种桥接方式
16.1 桥接原生介绍及常见的应用场景
16.2 桥接原生实现js层调用原生方法
16.3 桥接原生实现js层获取原生常量(同步获取)
16.4 桥接原生原子组件:实现原生组件
16.5 桥接原生原子组件:JS层调用原生组件
16.6 桥接原生原子组件:封装原生组件属性
16.7 桥接原生原子组件:原生事件回调JS层
16.8 桥接原生原子组件:JS层调用原生api
16.9 桥接原生容器组件
16.10 课后作业和本章总结
16.11 作业:独立实现两个原生组件
第十七章:实战项目-高仿商业级小红书App
17.1 初体验使用小红书App,梳理应用的使用流程和核心页面,明确实战项目仿写功能以及达成目标
17.2 需求分析,整理项目中会用到的技术点,构思实现方案或者寻找第三方库支持,模拟企业级开发中技术方案评审流程
17.3 任务拆分,并开始初始化工程,搭建应用框架,完成基础配置和部分三方库引入
17.4 使用flex布局和多种组件实现欢迎页面和登陆页面
17.5 使用slice函数实现登陆页面手机号码分段显示格式
17.6 使用Linking系统api快速实现H5协议查看功能
17.7 使用async-storage实现登陆信息的存储和自登陆流程
17.8 使用react-anvigation构建BottomTab主页
17.9 自定义首页标题栏,实现切换Tab动画笑话
17.10 封装首页标题栏为独立组件,定义Props和事件回调
17.11 使用自定义Modal技术,封装滚动频道选择器实现联动切换效果
17.12 使用FlatList实现首页列表渲染
17.13 使用SectionList构建“我的日常”页面,并自定页面跳转动画
17.14 使用StatusBar实现状态栏模式动态切换
17.15 监听页面滚动距离,实现滚动渐隐渐显效果
17.16 使用LinearGraident组件实现精美的线性渐变按钮效果
17.17 用巧妙的方法实现横向瀑布流布局
17.18 自定义“购物”页面标题栏组件,实现神奇的搜索框无缝切换效果
17.19 实现顶部品牌轮播组件
17.20 使用flex-wrap实现自动换行伸缩布局
17.21 使用FlatList实现商品列表
17.22 使用FlatLIst构建“消息页面”
17.23 SectionList构建“我的”页面,利用SectionHeader和ListHeader渲染头部
17.24 使用Animated.Image实现顶部头像滚动出现动画
17.25 巧用“高阶组件HOC”解偶侧拉菜单的实现
17.26 如何实现滑动Tab切换?react-navigation来帮忙
17.27 如何更高效的背景渐变?还有setNativeProps这个高招
17.28 使用SectionList巧妙构建“文章详情”页
17.29 如何实现评论区的二级评论,有一个简单的方法
17.30 巧妙实现点赞按钮的心跳动效
17.31 退出登陆流程打同,应用生命周期闭环
17.32 介绍两个RN热修复方案:CodePush和Pushy
17.33 选择Pushy作为方案,在项目中集成
17.34 修改原生端项目打包,构建生产发布版本,并发布Pushy平台
17.35 在项目中实现补丁加载流程,并发布补丁,测试是否修复成功
17.36 项目收尾,整理代码和模块
17.37 作业:跟随教程独立完成整个项目的开发
第十八章:课程总结
18.1 课程内容回顾
18.2 关键知识点总结
18.3 后续学习建议