



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
移动端与服务端交互移动端与服务端交互 内容简介内容简介 本文主要从架构上进行阐述 讲解移动端的开发的两种技术路线 以及移动端如何与服务 端进行交互 移动端开发移动端开发 移动端的开发主要有两种方式 第一种是基于手机的 API 开发方式 第二种是基于手 机端的浏览器开发方式 首先介绍这两种开发的方式以及优缺点 1 基于手机 API 开发 原理 手机端使用手机 API 如 AndroidAPI 进行开发 服务端只是一个数据提供者 如 JSON 手机端接到 JSON 后将 JSON 反序列化成对象 进行逻辑处理 再在界面层 进行展示 当然你也可以不用 JSON 用 XML 甚至你自己能读懂的某种字符串如 commaString 逗号分割的字符串 虽然这一切都没有 JSON 在 JAVA 中来的方便 本文就将使用 JSON 这种方式 相当于传统开发中的 C S 模式 优缺点 这种方式的优点在于 手机端开发更为灵活 可以应用手机 API 提供的所有 API 可以对手机进行底层的控制 如 可以使用系统提供的更炫的 UI 很方便的使 用摄像头 播放视频 拨打电话 调用联系人 发送短信 虽然后三者在 android 平 台用浏览器的方式也可以比较方便的实现 但这里讲的是针对全平台的思路 这 种方式的缺点也显而易见 手机端开发周期长 可移植性差 无法跨平台 即使你之 前已经有了很强大的 WEB 应用 针对手机客户端这部分 WEB 端也可能要重新开发 服务器角色 在这种方式中 服务器所扮演的是数据提供者的角色 它处理手机客户 端的请求 并将请求通过业务逻辑层的处理生成客户端要求的 JSON 回发到客户端 于是 视图层仅仅是显示 JSON 而已 没有 Jquery 没有 Ajax 甚至没有 HTML 其实这种方式就是开发传统意义上的 APK 相当于一个 c s 开户端 2 基于手机浏览器的开发 原理 遵循 Webkit 的标准为手机客户端开发跨平台的网站应用 这时手机端仅仅是一 个包了浏览器外壳的简单程序 这个外壳通过访问 Web 服务器 获得 HTML 流 并 将 HTML 用支持 WebKit 的浏览器控件解析 如 Android 的 WebView 从而实现界 面的展现 另外在 Android 中 还可以 重载 JavaScript 方法 获得更接近 Android 原生程序的用户体验 如将 JS 中的 alert 转换 成 Android 的 AlertDailog 再比如解 析链接中的 tel 调用拨号界面 等等 但互动效果依然有限 这种方法相当于传统 开发中的 B S 模式 优缺点 WebKit 方式的优缺点与 API 方式更好相反 广义的讲 WebKit 无法提供手 机原生 UI 对手机硬件的控制能力有限 导致程序交互性较差 由于视图层依赖于 Web 服务端 所以程序会更加依赖网络 可能更加耗费流量 但 WebKit 方式的优点 同样令人着迷 跨平台 手机端开发周期很短 如果你已经有了很强大的 WEB 应用 开发 WebKit 或许就仅仅是做一个新的视图层那么简单 对于最后一点 也许我该多 说几句 对于 JSON 方式 由于要使用 JSON 输出 你就要重新构造一个各种类转换 成必要 JSON 的逻辑 比如我要在手机客户端中显示一个用户的若干信息 我需要让 服务器传一个 User Json 给客户端 那这个 JSON 就要在服务器重新构造 那怎么构造 呢 BLL 要改 DAL 同样要改 这个不是个简单的事情 当然 你也可以增加一个序 列化对象为 JSON 的通用静态方法 但这样的方式往往并不是万能 首先通用静态方 法只能处理简单的对象 当一个对象中包含另一个需要被序列化的对象 那通用方法 则未必成功 又比如 你需要一些转换 比方说 username 属性 输出时改名为 uid 为了给客户端节约点流量嘛 那还是需要为每一个类增加对应的序列化方法 还是要在 BLL DAL 动手脚 延长开发周期 服务器角色 WebKit 方式的服务器角色 就不仅仅是数据提供者那么简单 还需要提 供完整的 HTML 视图 似乎看来 相比第一种方式 是加了视图层 但是从某种角度 说 添加视图却正好实现了对之前业务逻辑的复用 开发反而更为简单 总结 1 从界面效果用户体验角度来看 肯定是基于手机的 API 开发肯定要好 2 从项目开发速度角度来看 基于手机浏览器的开发要快 直接用 开发即可 移动端只要开发一个版本即可 基于手机的 API 开发 安卓和苹果需开发两个不同的 版本 3 从人力资源角度来看 基于手机的 API 开发需要多名精通安卓和苹果的开发人员 综合考虑 可以采用两种结合的方式 对于界面效果用户体验要求比较高的模块可以 采用基于手机 API 的开发方式 对于用户的订单管理 基本信息管理模块可以采用基 于手机浏览器的开发方式 我的上家公司就是采用这种开发方式 服务端与客户端交互服务端与客户端交互 1 服务端建议采用三层架构 再增加一个 WebService 层 2 客户端与服务器交互 分两种情况 第一种基于手机 API 开发 交互过程如下 客户端通过 http 协议访问服务器的一个页面 http localhost 8080 api Login aspx name 111 服务器经过处理后 把这个页面生成为仅有 json 数据的文本流 客户端得到 JSON 流后 反序列化为对象 业务处理 显示等等 交互图如下 服务器 移动客户端访问接口页面WebService数据库 通过http协议请求访问 调用webService访问数据 数据处理 返回结果 返回json结果 返回json结果 第二种基于手机浏览器开发 交互过程如下
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 智能体育赛事数据分析协议
- 高速公路通行费收取合作协议
- 商业保密保密协议要求
- 专业市场成品油供应协议
- 节能减排项目股权转让协议认缴及碳交易合同
- 货车返还协议
- 2025年安徽省濉溪县联考英语八下期末监测试题含答案
- 天津事业单位试题及答案
- 团校试题及答案
- 2025年能源管道建设与维护策划合作协议
- 《企业预算编制》课件
- 2025年海南农垦自然资源开发集团有限公司笔试题
- 2025年广西广电网络公司招聘笔试参考题库含答案解析
- 有载分接开关技术交流课件
- DB51T 1349-2011 油菜脱粒机规范
- DB31∕T 1148-2019 水量计量差错的退补水量核算方法
- 工务安全与应急处理
- 2021热性惊厥临床路径
- 钢结构雨棚吊装方案
- GB/Z 44047-2024漂浮式海上风力发电机组设计要求
- 2024年江苏省南通市中考地理试题卷(含答案)
评论
0/150
提交评论