我在Sencha Touch中编写移动应用程序,后端是Rails。我发现随着我越来越深入Sencha,我已经越来越多地将这两者分开了:我基本上处于Rails仅用作模型存储(数据库)的位置,而Sencha通过JSON提取所需的一切 - 再现rails中已存在的大部分逻辑。
我的问题是,在将功能委派给每个应用程序时,您会提出什么建议?我已经在我的Sencha应用程序中实现了REST,因此它可以与用户和相关数据进行通信,并以相同的格式存储它。
这是用户会话管理的正确方法吗?我应该给铁轨更多的电力吗? IE:我在哪里存储会话?我可以在服务器上执行此操作吗?我应该将其作为会话存储管理吗?本地存储?我只是不知道。
我很感激任何建议。感谢。
答案 0 :(得分:7)
这不是你问题的具体答案,但我想补充一点,我确实认为你是在正确的路线上,我不会担心你已经超越了建筑界线,所以说话。
网络正在从一个呈现的文档(服务器完全执行所有操作,浏览器基本上是愚蠢的)到浏览器和服务器更加对称的同类文件 - 您的挑战更多地围绕着保留两个完全成熟的MVC应用程序同步!
(可以说,相对于客户端应用程序的丰富性,我们可能会看到一个服务器变得相当愚蠢的世界。我想这只是厚客户端/瘦客户机钟摆的下一个循环几十年;-))
但对于移动设备而言,这不仅仅是一些随意的计算机科学问题 - 移动设备可能很容易出现部分或零星的网络覆盖,因此对应用程序设计的最终测试是确定用户是否可以继续工作设备离线时的应用程序 - 例如,驱动到隧道中 - 然后在网络再次可用时重新同步。一个富有响应的客户端确实是唯一的出路。
在这种情况下,将会话丰富地存储在浏览器中似乎是一个合理的步骤。事实上,在单个客户端和服务器之间保持会话状态同步比在某些其他类型的数据记录(可能由多个客户端同时操作)中更容易。