具体描述
内容简介
《微信小程序应用开发/云计算技术与应用专业校企合作系列教材》是CEIC云计算技术与应用专业校企合作系列教材。
《微信小程序应用开发/云计算技术与应用专业校企合作系列教材》以“斗学商城”系统为项目原型,以项目开发过程为主线,采用任务驱动方式,基于腾讯云平台,完成了小程序开发环境的搭建、云服务的搭建、商城各个模块的设计和开发、测试发布及个性化的学习资源推荐等完整的微信小程序案例,全面翔实地讲述小程序开发框架和腾讯云的相关知识,并详细讨论了XpmJs、Mustache等语法以及Promise、Session对象等。
《微信小程序应用开发/云计算技术与应用专业校企合作系列教材》可作为高职院校软件技术专业以及其他计算机类相关专业的教材,也可作为微信小程序开发爱好者的参考用书。
内页插图
目录
单元1 搭建小程序开发环境
学习目标
学习情境
任务1.1 体验微信小程序
任务描述
知识学习
任务实施
项目实训
任务1.2 注册和使用小程序管理平台
任务描述
知识学习
任务实施
项目实训
任务1.3 安装和使用开发者工具
任务描述
知识学习
任务实施
项目实训
任务1.4 开发小程序游戏
任务描述
知识学习
任务实施
项目实训
单元小结
单元2 开发小程序入门案例
学习目标
学习情境
任务2.1 实现视图层渲染
任务描述
知识学习
任务实施
项目实训
任务2.2 实现逻辑层开发
任务描述
知识学习
任务实施
项目实训
任务2.3 实现数据层开发
任务描述
知识学习
任务实施
项目实训
任务2.4 实现配置开发框架
任务描述
知识学习
任务实施
项目实训
单元小结
单元3 设计020“斗学商城”微信小程序
学习目标
学习情境
任务3.1 功能设计
任务描述
知识学习
任务实施
项目实训
任务3_2界面设计
任务描述
知识学习
任务实施
项目实训
任务3.3 功能架构设计
任务描述
知识学习
任务实施
项目实训
单元小结
单元4 搭建“斗学商城”云服务
学习目标
学习情境
任务4.1 搭建腾讯云服务器
任务描述
知识学习
任务实施
项目实训
任务4.2 配置域名和SSL证书
任务描述
知识学习
任务实施
项目实训
任务4.3 安装XpmJS-Server
任务描述
知识学习
任务实施
项目实训
任务4.4 配置XpmJS-Server
任务描述
知识学习
任务实施
项目实训
任务4.5 安装腾讯云SDK
任务描述
知识学习
任务实施
项目实训
单元小结
单元5 开发“斗学商城”用户管理功能
学习目标
学习情境
任务5.1 实现用户登录
任务描述
知识学习
任务实施
项目实训
任务5.2 实现用户信息管理
任务描述
知识学习
任务实施
项目实训
任务5.3 实现会员等级管理
任务描述
知识学习
任务实施
项目实训
单元小结
单元6 开发“斗学商城”店铺功能
学习目标
学习情境
任务6.1 实现商品信息管理
任务描述
知识学习
任务实施
项目实训
任务6_2实现用户下单
任务描述
知识学习
任务实施
项目实训
任务6.3 实现订单处理
任务描述
知识学习
任务实施
项目实训
单元小结
单元7 开发“斗学商城”预约功能
学习目标
学习情境
任务7.1 实现用户预约
任务描述
知识学习
任务实施
项目实训
任务7.2 实现预约处理
任务描述
知识学习
任务实施
项目实训
单元小结
单元8 发布020“斗学商城”微信小程序
学习目标
学习情境
任务8.1 测试并上传小程序
任务描述
知识学习
任务实施
项目实训
任务8.2 实现发布小程序
任务描述
知识学习
任务实施
项目实训
单元小结
参考文献
前言/序言
一、缘起
在“2017年微信公开课Pro版”的现场。“微信之父”张小龙宣布微信小程序将于2017年1月9日正式上线,并现场对小程序作了全面阐述。在谈到做小程序的初衷时。张小龙谈到了计算机时代的信息。他认为,在计算机浏览器上,用户可以快速切换网站获取信息,根本不需要下载东西。而随着手机时代的到来,用户切换的成本很高,当用户需要一款应用时,需要下载、安装,然后才可以使用。使用完还要考虑它所占用的空间问题。这对于用户来说,实在不能算得上一种好的工具。其实,微信考虑的就是如何在单一入口内给用户提供更多的信息和服务。而这一点一旦做好了,就会把用户很好地留在自己的生态。App里。
小程序是一种不需要下载和安装即可使用的应用,它实现了应用的“触手可及”.用户扫一扫或者搜一下即可打开。这也体现了“用完即走”的理念,即用户不用关心是否安装太多应用的问题。应用将无处不在、随时可用。但又无须安装和卸载。对于开发者而言,小程序开发门槛相对较低,难度不及App,同时使用也相对简单,这都将极大地加快小程序开发和传播的速度。二、结构本书内容采用模块化的编写方式,通过认识小程序、搭建开发环境、熟悉小程序框架到用户自己动手构建020小程序“斗学商城”,一步一步指引读者熟悉小程序并掌握其开发技能。
每个单元通过学习情境引出教学核心内容,明确教学任务。每个任务的编写分为任务描述、知识学习、任务实施、项目实训4个环节。
任务描述:简述任务目标,展示任务实施效果,以提高学生的学习兴趣。
知识学习:详细讲解知识点,通过系列实例实践,边学边做。
任务实施:通过任务综合应用所学知识,提高学生系统运用知识的能力。
项目实训:在项目实施的基础上通过“学、仿、做”达到理论与实践统一、知识内化的教学目的。
在单元的最后会进行单元小结,总结本单元的教学重点、难点,梳理本单元教学内容实施的步骤、思路。
三、特点
1.针对性强,教材内容选取以实用为主
本书以云计算技术专业学生的就业岗位群为导向,整体内容分为两大部分:知识学习和技术应用。其中,知识学习以小程序概述、应用场景、微信公众平台相关知识、小程序框架介绍等基本知识为主,让学生更具体地认识小程序;技术应用以“斗学商城”020小程序的开发步骤为主要内容进行项目实训,内容设计丰富,便于学生理解和掌握。
《精通 React Native:构建跨平台移动应用》 一、前言 在移动应用开发的浪潮中,跨平台开发已成为降低成本、缩短周期、扩大覆盖面的重要战略。React Native,作为Facebook推出的开源框架,以其“一次编写,随处运行”的理念,迅速占领了移动开发的一席之地。它允许开发者使用JavaScript和React来构建原生、高性能的iOS和Android应用,极大地提高了开发效率,并能为用户提供接近原生应用的流畅体验。 本书并非一本泛泛而谈的教程,而是深入剖析React Native的核心原理、高级特性以及最佳实践。我们旨在带领读者从入门到精通,掌握构建高质量、可维护、高性能跨平台应用的完整技能链。本书内容紧密围绕React Native的技术细节展开,不涉及任何与其无关或同类但非React Native的书籍内容,确保读者能获得最聚焦、最深入的学习体验。 二、第一部分:React Native基础与核心概念 1. 移动开发概览与React Native的定位 移动应用开发趋势: 简述原生开发(iOS/Android)的特点、优势与局限性;探讨跨平台开发的需求与演进(如Cordova, Ionic, Xamarin等);分析React Native的出现背景及其解决的核心痛点。 React Native架构解析: 深入理解React Native的“原生”之道。详细介绍JavaScript线程、原生线程(UI线程/Native Modules线程)及其通信机制(Bridge)。重点讲解AsyncBridge(旧版)与JSI(新版)的工作原理,理解数据如何在JS和原生代码之间传递,以及为什么React Native能达到接近原生的性能。 组件化开发思想: 阐述React Native如何继承React的组件化理念,讲解组件的生命周期、状态管理(State)与属性传递(Props),以及如何通过组件组合来构建复杂的UI。 2. 环境搭建与首个应用 开发环境准备: 详细指导用户在不同操作系统(macOS, Windows, Linux)上安装Node.js, npm/yarn, Watchman, 以及Android Studio/Xcode。讲解Expo CLI和React Native CLI的区别与适用场景,并推荐使用React Native CLI进行更深度的学习。 创建与运行React Native项目: 手把手指导创建新项目,并成功在模拟器或真机上运行“Hello, World!”应用。讲解项目结构、核心配置文件(`package.json`, `metro.config.js`等)的作用。 调试技巧: 掌握React Native Debugger(Chrome DevTools, React DevTools, Network Inspector)的使用,学习如何设置断点、查看组件树、监听网络请求,以及利用Flipper进行更专业的调试。 3. UI构建与样式设计 核心UI组件详解: 深入讲解React Native提供的基础UI组件,如`View`, `Text`, `Image`, `TextInput`, `Button`, `ScrollView`, `FlatList`, `SectionList`等。分析其属性、事件和常用方法,并给出实际应用场景的示例。 样式系统: 详细介绍React Native的样式系统——StyleSheet API。讲解如何使用JavaScript对象来定义样式,支持Flexbox布局模型,以及如何在组件中应用样式。探讨样式继承、样式合并、媒体查询(通过第三方库)等进阶用法。 布局实战: 基于Flexbox,通过大量实际案例演示如何实现各种复杂的UI布局,包括圣杯布局、居中布局、响应式布局等。 4. 事件处理与用户交互 触摸事件: 详细讲解`TouchableHighlight`, `TouchableOpacity`, `TouchableWithoutFeedback`, `Pressable`等触摸反馈组件的使用,及其差异性。 表单处理: 学习`TextInput`的各种属性(如`onChangeText`, `onSubmitEditing`, `secureTextEntry`),以及如何管理表单输入值。 手势识别: 介绍`PanResponder` API,用于实现复杂的拖拽、滑动等手势交互,并给出实例演示。 5. 导航系统 React Navigation核心: 重点讲解当前最流行的React Navigation库。详细介绍Stack Navigator, Tab Navigator, Drawer Navigator的配置与使用。 页面跳转与参数传递: 学习如何在不同页面之间进行跳转,以及如何传递和接收参数。 导航器嵌套与自定义: 演示如何嵌套使用各种导航器,以及如何自定义导航器的样式和行为。 三、第二部分:React Native进阶与性能优化 1. 状态管理 本地组件状态: 回顾与强化`useState` Hook的使用,讲解组件内部状态的管理。 全局状态管理: Context API: 深入理解React的Context API,讲解其原理、使用场景,以及如何结合`useReducer`实现简单的全局状态管理。 Redux: 详细介绍Redux的核心概念(Store, Reducer, Action, Dispatch, Selector),并讲解如何在React Native项目中使用`react-redux`进行状态管理。重点分析Redux在处理复杂应用状态时的优势。 MobX: 介绍MobX作为另一种流行的状态管理方案,讲解其响应式编程模型,以及如何简化状态管理的代码。 Zustand / Jotai / Recoil: 简述这些更轻量级、更现代化的全局状态管理库,并分析其适用的场景。 2. 网络请求与数据处理 Fetch API: 详细介绍React Native内置的Fetch API,讲解如何进行GET, POST等请求,以及如何处理响应数据(JSON, Text等)。 Axios库: 推荐并详细讲解Axios库,分析其相对于Fetch的优势(拦截器、取消请求、请求/响应转换等)。 数据缓存与离线存储: 探讨 AsyncStorage 的使用(虽然已不推荐,但需了解其历史地位),重点介绍社区推荐的解决方案,如MMKV、SQLite等,以及如何实现数据的本地缓存和离线访问。 GraphQL: 简述GraphQL的概念,以及如何在React Native中结合Apollo Client或Relay进行GraphQL数据获取。 3. 异步编程与性能优化 JavaScript异步: 回顾Promise, async/await在JavaScript中的应用,并将其与React Native中的异步操作结合。 性能瓶颈分析: 识别React Native应用中常见的性能瓶颈,如组件频繁重渲染、列表滚动卡顿、内存泄漏等。 优化策略: `useMemo` 和 `useCallback`: 讲解如何利用React Hooks来优化组件性能,避免不必要的重渲染。 `React.memo`: 讲解组件记忆化,提升纯组件的渲染效率。 列表性能优化: 重点讲解`FlatList`和`SectionList`的虚拟化(`getItemLayout`, `initialNumToRender`, `windowSize`, `removeClippedSubviews`等)和内存管理技巧。 图片优化: 介绍图片懒加载、占位图、图片压缩等技术。 动画性能: 讲解`Animated` API,以及如何使用`useNativeDriver`来提升动画的流畅度。 原生模块优化: 简述如何通过优化原生模块的调用和通信来提升整体性能。 4. 原生模块与第三方库 原生模块的调用: 讲解如何导入和使用React Native社区提供的原生模块(如相机、地理位置、文件存储等),以及如何通过`NativeModules` API访问原生功能。 第三方库生态: 介绍React Native丰富的第三方库生态,推荐常用且质量高的库,如UI库(React Native Elements, NativeBase)、网络请求库、数据存储库、动画库、地图库等。 原生模块开发入门(可选): 简述如何编写简单的自定义原生模块(Objective-C/Swift for iOS, Java/Kotlin for Android),以便在JavaScript端调用。 5. 调试、测试与打包 高级调试技巧: 深入讲解性能监控工具(如Flipper的Performance Monitor, React DevTools Profiler),内存分析,以及如何定位和解决原生层面的问题。 单元测试与集成测试: 介绍Jest框架在React Native中的应用,如何为组件和逻辑编写单元测试。讲解React Native Testing Library,以及如何进行组件集成测试。 E2E测试(端到端测试): 简述Detox等E2E测试框架,以及如何模拟用户在真实设备上的操作。 应用打包与发布: 详细指导用户如何为iOS和Android平台构建生产环境的应用包(APK/IPA),配置签名,并准备上传到App Store和Google Play。讲解CI/CD(持续集成/持续部署)在移动开发中的应用。 四、第三部分:React Native实践与最佳实践 1. 项目架构设计 目录结构: 讨论几种常见的React Native项目目录结构(如按功能模块划分、按技术类型划分),并给出推荐的组织方式。 代码规范与可维护性: 强调编码规范、组件复用、可读性、清晰的命名,以及如何编写易于维护的代码。 错误处理与日志: 讲解如何实现全局的错误捕获与上报机制,以及如何进行有效的日志记录。 2. 跨平台适配 平台差异处理: 讲解如何处理iOS和Android平台在UI、API、行为上的差异。使用`Platform.OS` API,以及针对不同平台的特定组件和样式。 代码复用策略: 在保持代码高度复用的前提下,如何优雅地处理平台差异。 3. 持续集成与自动化 CI/CD流程: 介绍使用Jenkins, GitHub Actions, GitLab CI等工具搭建React Native项目的CI/CD流程,实现自动化构建、测试与部署。 版本管理与灰度发布: 讲解如何进行版本控制,以及实现应用的热更新和灰度发布。 4. 实际案例分析 精选案例: 通过分析多个实际项目(如电商应用、社交应用、工具类应用)的设计思路、技术选型、功能实现,让读者将所学知识融会贯通。 难点问题剖析: 重点解析在实际开发中遇到的常见难点,如复杂动画的实现、与原生SDK的深度集成、性能瓶颈的攻克等。 五、结语 掌握React Native,意味着开启了高效、低成本的跨平台移动应用开发之路。本书提供的知识体系,从最基础的环境搭建到最前沿的性能优化和项目实践,都力求做到详尽、深入。我们相信,通过本书的学习,您将能够自信地设计、开发、测试和部署高质量的React Native应用,成为一名出色的跨平台开发者。本书的价值在于其内容的专业性、实践性以及对React Native技术本身的深度聚焦。