课程大纲
介绍
第 1 周:概述 Mobile Development
- 移动生态系统和平台
- 移动操作系统概述(iOS 和 Android)
- iOS、Android 和跨平台开发之间的主要区别
- 热门应用商店(Apple App Store、Google Play Store)
- 原生、混合和跨平台开发简介
- 原生 vs 混合 vs 跨平台
- 每种开发方法的优点和挑战
- Swift(针对 iOS)、Kotlin(针对 Android)和 React 原生(跨平台)概述
- 代码如何转换为移动平台(React Native 中的 JavaScript to native code)
- Programming 基本原理
- 程式设计概念简介(变数、数据类型、函数、控制流)
- Swift、Kotlin 和 Java 脚本语法的比较
- 使用 Swift、Kotlin 和 JavaScript 编写简单的程式
- 设置开发环境
- 安装 Xcode 和 Android Studio
- 设置 React 本机 CLI 和 Expo
- 在模拟器和模拟器上运行基本的 “Hello World” 应用程式
第 2 周:Swift、Kotlin 和 JavaScript 简介
- Swift Programming 代表 iOS
- Swift 中的变数、常量和数据类型
- 控制流语句 (
if
,switch
, loops) - Swift 中的函数和参数
- Xcode 的介面和 Swift Playground 简介
- Kotlin Programming 代表 Android
- Kotlin 中的变数、数据类型和函数
- 理解 Kotlin 的 null 安全性
- 控制流和循环结构
- Android Studio 介面和 Kotlin Playground 简介
- Java适用于 React 本机的脚本
- JavaScript 中的变数、常量和控制流
- ES6 功能:箭头函数、范本文字和解构
- 使用 Expo 在 React Native 中编写和运行基本的 JavaScript 程式
第3周:iOS 使用者介面设计
- UI Elements 在 iOS 中
- UIKit 和 SwiftUI 简介
- 添加和自定义UI元素,如按钮、标签和文字栏位
- 使用 Interface Builder 设计 UI
- 使用 Storyboard 和设计多萤幕 UI
- 自动布局和约束
- 了解 Auto Layout 系统
- 对不同萤幕尺寸的响应式布局使用约束
- 创建堆叠检视和动态调整UI元素
- SwiftUI 基础知识
- SwiftUI 中的声明式 UI 设计简介
- 使用 SwiftUI 构建简单的UI元件
第 4 周:Android 使用者介面设计
- XML Android 中的布局
- 基于 XML 的布局设计简介
- 使用常见布局:LinearLayout、RelativeLayout、ConstraintLayout
- 添加和自定义UI元素:按钮、文字检视、图像检视
- 将 ConstraintLayout 用于回应式和动态布局
- Material Design
- 集成 Material Design 原则(颜色、图示、排版)
- 使用 Material 元件(按钮、浮动操作按钮、卡片)
- 为 Android 应用程式实现主题和样式
第 5 周:React 原生使用者介面设计
- React 原生 Flexbox 布局
- 了解用于响应式布局设计的 Flexbox
- 创建基于列和行的布局
- 使用 Flexbox 属性(justifyContent、alignItems 等)设置 UI 元件的样式
- React 原生元件
- 使用核心元件(如
Text
、View
TextInput
、 和 )Button
- 创建互动式UI元素,例如表单和按钮
ScrollView
将元件用于动态内容
- 使用核心元件(如
第 6 周:iOS 和 Android 中的数据处理
- iOS 数据处理
- 使用 UserDefaults 实现简单的数据持久性
- Core Data 复杂数据本地存储介绍
- 使用 URLSession 从 API 获取数据
- 解析 JSON 资料并在 UI 中显示
- Android 数据处理
- 使用 SharedPreferences 存储少量数据
- 用于管理资料库的 SQLite 和 Room 持久化库简介
- 使用 Retrofit 从 API 获取数据
- 解析 JSON 并处理 API 回应
第 7 周:React Native State Management 和 API
- React Native 中的 State 和 Props
- 在 React 本机组件中管理数据流
- 使用
useState
hook管理本地元件状态 - 通过 props 在父元件和子元件之间传递数据
- 在 React 本机中获取数据
- 使用 Fetch API 和 Axios 发出 HTTP 请求
- 在清单中显示取得的资料(使用
FlatList
,SectionList
) - 使用 React Native 中的 AsyncStorage 在本地持久保存数据
第 8 周:在 iOS 和 Android 中导航
- iOS 导航
- 导航控制器和管理多个萤幕简介
- 使用 segue 在检视控制器之间转换
- 在检视控制器之间传递数据
- 实现 TabBar 和 NavigationBar 以进行结构化导航
- Android 导航
- 使用多屏应用程式的 Activities 和 Intent
- 使用 Bundle 在 Activities 之间传递数据
- 创建 Navigation Drawer 和 BottomNavigationView
- 实现 fragment 以实现灵活的 UI 导航
第9周:在 React Native 中导航
- React 导航基础
- 安装和设置 React 导航
- 使用 Stack Navigator 进行萤幕转换
- 实现 Tab Navigator 和 Drawer Navigator 以进行复杂导航
- 在介面之间传递参数和管理导航状态
第 10 周:高级功能
- iOS 高级功能:
- 核心位置和地图
- Access使用 Core Location 设置设备位置
- 使用 MapKit 显示地图
- 处理地理位置和使用者位置跟踪
- 相机和媒体
- Accessing 设备相机和照片库
- 使用UIImagePickerController捕获和显示图像
- 存储和检索媒体档
- 核心位置和地图
- Android 高级功能
- 位置和地图
- 使用 Google Maps API 显示地图和使用者位置
- Access获取 GPS 数据和处理地理定位
- 相机和媒体
- 使用 CameraX 拍摄照片和处理相机许可权
- 显示图像和处理媒体存储
- 位置和地图
- React 原生高级功能
- React 原生地图
- 使用集成地图
react-native-maps
- 处理基于位置的服务(地理位置、路由映射 )
- 使用集成地图
- 摄像头和媒体访问
- 使用 React 原生相机库拍摄照片
- Access设备媒体存储和处理档
- React 原生地图
第 11 周:调试和测试
- iOS 调试和测试
- 使用 Xcode 调试器
- 在 Xcode 中设置断点和检查变数
- 使用主控台进行即时调试
- 常见调试问题及其解决方法
- iOS 中的单元测试
- 使用 XCTest 框架编写和运行单元测试
- 模拟物件和测试UI元件
- 使用 Xcode 调试器
- Android 调试和测试
- 在 Android Studio 中使用 Logcat
- 使用Logcat记录和分析错误
- 调试 Android 个带断点的应用程式
- Android 中的单元测试
- 使用 JUnit 撰写单元测试
- 使用 Espresso 测试 Android 介面元件
- 在 Android Studio 中使用 Logcat
- React 本机调试和测试
- React 本机调试工具
- 使用 Chrome DevTools 和 React Native Debugger 进行即时调试
- 主控台日志和检查网路请求
- React Native 中的单元测试
- 使用 Jest 和 Enzyme 编写单元测试
- 测试 React 本机组件和管理测试用例
- React 本机调试工具
第 12 周:应用部署和 Capstone 专案
- 部署和分发
- iOS App Store 提交
- 准备要分发的应用程式(图示、证书、供应设定档)
- 使用 App Store Connect 提交 app 以供审核
- 使用 TestFlight 进行 Beta 测试
- Android Play 商店提交
- 准备 APK 并对应用程式进行签名以进行分发
- 使用 Google Play 管理中心进行应用提交和跟踪
- 了解 Play 商店的政策和准则
- iOS App Store 提交
- Capstone 项目开发
- 最终项目开发
- 构建您选择的功能齐全的应用程式
- 合并 API 呼叫、导航、媒体和位置等高级功能
- 向同行和讲师演示和演示最终应用程式
- 最终项目开发
总结和后续步骤
要求
- 对程式设计概念的基本理解
- Java脚本基础知识
观众
- 移动开发人员
- 程式师
客户评论 (5)
Edward 是一位了不起的主持人
Zibusiso Ncube - Agricatural Research Council
课程 - Ionic 4 and Angular for Developers
机器翻译
我最喜欢的部分是与何塞先生的问答。他知识渊博,知道我们问题的答案。
John Henry - Toyota Motor Philippines
课程 - .NET MAUI (Intermediate)
机器翻译
Miguel's knowledge of the subject was extensive. He made the training easy to understand and the flow was balanced; adding on to each section with new features as needed. He covered everything that was asked and answered each and every question thoroughly. It was a very pleasant experience.
Paul Coaton - SEMPCheck Services
课程 - Flutter Development Bootcamp with Dart
The trainer was enthusiastic, kind, and loved the topic
Isaac Murphy - Royal New Zealand Airforce
课程 - Build Native iOS and Android Apps with Flutter
Learning the steps required to implement the MVVM model.