目前除了一些非常简单的非联网应用(比如计算器、闹钟等),几乎所有的应用都是联网的应用(如新闻客户端、微信等),这些App客户端基本上只负责用户交互和数据采集展示,真正的数据和服务都存储在云端。那么移动端如何与后台交换数据并显示呢?打个比方,其实整个过程就跟去烧烤店吃烤串一样。以任何新闻客户端为例。当用户刷新(你有吃烤肉的想法)时,客户端开始整理数据请求(你开始穿衣、洗脸、思考去哪家餐厅吃饭),当用户界面开始显示时加载中(此时你正走在“马大姐烧烤店”的路上),几百毫秒后,请求数据已经到达服务器(你已经坐在马大姐烧烤店的餐桌前)),服务器开始查询client要的是哪些数据,是金融通道还是汽车通道(服务员递上菜单问你想吃什么),server理解client的想法开始准备数据(你点了20串肉串和10个大腰子),服务端看到你请求的是汽车通道和金融通道的数据(光着膀子的串烧师傅开始烤这20串肉串和10个大腰子),返回服务员,那个服务员一路小跑,把你要的烤串和腰子递给你。这时候说明数据已经回传给客户端了,客户端加载消失,你看到的是最新的两个通道。数据。客户端和服务器之间传输的数据是什么格式?现在流行的方式通常有两种,一种是类似于PB的二进制数据(ProtocolBuffer,谷歌定义的一种数据传输协议,以简洁、省流、易用着称)(二进制数据就是说你打开这个file你只能看到一串由0和1组成的数字,不能和你生活中认识的任何字母连接)传输,这种格式的好处是数据包小,重复的字段会被保存。另一种是JSON(JavaScriptObjectNotation),也是一种轻量级的数据传输格式。它使用一堆方括号来组织数据。与二进制不同,这种格式是人类可读的并且相对轻量级。所以应用场景非常多。以下数据为JSON格式。简单的解释就是people对应三个人,三个人就是方括号之间的三个花括号里的人。总结一下,很简单。移动端提出需求,服务器根据需求整理数据发送给你。针对不同的格式,移动端解析、展示、完成工作。其实不仅是移动端,前端网页与后台、后台与后台的关系也是如此。至于传送过程中发生了什么,咱们找个机会详细说吧。
