ski*_*ift 7 couchdb mongodb offlineapps node.js offline-browsing
我有一个我想创建的应用程序.但我不知道该怎么做.我正在使用node.js并且想使用couchdb,但是如果像mongodb或riak这样的东西会是更好的选择,我愿意听取想法.但是,我有一个网站,比方说
cool.com
并且有一个couchdb实例,以及一个管理商店的站点.说一个购物车.数据库包含所有商店的项目和数据.该应用程序本身有一个管理后端来管理该数据,并可以更改项目.我希望能够做的是,能够让用户与互联网断开连接,并且仍然有管理员后端工作.我意识到这个工作我需要使用客户端框架与我的模型/路由/控制器/无论如何.但我不确定的是,如何让网站在离线时运行.couchdb如果在本地安装可以在重新联机时将数据从本地同步到远程,如果管理员用户在计算机上,我可以让他们安装沙发.但那可能很混乱.
此外,如果管理员用户在平板电脑或手机上怎么办?我需要有一个真正的移动应用程序和桌面应用程序才能执行此操作吗?有什么方法可以设置它,所以它是最终用户无缝的.我也希望这对最终用户来说也是离线的,但更多的受众是管理员.
另一个用例,就是POSore系统.电力消失了.但是POS系统可以从网络加载到平板电脑上,如果wifi外出,他们仍然可以进行基于卡的销售,因为该应用程序可以离线使用.
我只是不知道该怎么做.我假设我需要一个可以处理数据和后端的客户端框架.类似于余烬或棱角分明的东西.theres也在一个堆栈中,如流星和德比js,但那些并非完全脱机,但是为了实时的外观.虽然流星确实有迷你mongo所以它可能值得研究.
我希望有人可以帮我弄清楚如何让这个设置工作,最好是用沙发,但是如果我有办法同步数据,其他的nosql也会工作.
如果您希望客户端在脱机并上线时工作正常(例如POS断电),那么我建议您通过后台发布或同步到云使该应用主要在本地存储上工作。
本地存储选项可以包括从sqlite,sqlexpress,firebird之类的任何内容到无SQL选项(如mongo,couchdb等)的所有内容。
但是对于客户端或设备,请考虑配置的简便性和选件的重量。您还需要考虑客户端的类型-您是否拥有从设备到PC的许多平台?您不希望配置和运行时占用大量资源。在服务方面很好。
在服务方面,请考虑数据的性质,以及它是否更适合事务/关系系统(银行等)或最终一致/非事务(无sql)的文档。不要忘记混合动力。还考虑服务平台-例如,节点与mongodb(JSON对象从前到后)配合得很好...
设备和服务存储选项可以通过服务接口(肥皂,rest / http,套接字等...)分开(并且可能应该是不同的)。
很难找到一个适合所有解决方案的大小,但通常设备或客户端上像sqlite这样的轻量级产品可以简化安装/配置,而像sqlserver / mysql或ouchdb / mongodb这样的服务方面的可伸缩性却很有意义。
一些链接阅读:
您要问的是,这是一个非常开放的问题,没有一种适合所有解决方案的尺寸。希望我提供了一些可供考虑的选项。
有一个有趣的项目称为 AppJs ( http://appjs.com/ ),它将 Node.JS 和 Chrominium 打包为桌面环境。它目前非常新鲜(文档很少),但看起来足够简单(您将使用与在线申请相同的工具)。
至于同步离线和在线环境。我怀疑您能否按照您设想的方式依赖 CouchDB。CouchDB 移动支持并不像某些文档所建议的那么全面。所以从这个意义上说,它与使用 SQL/Mongo/Punchcards 没有什么不同。
您可能会更幸运地设计基于 XML 或 JSON(或纯文本)的合适序列化方案,并在在线和离线安装之间传递文件。
编辑 - 自从写这篇文章以来,Node Webkit - http://nwjs.io/ - 显然是 App.js 最明显的替代品。它有一个非常简单的 API 和一些很棒的功能。
| 归档时间: |
|
| 查看次数: |
13063 次 |
| 最近记录: |