iOS应用架构谈(更新中).pdfVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
目 录 (一 ):架构设计的方法论 (二 ):View层的组织和调用方案 (上 ) (二 ):View层的组织和调用方案 (中 ) (二 ):View层的组织和调用方案 (下 ) (三 ):网络层设计方案(上) 本文档使用 看云 构建 - 2 - (一 ):架构设计的方法论 (一 ):架构设计的方法论 原文出处 :http///cn/articles/ios-app-arch-part-01 摘要 :iOS客户端应用架构看似简单 ,但实际上要考虑的事情不少。本文作者将以系列文章的形式来回答 iOS应用架构中的种种问题 ,本文是其中的第一篇 ,主要讲架构设计的通识和方法论等 ,同时还讨论了大 家关心的架构分层、是否要有common文件夹等问题。 缘由 之前安居客iOS app的第二版架构大部分内容是我做的 ,期间有总结了一些经验。在将近一年之后 ,前同 事zzz在微信朋友圈上发了一个问题 :假如问你一个iOS or Android app的架构 ,你会从哪些方面来说 呢 ? 当时看到这个问题正好在乘公车回家的路上 ,闲来无聊就答了一把。在zzz在微信朋友圈上追问了几个问 题之后 ,我觉得有必要以文章形式专门来讲一些个人见解。 其实对于iOS客户端应用的架构来说 ,复杂度不亚于服务端 ,但侧重点和入手点却跟服务端不太一样。比 如客户端应用就不需要考虑类似C10K的问题 ,正常的app就根本不需要考虑。 这系列文章我会主要专注在iOS应用架构方面 ,很多方案也是基于iOS技术栈的特点而建立的。因为我个人 不是很喜欢写Java ,所以Android这边的我就不太了解了。如果你是Android开发者 ,你可以侧重看我提 出的一些架构思想 ,毕竟不管做什么 ,思路是相通的 ,实现手段不同罢了。 当我们讨论客户端应用架构的时候 ,我们在讨论什么 ? 其实市面上大部分应用不外乎就是颠过来倒过去地做以下这些事情 : 简单来说就是调API ,展示页面 ,然后跳转到别的地方再调API ,再展示页面。 那这有什么好架构的 ? 非也 ,非也。 包不同 《天龙八部》 本文档使用 看云 构建 - 3 - (一 ):架构设计的方法论 App确实就是主要做这些事情 ,但是支撑这些事情的基础 ,就是做架构要考虑的事情 : 调用网络API。如何让业务开发工程师方便安全地调用网络API ?然后尽可能保证用户在各种网络环境 下都能有良好的体验 ? 页面展示。页面如何组织 ,才能尽可能降低业务方代码的耦合度 ?尽可能降低业务方开发界面的复杂 度 ,提高他们的效率 ? 数据的本地持久化。当数据有在本地存取的需求的时候 ,如何能够保证数据在本地的合理安排 ?如何 尽可能地减小性能消耗 ? 动态部署方案。iOS应用有审核周期 ,如何能够通过不发版本的方式展示新的内容给用户 ?如何修复 紧急bug ? 上面几点是针对App说的 ,下面还有一些是针对团队说的 : 收集用户数据 ,给产品和运营提供参考 合理地组织各业务方开发的业务模块 ,以及相关基础模块 每日app的自动打包 ,提供给QA工程师的测试工具 一时半会儿我还是只能想到上面这三点 ,事实上应该还会有很多 ,这里就不一一列举了。 所以当我们讨论客户端应用架构的时候 ,我们讨论的差不多就是这些问题。 这系列文章要回答哪些问题 ? 这系列文章主要是回答以下这些问题 : 1. 网络层设计方案 ?设计网络层时要考虑哪些问题 ?对网络层做优化的时候 ,可以从哪些地方入手 ? 2. 页面的展示、调用和组织都有哪些设计方案 ?我们做这些方案的时候都要考虑哪些问题 ? 3. 本地持久化层的设计方案都有哪些 ?优劣势都是什么 ?不同方案间要注意的问题分别都是什么 ? 4. 要实现动态部署 ,都有哪些方案 ?不同方案之间的优劣点 ,他们的侧重点 ? 本文要回答那些问题 ? 上面细分出来的四个问题 ,我会分别在四篇文章里面写。那么这篇文章就是来讲一些通识啥的 ,也是开个 坑给大家讨论通识问题的。 架构设计的方法 所有事情最难的时候都是开始做的时候 ,当你开始着手设计并实现某

文档评论(0)

max + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档