本书为移动设备编写应用程序提供了重要的概念性知识,并结合具体的应用实例进行了详细的阐述。对于有经验的移动设备软件开发人员、技术带头人、自学的程序员以及希望从事这方面工作的新手都是大有裨益的。阅读本书会帮助他们深刻理解移动应用软件开发的内涵,以及如何开发成功的移动设备应用。
网站首页 软件下载 游戏下载 翻译软件 电子书下载 电影下载 电视剧下载 教程攻略
书名 | 编写移动代码--构建移动应用的基础软件工程 |
分类 | 科学技术-工业科技-电子通讯 |
作者 | (美)萨勒玛 |
出版社 | 电子工业出版社 |
下载 | ![]() |
简介 | 编辑推荐 本书为移动设备编写应用程序提供了重要的概念性知识,并结合具体的应用实例进行了详细的阐述。对于有经验的移动设备软件开发人员、技术带头人、自学的程序员以及希望从事这方面工作的新手都是大有裨益的。阅读本书会帮助他们深刻理解移动应用软件开发的内涵,以及如何开发成功的移动设备应用。 内容推荐 本书为移动设备编写应用程序提供了重要的概念性知识,并结合具体的应用实例进行了详细的阐述。其主要内容包括:移动应用的特征,设计适宜的用户界面,建立合适的数据传输及通信模型,打包及部署移动应用的策略等。尽管本书中的实例基于.Net Compact Framework、用C#及VB.NET编写,但所讨论的设计和工程概念对于所有的移动程序设计技术及平台均适用。 本书对于有经验的移动设备软件开发人员、技术带头人、自学的程序员以及希望从事这方面工作的新手都是大有裨益的。阅读本书会帮助他们深刻理解移动应用软件开发的内涵,以及如何开发成功的移动设备应用。 目录 第1章 引言 1 1.1 欢迎来到移动设备软件工程 1 1.2 成功由几个关键因素决定 3 1.3 如何阅读本书 4 1.4 设备开发方法 4 1.4.1 基于服务器的移动设备应用 4 1.4.2 智能客户端移动应用 6 1.5 托管代码 8 .Net Compact Framework——一种在设备上使用的托管代码运行时间 10 1.6 总结 12 第2章 移动应用的特征 13 2.1 引言 13 2.2 应用模式 13 2.2.1 长持续时间活动 2.2.1 vs短持续时间活动 14 2.2.2 探索性活动vs集中活动 15 2.3 外型因素 17 2.4 可靠性需求 19 2.5 移动应用的重要特征 21 2.5.1 启动时间 21 2.5.2 响应 21 2.5.3 用途明确 21 2.5.4 定制与设备外的数据源的交互 22 2.5.5 持续体验 22 2.6 计算机架构的区别 23 2.7 小结 24 第3章 .Net Compact Framework的设计 25 3.1 引言 25 3.2 设计.Net Compact Framework 26 3.3 桌面子集 29 3.4 托管代码和本机代码 30 3.5 执行引擎 30 3.6 托管代码库 31 3.6.1 基础类库 32 3.6.2 用户界面库 32 3.6.3 Web Services客户端库 33 3.6.4 XML库 33 3.6.5 数据访问库 34 3.7 将有用的设计和调试信息转移到可选构件 35 3.8 SQL CE/SQL Connectors 36 3.9 未包含在.net紧凑 3.9 架构第一个版本中的项目 37 3.9.1 安全检查 37 3.9.2 多媒体 38 3.10 代码如何被执行和运行 38 3.11 内存管理和垃圾收集 39 内存管理和垃圾回收的预演 41 3.12 小结 47 第4章 如何成功开发移动应用 48 4.1 引言 48 4.2 软件工程中固有 4.2 和暂时的困难 49 4.2.1 暂时困难和解决工具 49 4.2.2 固有困难和解决的方法论 50 4.3 开发是一个迭代过程,但是有一定的规则 53 4.3.1 项目说明文档 54 4.3.2 计划迭代 55 4.4 如果整体构思还没有完成,就不要考虑细节 55 4.5 按正确的顺序解决问题:如果需要的话就走回头路 55 4.5.1 步骤0:在开始之前,确定你应用的范围 56 4.5.2 步骤1:开始于性能,并保持性能 58 4.5.3 步骤2:设计恰当的用户界面 61 4.5.4 步骤3:使用正确的数据和内存模型 62 4.5.5 步骤4:使用正确的通信和输入输出模型 64 4.5.6 如果需要返回到步骤0、1、2和3 68 4.5.7 步骤5:打包你的应用进行安装 69 4.6 小结 70 第5章 状态机,我们的朋友 72 5.1 介绍 73 5.2 什么是状态机 73 5.3 隐式的和显式的状态机 77 5.3.1 方法1:一种随意的、分散的、隐示的状态管理方法(糟糕的设计) 77 5.3.2 方法2:一种计划的、集中的、显示的状态管理方法(好的设计) 78 5.4 一个应用中应该有多少状态机 80 5.4.1 用户界面的状态机 81 5.4.2 内存模型的状态机 82 5.4.3 后台处理的状态机 84 5.4.4 游戏内部的状态机 93 5.5 小结 93 第6章 第0步:开始之前, 94 第6章 确定你应用的范围 94 6.1 介绍 94 6.2 独立系统还是一个大系统的一部分 95 6.2.1 独立的应用 95 6.2.2 设备上的相关应用组 95 6.2.3 与台式机或者服务器应用交互的设备应用 96 6.3 不要固守桌面应用的思路!思考移动设备! 96 移动软件使用模式VS.桌面软件 97 6.4 定义移动应用的步骤 98 第7章 第1步:从性能开始, 100 第7章 保持性能 100 7.1 介绍 100 7.2 规范的方法的重要性 101 7.2.1 定义有价值的用户场景 101 7.2.2 使用带有性能驱动退出准则的软件开发里程碑 102 7.2.3 执行代码检查 104 7.2.4 定义应用的内存模型 104 7.2.5 经常而且不断地测量 105 7.2.6 可以使用的测量工具 107 7.2.7 使用实际数据的尺寸测试 110 7.2.8 压力测试你的应用 111 7.2.9 绝不推迟性能工作(它总是会变得更坏!) 111 7.3 定义性能目标 113 7.3.1 所有的性能都是主观的 114 7.3.2 及时的用户响应 114 7.3.3 最大等待光标时间 118 7.3.4 最大数据载入/保存时间、启动时间和关闭时间 118 7.4 运行时异常的代价 119 产生和不产生异常的相同算法对比实例 119 7.5 小结 126 第8章 性能和内存管理 127 8.1 定义应用的内存模型 127 8.2 宏观“应用级别”内存管理 128 8.2.1 管理一个应用的“系统开销”数据 132 8.2.2 管理内存中的大量用户数据 134 8.2.3 使用一个请求性载入模型 135 8.3 微观“算法级别”内存管理 141 8.3.1 编写环境算法:不能乱丢废物! 142 8.3.2 编写环境算法:减少、重复使用以及回收 143 8.3.3 在任何可能情况下重复使用分配的对象 147 8.3.4 减少不必要的对象分配 151 8.3.5 上面所做的连续优化的分析 155 8.4 特别关注算法中String的应用 156 显示如何有效构建字符串的一个例子 158 8.5 小结 161 第9章 性能和多线程 163 9.1 介绍:什么时候,如何使用后台线程 163 9.2 现代操作系统中的多任务和多线程 164 9.3 什么时候使用后台线程 167 9.4 在移动应用中使用线程的设计指南 168 9.4.1 使你的用户界面有一个主线程 168 9.4.2 设计最大可响应性的用户界面 168 9.4.3 从一个单独线程应用设计开始 168 9.4.4 在简单情况下,考虑用等待光标等方法取代多线程 168 9.4.5 如果延时较长或者不确定考虑使用后台线程 169 9.4.6 设计简单化的线程代码和安全文档 169 9.4.7 考虑工作能被预先完成的情况 170 9.5 可能用到的示例代码——采用后台线程完成一个简单工作 171 9.6 线程和用户界面 179 使用后台线程处理用户界面更新的实例 180 9.7 小结 190 第10章 性能和XML 192 10.1 介绍:使用XML 192 10.2 使用还是不使用XML? 193 10.3 XML与其他文本格式的比较 194 10.3.1 把数据作为文本存储的不同方法 195 10.3.2 XML数据具有层次性 196 10.3.3 其他的XML特性 196 10.4 使用XML的各种不同方法 196 10.5 一个简单的示例:使用XML DOM和XML Reader/Writer 197 10.5.1 实例:XML文件内容 198 10.5.2 XMLDOM 198 10.5.3 XML只前Reader/Writer 204 10.6 通过将工作移交来提高性能 214 10.6.1 避免在设备上做复杂的数据转换工作 214 10.6.2 避免在设备上做复杂的数据搜索工作 214 10.6.3 在数据被传送到设备之前考虑清除不必要的信息 215 10.6.4 何时不把工作移交给服务器 215 10.7 小结 216 第11章 图形和用户界面性能 218 11.1 介绍 218 11.2 用户界面代码的性能设计策略 220 11.2.1 使用内部性能特性 220 11.2.2 实例:操作TreeView控件的不同方法的性能差异 221 11.2.3 用将要显示的实际的元素数量测试你的应用 228 11.2.4 推迟是好的!推迟,推迟,推迟 228 11.2.5 对事件驱动代码进行仔细的观察 236 11.2.6 绝不让用户猜测 243 11.3 选择合适的位图格式和尺寸 246 11.3.1 尺寸很重要 247 11.3.2 太多的文件格式,太少的时间 249 11.3.3 如果移动设备是高分辨率图像源,该怎样做? 250 11.4 制图代码的设计策略 251 11.4.1 将用户界面代码与图形集成的方法 253 11.4.2 考虑在哪里完成你的绘画,在屏幕上或在屏幕外 265 11.4.3 定义呈现过程 266 11.4.4 拖延是坏的事情,尽可能事先推测每一件事情 268 11.4.5 缓存公用的资源 272 11.4.6 为重复或连续绘制寻找避免对象分配的方法 276 11.5 小结 278 第 12章 性能总结 280 12.1 性能总结 280 12.2 性能和内存管理总结 280 12.3 性能和多线程 283 12.4 性能和API抽象层 284 12.5 性能和用户界面与图形 284 12.6 发现和注意性能报警标志 285 12.7 结论和好的实践方法 286 第13章 第2步:设计正确的用户界面 288 13.1 考虑设备! 288 13.1.1 一种尺寸不适合全部 289 13.1.2 单手还是双手? 291 13.1.3 屏幕空间越小,导航就越重要 292 13.1.4 列表或分页? 293 13.1.5 移动电话用户界面和连贯单击通过的重要性 294 13.1.6 触屏和大按钮的重要性 294 13.1.7 为普通数据输入进行优化 296 13.1.8 对于自动的输入机制保证有冗余的人工输入存在 296 13.1.9 仿真程序和物理设备测试 297 13.2 设计你的移动用户界面 299 13.2 代码以便进行容易的测试和迭代 299 13.3 用于用户界面布局和管理的状态模型 301 13.3.1 实例代码——为相同的应用使用两个不同的布局模型 304 13.3.2 控件布局 315 13.3.3 空间是昂贵的 315 13.4 .NET Compact Framework中的高级用户界面 317 13.4.1 动态创建控件 317 13.4.2 用户控件和重定义现存控件的行为 321 13.4.3 使用透明位图区域 329 13.4.4 在应用中嵌入图像作为资源 335 13.5 小结 338 第14章 第3步:使用正确的数据访问模型 341 14.1 介绍移动应用数据访问 341 14.2 为数据的内存存储选择合适的抽象 342 14.3 为数据选择正确的长期储存模型 344 14.4 NET Compact Framework细节:ADO.NET 346 14.4.1 ADO.NET DataSet最基本的部分 346 14.4.2 使用ADO.NET的两种模型 351 14.4.3 储存长期数据的选项 385 14.4.4 SQL CE 387 14.5 小结 391 第15章 第4步:获得正确的通信模型 393 15.1 移动应用通信介绍 393 15.2 移动网络写代码 394 15.2.1 不要构建一个依赖通信的应用 396 15.2.2 不要因为任何延迟的时间阻碍你的用户界面线程 399 15.2.3 在适合你需要的最高抽象层工作 401 15.2.4 总是期望失败 401 15.2.5 模拟通信失败来测试应用的健壮性 407 15.2.6 保证数据同步过程对用户透明 409 15.2.7 假设数据传输率和反应时间会变化 410 15.2.8 在你的设计中尽早实现所需要的通信安全 410 15.3 通信和网络选择 411 15.3.1 Wi-Fi:本地区域网络 411 15.3.2 Bluetooth(蓝牙):个人区域网络 413 15.3.3 移动电话网络/移动电话 415 15.3.4 支架/PC电缆 419 15.3.5 网络电缆 420 15.3.6 IrDA 421 15.3.7 内存卡 438 15.4 把信息压到设备中 438 15.5 Web services 441 15.5.1 Web services简单描述 442 15.5.2 从移动设备中调用Web services 443 15.5.3 移动设备使用Web services时的挑战 446 15.6 小结 456 第16章 第5步:打包和部署移动应用 459 16.1 引言 459 16.2 你的移动应用需要签名吗? 460 16.3 安装运行时间以及其他需求的元件 462 16.3.1 对移动设备运行时间的动态部署 462 16.3.2 动态安装需要的应用构件 463 16.4 打包和安装选择 464 16.4.1 拷贝,运行/下载和运行 464 16.4.2 设备驱动的安装 464 16.4.3 台式计算机驱动的安装 464 16.4.4 通过储存卡的安装 465 16.4.5 基于开发人员工具的安装 465 16.4.6 基于ROM的安装 465 16.5 小结 466 第17章 结束语 467 附录A .NET Compact Framework的其他资源 470 附录B Visual Basic .NET示例 474 |
随便看 |
|
霍普软件下载网电子书栏目提供海量电子书在线免费阅读及下载。