我正在构建iOS客户端应用程序以与现有的后端架构进行接口。为了减少延迟,API调用和有效载荷,为了加快索引,“缓存”模型数据客户端会很好,然后根据需要相应更新客户端/服务器端。iOS客户端:将服务器端数据“缓存”到永久存储
目前的理论堆栈会是这个样子:
Server Side >>>>>>>>>>>>>>>>> Client Side
-----------------------------------------
PHP >> JSON >> CORE DATA >> UIKit Objects
注:另外值得一提的是,iOS的客户端,同时它本身秉承MVC内部会在本质上是一个“查看”中一个更大的MVC客户端 - 服务器架构。因此,就像在用户操作后更新模型或在模型更改后更新视图一样,服务器需要与客户端更改同步,并且客户端需要与服务器端更改同步。
一些背景:
答:许多不同的数据结构可以过来管道和将要建设成为UIViews
动态。一个模式可能必须被定义(我不确定除了记住可接受的对象结构是什么之外,遵守模式客户端是否有“最佳方式”)。我意识到需要将与创建自定义视图(“视图”模型)有关的模型数据与将在这些视图中呈现的模型数据(“常规”模型)分开。 B.最终用户应该能够立即CRUD(创建,读取,更新,销毁)在这些视图中呈现的大多数数据(但不能CRUD视图本身)。他们可能以后需要在Web界面或其他上下文中查看。
C. RestKit看起来很适合从API到JSON到COREDATA
。我需要确定它是否需要将客户机模型副本推送到服务器时,它在结构上支持回调。也许最好的方法是在发生更改时在客户端模型中注意并通知基于RestKit的HTTP管理器将其传递到服务器。
终极问题: 任何人都可以谈论最佳实践,陷阱,技巧和框架与这种类型的体系结构? (特别是当涉及到性能和客户端和服务器之间的工作分配,但一般建议也非常感谢。)