《通过“分布式系统的8大谬误”反思APP的设计 第八篇 谬误8:网络配置都是类似的》 - 简书



《通过"分布式系统的8大谬误"反思APP的设计 第八篇 谬误8:网络配置都是类似的》 - 简书

相对于web开放来讲,移动设备总是让人出乎预料。对一个应用来说,可能大多数用户所处的网络配置都类似。不幸的是,这个假设的会在某些情况下导致一些问题。

类似谬误6,不是所有的网络都有相同的配置。例如,某些wifi网络允许设备之间建立点对点的通信,有些却不支持。让移动app与其他设备通信(比方,与桌面软件)可能因此非常困难,即使它们身处同个网络内。TN2152"传输文件的一些策略"简要总结了一些设备之间,以及远程服务之间通信的技术。

一个web服务最开始可能开发出来只不过是为了给iOS APP使用,即使以后为其他设备开放APP也不会遇到多大的困难。服务可能因此需要提供多种数据格式,客户端也能按需要选择接收数据的类型(xml,json),反正怎么方便怎么来。二进制和属性数据格式很困难在多个设备进行解析。对围绕一个核心服务器展开的服务,这不是什么大不了的问题,因为它可以向客户端提供所需的数据格式,并可在解释不同类型的数据。但是对于需要提供点对点通信的应用来讲(比方GameKit),一个iOS APP与一个Android App进行通信,或者同个应用不同版本的手机APP,这可就是大麻烦了。


Read full article from 《通过"分布式系统的8大谬误"反思APP的设计 第八篇 谬误8:网络配置都是类似的》 - 简书


No comments:

Post a Comment

Labels

Algorithm (219) Lucene (130) LeetCode (97) Database (36) Data Structure (33) text mining (28) Solr (27) java (27) Mathematical Algorithm (26) Difficult Algorithm (25) Logic Thinking (23) Puzzles (23) Bit Algorithms (22) Math (21) List (20) Dynamic Programming (19) Linux (19) Tree (18) Machine Learning (15) EPI (11) Queue (11) Smart Algorithm (11) Operating System (9) Java Basic (8) Recursive Algorithm (8) Stack (8) Eclipse (7) Scala (7) Tika (7) J2EE (6) Monitoring (6) Trie (6) Concurrency (5) Geometry Algorithm (5) Greedy Algorithm (5) Mahout (5) MySQL (5) xpost (5) C (4) Interview (4) Vi (4) regular expression (4) to-do (4) C++ (3) Chrome (3) Divide and Conquer (3) Graph Algorithm (3) Permutation (3) Powershell (3) Random (3) Segment Tree (3) UIMA (3) Union-Find (3) Video (3) Virtualization (3) Windows (3) XML (3) Advanced Data Structure (2) Android (2) Bash (2) Classic Algorithm (2) Debugging (2) Design Pattern (2) Google (2) Hadoop (2) Java Collections (2) Markov Chains (2) Probabilities (2) Shell (2) Site (2) Web Development (2) Workplace (2) angularjs (2) .Net (1) Amazon Interview (1) Android Studio (1) Array (1) Boilerpipe (1) Book Notes (1) ChromeOS (1) Chromebook (1) Codility (1) Desgin (1) Design (1) Divide and Conqure (1) GAE (1) Google Interview (1) Great Stuff (1) Hash (1) High Tech Companies (1) Improving (1) LifeTips (1) Maven (1) Network (1) Performance (1) Programming (1) Resources (1) Sampling (1) Sed (1) Smart Thinking (1) Sort (1) Spark (1) Stanford NLP (1) System Design (1) Trove (1) VIP (1) tools (1)

Popular Posts