客户端开发方式
2014-12-29 11:49 奇迹时代 阅读(2527) 评论(7) 编辑 收藏 举报作者只是讲述客户端开发的几种方式,并不提供代码,读者可以去网上查找相应的代码。
第一种开发方式:
从上图中我们可以看到,服务器是客户端开发的桥梁,不管是直接的或者是间接的,万维网把html文件分布到各种各样的服务器上面,通过http协议获取到的html网页,其中的数据正是我们想要的。作为普通的个人开发者,我们理论上不知道大型企业的服务器和数据库,但是网页却是家喻户晓,人人都能浏览的,而且获取的都是最新的消息数据。这就给客户端开发提供了另一种途径。
我们不在乎服务器那一方发生的操作,因为它们已经把我们想要的数据全部通过网页(html文件)的形式展示出来了,也就是说我们仅仅需要模拟http请求获取网页(html文件),然后通过相应的解析方法获取想要的数据即可。
步骤:
1、模拟http请求,这是典型的 请求/相应 模型。
2、从返回的数据读取字节流,获得html字符串。
3、采取相应的技术解析html字符串。(Jsoup,HttpAgilipyPack等等,视相应的平台而言)
4、采用数据绑定的形式展示数据,Android为Adapter,WP为 ItemSource,原理是一样的,都是从集合里面提取一条条数据,然后绑定到项控件。(要求懂得链表(List)、哈希表(HashMap)等数据结构)
缺点:
1、访问步骤多,开销就大。
2、通常html文件都比较大,相比JSON数据来说,解析html文件的时间要长得多。
第二种开发方式:
以典型的百度天气接口(JSON数据)来说,这种是最简单的,因为它返回的是最轻量级的数据,当然还有返回XML文件的,这种稍微比较臃肿一些,因为其包括了各种节点、元素等等。
步骤:
1、不用多说,依然是模拟http请求,不懂的看看万维网。
2、从返回的流(有可能直接返回JSON字符串)提取JSON字符串。
3、解析JSON字符串。
另外还有聊天客户端:QQ、易信等,基于socket的,TCP/IP的知识至关重要。
优点:
企业级应用程序广泛采用的开发模式,简单高效开销低,容易维护,部署好服务器就行。
第三种开发方式:
那就是常见的浏览器客户端了,没什么好介绍的,PC上各种各样的浏览器都是。
第四种开发方式:
直接从数据库提取数据,这种常见于轻量级的客户端,如:记事本、便签等等,操作的是本地数据库(MySQL)。
第五种开发方式:
其实这种开发方式有一个过程就是第三种开发方式,也就是说它是从第三种开发方式衍生出来的,其原理是:
企业开发者编写SDK,把服务器中的部分可以开放的接口封装成相应的API,然后发布这份SDK供其他企业或个人开发者使用,于是就可以根据这份SDK开发相应的客户端,最常见的就是:新浪微博、人人网等SDK了。
这种开发方式很简单,因为已经把各种接口封装好了,做相应的调用即可。
以上内容为作者原创,如果有错误的地方,欢迎指出,谢绝转载。