从RestKit过渡到纯AFNetworking 2.0

yar*_*nov 24 core-data nsurlcache restkit-0.20 afnetworking-2 nsurlsession

我过去两年一直在使用RestKit,但最近我开始考虑从这些monolith框架过渡,因为它看起来真的有点过分.

这是我前进的优点:

  1. 使用NSURLSession进行后台提取非常需要,而RestKit只有实验分支用于过渡到AFNetworking 2.0.转换完成后没有实际日期.(主要原因)
  2. 无需网络库中的CoreData支持,因为不需要全功能的离线数据存储.
  3. 令人头疼的是响应/请求描述符的新概念,因为它们不支持路径模式中的不同参数(例如访问令牌参数),并且无法在具有自定义描述符的一行中创建对象请求操作.在这里,我将对象管理器的功能作为外观丢失.

I. 对象映射过程中RestKit的最大损失. 你能推荐你使用的独立库,它们表现出灵活和稳定吗?

II.我很伤心,我不需要功能齐全的存储,但我仍然需要在某些地方提供一些缓存支持.我听说NSURLCache在上一次操作系统发布中变得很有用.你有没有用它,策略是什么?当网络连接断开时,它是否返回缓存的API响应

III.有人面临同样的问题吗?您应用了哪些解决方案?也许有人可以提供一些关于他或她在使用纯AFNetworking的多个应用程序中使用的架构的建议

小智 3

I. 与其他评论者一致,AFNetworking + Mantle是一种与 Restful API 交互的简单而有效的方式,并取代您错过的 RestKit 对象映射过程。

二. 满足缓存支持的要求很大程度上取决于上下文。然而,我发现针对我最近的功能需求,缓存特定控制器屏幕的视图模型并且仅缓存 API 返回的参考数据使我能够保持应用程序逻辑相对简单,同时为用户提供一定的连续性。可以通过横切方式处理连接问题的简单错误通知。

三.与此方面相关的架构的一个想法是确保应用程序依赖的 API 根据应用程序体验提供数据。这使您的应用程序可以专注于它所擅长的领域(非常流畅的用户体验),并将逻辑移至更接近 API 依赖项(例如数据)的 API 中。这还有一个好处,就是减少应用程序的干扰。