作者只是講述客戶端開發的幾種方式,並不提供代碼,讀者可以去網上查找相應的代碼。
第一種開發方式:
從上圖中我們可以看到,服務器是客戶端開發的橋梁,不管是直接的或者是間接的,萬維網把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了。
這種開發方式很簡單,因為已經把各種接口封裝好了,做相應的調用即可。
以上內容為作者原創,如果有錯誤的地方,歡迎指出,謝絕轉載。