第Ⅰ部分 Windows 8应用程序开发简介 3
第1章 Windows应用程序开发简史 3
1.1 Windows的历史 3
1.1.1 从Windows 3.1到32位 3
1.1.2 Windows XP和Windows Vista 5
1.1.3 Windows 7抹掉Vista的错误 5
1.1.4 Windows 8的范式转变 5
1.2 API和工具的发展历史 8
1.2.1 C语言的力量 9
1.2.2 C++取代C 11
1.2.3 Visual Basic 13
1.2.4 Delphi 14
1.2.5 .NET的问世 14
1.2.6 新的UI技术 16
1.3 Windows应用程序开发的困境 18
1.4 小结 19
第2章 使用Windows 8 23
2.1 两种模式,一个操作系统 23
2.2 输入方法 25
2.2.1 多点触控输入 25
2.2.2 软件键盘 27
2.2.3 其他输入设备 28
2.3 登录 28
2.4 Start屏幕 29
2.4.1 Start菜单的发展演变 29
2.4.2 浏览和搜索已安装的应用 32
2.4.3 使用动态磁贴 36
2.4.4 使用Windows 8风格应用 42
2.5 Windows超级按钮栏 46
2.5.1 超级按钮栏简介 46
2.5.2 Start按钮 47
2.5.3 Search按钮 47
2.5.4 Share按钮 48
2.5.5 Devices按钮 50
2.5.6 Settings按钮 50
2.6 Windows桌面 52
2.6.1 Desktop应用简介 52
2.6.2 在Desktop程序之间进行切换 53
2.6.3 Start按钮的位置 53
2.7 小结 53
第3章 从开发人员视角看Windows 8体系结构 57
3.1 Windows 8开发体系结构 57
3.1.1 桌面应用程序层 59
3.1.2 Windows 8风格应用程序层 61
3.2 了解Windows运行时 63
3.2.1 Windows运行时体系结构概述 63
3.2.2 Windows运行时中的元数据 66
3.2.3 语言投影 72
3.2.4 Windows运行时所带来的益处 73
3.2.5 Windows运行时中不包含的内容 74
3.3 .NET Framework 4.5 75
3.3.1 .NET Framework 4.5的安装模型 75
3.3.2 Window运行时集成 76
3.3.3 异步性支持 77
3.3.4 其他新功能 77
3.4 选取适合你项目的技术 78
3.4.1 Windows应用商店 78
3.4.2 Windows 8还是桌面应用程序 78
3.4.3 选择编程语言 79
3.5 小结 80
第4章 开发环境 83
4.1 工具集简介 84
4.1.1 Visual Studio 2012 84
4.1.2 安装Visual Studio 2012 Express for Windows 8 85
4.2 简单了解Visual Studio IDE 87
4.2.1 新建项目 87
4.2.2 使用示例和扩展 95
4.2.3 需要了解的一些有关IDE的有用信息 99
4.3 通过Expression Blend让应用程序更加出色 101
4.3.1 通过一个Visual Studio解决方案开始了解Expression Blend 102
4.3.2 向UI中添加动画对象 104
4.3.3 启动动画 107
4.3.4 将Visual Studio与Blend一起使用 108
4.4 小结 108
第Ⅱ部分 创建Windows 8应用程序 113
第5章 现代Windows应用程序开发的原则 113
5.1 Windows 8风格应用程序 113
5.1.1 Windows 8设计语言的概念 114
5.1.2 Windows 8应用程序的一般设计原则 115
5.1.3 应用程序结构和导航模型 116
5.2 异步开发平台 122
5.2.1 异步编程简介 123
5.2.2 .NET平台上的异步编程发展历史 125
5.2.3 使用C# 5.0进行异步编程 128
5.2.4 Windows运行时上的异步开发 141
5.2.5 使用JavaScript Promise进行异步编程 144
5.3 小结 153
第6章 使用HTML5、CSS和JavaScript创建Windows 8风格应用程序 155
6.1 Web上的HTML5和CSS 156
6.1.1 了解HTML5技术 156
6.1.2 使用HTML的初步操作 157
6.1.3 使用CSS设置页面样式 162
6.1.4 使用CSS的初步操作 163
6.1.5 运行客户端代码 171
6.1.6 使用JavaScript的初步操作 171
6.2 Windows运行时上的HTML5应用程序 177
6.3 使用JavaScript创建Windows 8风格应用程序 179
6.3.1 访问文件系统 179
6.3.2 管理数据 185
6.3.3 关注用户的设备 194
6.3.4 滚动和缩放 203
6.3.5 Windows 8风格应用程序中的画布图形 207
6.3.6 使用Windows 8动画库 211
6.4 小结 217
第7章 使用XAML创建Windows 8风格用户界面 219
7.1 使用XAML描述用户界面 219
7.2 使用名称空间 222
7.3 了解布局管理系统 226
7.3.1 新概念:依赖项属性 226
7.3.2 通过附加属性进一步了解依赖项属性 226
7.3.3 影响控件大小和布局的属性 227
7.3.4 Canvas面板 228
7.3.5 StackPanel面板 228
7.3.6 Grid面板 229
7.4 XAML中可重用的资源 235
7.4.1 引用资源 236
7.4.2 资源的层次结构 236
7.4.3 资源字典 236
7.4.4 系统资源 237
7.5 Windows 8风格应用程序中的基本控件 239
7.5.1 具有简单值的控件 240
7.5.2 内容控件 243
7.6 处理数据 246
7.6.1 数据绑定依赖项属性和通知 246
7.6.2 绑定模式和方向 248
7.6.3 DataContext属性 249
7.6.4 使用值转换器更改绑定管道中的数据 249
7.6.5 绑定到集合 250
7.7 小结 254
第8章 使用XAML控件 257
8.1 在应用程序中使用动画 257
8.1.1 动画库 258
8.1.2 了解可视状态 261
8.1.3 自定义动画 265
8.2 设计控件的可视化外观 271
8.2.1 将控件与内部结构联系起来 272
8.2.2 响应交互 273
8.2.3 使用Expression Blend 275
8.3 使用复杂控件 284
8.3.1 了解ListViewBase控件 284
8.3.2 使用GridView控件 284
8.3.3 使用ListView控件 287
8.3.4 使用FlipView控件 289
8.3.5 使用SemanticZoom 290
8.3.6 使用AppBar控件 294
8.4 小结 294
第9章 构建Windows 8风格应用程序 297
9.1 Windows 8应用程序的生命周期 297
9.1.1 应用程序生命周期状态 298
9.1.2 管理应用程序状态更改 299
9.1.3 挂起、恢复和关闭应用程序 300
9.1.4 使用应用程序生命周期事件 301
9.2 部署Windows 8应用程序 306
9.2.1 应用程序软件包 306
9.2.2 应用程序软件包清单 308
9.2.3 安装、更新和删除 310
9.3 命令界面 311
9.3.1 使用上下文菜单 312
9.3.2 使用应用栏 315
9.3.3 使用消息对话框 321
9.3.4 在应用程序中使用设置超级按钮 324
9.4 持久化应用程序数据 326
9.4.1 应用程序数据存储 326
9.4.2 ApplicationData类 327
9.5 应用程序和Start屏幕 330
9.5.1 应用程序徽标与启动屏幕 331
9.5.2 使用通知让应用磁贴变得栩栩如生 333
9.6 小结 337
第10章 创建多页应用程序 339
10.1 导航基本知识 340
10.2 使用页面 343
10.2.1 向后导航和向前导航 345
10.2.2 参数和导航事件 348
10.2.3 使用应用栏进行导航 351
10.2.4 启动文件和Web页面 357
10.3 使用拆分应用程序模板和网格应用程序模板 360
10.3.1 模板的结构 361
10.3.2 管理示例数据和运行时数据 364
10.3.3 布局管理 366
10.3.4 其他需要了解的功能 368
10.4 小结 369
第11章 构建连接应用程序 371
11.1 与操作系统和其他应用程序集成 371
11.1.1 选取器:统一的数据访问设计 372
11.1.2 了解合约的概念 379
11.2 访问Internet 390
11.2.1 检测Internet连接性的更改 390
11.2.2 使用数据源 393
11.3 访问Windows LIVE 398
11.4 小结 406
第12章 利用平板电脑功能 409
12.1 适应平板电脑设备 410
12.2 构建位置感知应用程序 411
12.3 使用传感器 419
12.3.1 使用原始传感器数据 420
12.3.2 使用传感器融合数据 435
12.4 小结 439
第Ⅲ部分 升级到专业的Windows 8开发 443
第13章 使用C++创建Windows 8风格应用程序 443
13.1 Microsoft与C++语言 444
13.2 C++与Windows 8应用 448
13.2.1 Windows 8应用中的C++特权 448
13.2.2 Windows运行时与C++ 449
13.2.3 在C++中管理Windows运行时对象 450
13.2.4 定义运行时类 452
13.2.5 异常 453
13.3 使用Visual Studio探索C++功能 456
13.3.1 创建C++项目 456
13.3.2 C++项目的元素 457
13.3.3 使用Platform∷String类型 459
13.3.4 使用运行时集合 460
13.3.5 使用异步操作 462
13.3.6 使用Accelerated Massive Parallelism 463
13.4 小结 467
第14章 高级编程概念 471
14.1 使用多种语言构建解决方案 472
14.1.1 混合解决方案 472
14.1.2 创建具有C#和C++项目的混合解决方案 473
14.1.3 创建和使用Windows运行时组件 476
14.2 后台任务 480
14.2.1 了解后台任务 480
14.2.2 实现后台任务 485
14.3 输入设备 493
14.3.1 查询输入设备功能 494
14.3.2 键盘功能 494
14.3.3 鼠标功能 494
14.3.4 触控设备功能 495
14.3.5 查询指针设备信息 496
14.4 小结 498
第15章 测试和调试Windows 8应用程序 501
15.1 软件的质量 501
15.2 熟悉调试过程 502
15.2.1 在调试模式中控制程序流 503
15.2.2 监控和编辑变量 503
15.2.3 在调试过程中更改代码 506
15.2.4 特定于Windows 8风格应用程序的场景 507
15.3 软件测试简介 509
15.3.1 单元测试简介 509
15.3.2 对Windows 8风格应用程序进行单元测试 510
15.4 小结 513
第16章 Windows应用商店简介 515
16.1 了解Windows应用商店 515
16.1.1 客户如何在Windows应用商店中看到应用程序 516
16.1.2 应用程序详细信息 516
16.1.3 利用应用赚钱 517
16.2 开发人员注册过程 524
16.2.1 提交应用程序 525
16.2.2 应用程序认证过程 526
16.2.3 Windows应用认证工具包 527
16.3 小结 528
第Ⅳ部分 附录 533
附录A 练习答案 533
附录B 有用的链接 545