![]()
内容推荐 复杂工程问题的解决要求学生具备整合运用客户端开发技能栈、服务器端开发技能栈、软件工程技能栈、人机交互技能栈等多个技能栈的能力。为培养学生多技能栈整合运用的能力,本书介绍基于Xamarin.Forms框架的面向iOS、Android,以及Windows平台的客户端-服务器端Xamarin全栈开发技术,涵盖语言特性、设计思想、技术技巧、测试方法等内容,并通过一个完整的实例连接全部知识与技能。 本书尤其注重多种技术栈的有机融合,为培养解决复杂工程问题的能力提供完整的支持。本书面向具有一定计算机专业课基础的读者。本书读者应至少掌握一门编程语言,并能独立完成简单的开发任务。本书可作为全栈开发技术相关课程的本科生教材,也可以作为基于Xamarin.Forms框架的全栈开发入门参考书。 作者简介 张引,男,博士,毕业于东北大学。现为东北大学软件学院副教授,从事搜索学习和信道编码理论研究,并长期承担程序设计类课程的教学工作。 目录 第一部分 基础与用户 第1章 马上开始 1.1 系统要求(简化版) 1.2 下载Visual Studio Community 1.3 安装Visual Studio Community 1.4 注册、下载并安装ReSharper 1.5 安装Android Studio 1.6 Hello World! 1.7 背景与概念 1.8 系统要求(完整版) 1.9 动手做 第2章 认识一批控件 2.1 网格布局控件Grid 2.2 线性布局控件StackLayout 2.3 滚动视图控件ScrollView 2.4 超链接按钮HyperlinkButton 2.5 弹出信息DisplayAlert 2.6 开关控件Switch 2.7 滑块控件Slider 2.8 控件使用的一般规律 2.9 动手做 第3章 寻找用户 3.1 重视项目问题的质量 3.2 “认真地”观察用户:使用5W方法 3.3 进一步了解用户:面对面访谈 3.4 同理心 3.5 奶爸F的观察与访谈总结 3.6 动手做 3.7 给PBL教师的建议 第4章 再认识一批控件 4.1 响应式设计与VisualStateManager 4.2 列表视图控件ListView 4.3 动手做 4.4 给PBL教师的建议 第5章 提出并评价界面设计 5.1 绘制界面设计 5.2 形成操作动线 5.3 评价界面设计 5.4 动手做 第6章 开启数据管理之门 6.1 管理少量本地数据:偏好存储 6.2 管理大量本地数据:数据库 6.3 访问远程数据:Web服务 6.4 是否优雅 6.5 动手做 第二部分 框架与方法 第7章 踏上软件架构之路 7.1 Model-View-ViewModel架构模式 7.2 View 7.3 ViewModel 7.3.1 属性 7.3.2 Command(命令) 7.4 ViewModelLocator 7.5 App.xaml 7.6 再次审视MVVM模式 7.7 动手做 第8章 MVVM+IService架构 8.1 Model 8.2 IService 8.3 在ViewModel中使用IService 8.4 实现IService 8.5 在ViewModel中获得IService实例 8.6 审视MVVM+IService架构 8.7 动手做 8.8 给PBL教师的建议 第9章 编码规范 9.1 命名规范 9.2 排版规范 9.3 文档注释规范 9.4 动手做 9.5 给PBL教师的建议 第10章 重新审视数据库 10.1 开启Dpx:使用Master-Detail项目模板 10.2 选择“好的”数据库 10.3 提出“好的”数据库设计 10.4 诗词数据Model:Poetry类 10.5 诗词数据管理IService:IPoetryStorage 10.6 实现IPoetryStorage 10.6.1 连接到数据库:通过Connection属性 10.6.2 实现GetPoetryAsync函数:语言集成查询LINQ 10.6.3 实现GetPoetriesAsync函数:LINQ翻页 10.6.4 实现InitializeAsync函数:嵌入式资源 10.6.5 实现Initialized函数 10.7 反思数据库 10.8 动手做 10.9 给PBL教师的建议 第11章 测试代码 11.1 Hello Unit Test World! 11.2 Mocking:模拟任意接口的实现 11.3 决定测试内容 11.4 测试PoetryStorage 11.5 为测试优化设计 11.6 再次测试PoetryStorage 11.6.1 测试Initialized函数:验证Mocking调用 11.6.2 测试InitializeAsync函数:清除副作用 11.6.3 测试GetPoetryAsync函数:再次调整设计 11.6.4 测试GetPoetriesAsync函数:初识动态LINQ 11.7 反思单元测试 11.8 动手做 11.9 给PBL教师的建议 第12章 实战级数据库View与ViewModel 12.1 搜索结果页View:设计时数据 12.2 搜索结果页ViewModel 12.2.1 无限滚动与InfiniteScrollCollection 12.2.2 重置搜索结果与PageAppearingCommand 12.3 单元测试搜索结果页ViewModel 12.3.1 为ViewModel准备IService 12.3.2 测试Command:使用Command函数 12.3.3 测试可绑定属性:监听PropertyChanged事件 12.4 连接View与ViewModel 12.4.1 ViewModelLocator与App.xaml 12.4.2 扩展控件的功能:使用Behavior 12.5 实战的反思 12.6 动手做 12.7 给PBL教师的建议 第13章 源代码管理、分支开发与Git 13.1 准备工作 13.2 将项目发布到Gitee 13.3 同步更改 13.4 解决冲突 13.5 撤销更改 13.6 分支开发 13.7 关于Git 第14章 今日推荐页ViewModel与IService:从需求到设计 14.1 确定ViewModel的数据与功能 14.2 审视相关的页面 14.3 设计IService 14.4 反思设计 14.5 动手做 14.6 给PBL教师的建议 第15章 实战分支开发 15.1 今日推荐页View分支 15.1.1 实践VisualStateManager 15.1.2 显示背景图片:使用绑定值转换器IValueConverter |