我使用 CouchDB 作为事件日志,我想在它之上构建简单的 UI,这样我就可以更轻松地查询事件。
我可以使用原始 HTTP 调用并手动构建视图,也可以使用 CouchApp 框架。
问题是这些框架似乎没有得到积极维护。
今天还有其他可能性吗?
沙发应用程序很酷,但您肯定需要一个工具来创建和部署它们。我使用术语“couchapp”来指代直接从 CouchDB 提供的任何应用程序,但这个名称肯定是超载的......
第一个将应用程序部署到 couchdb 的工具也被命名为“couchapp”(有点混乱?)。它是用 Python 编写的,它使用许多文件夹和子文件夹以及许多单独的文件来代表您的最终 _ddoc。它现在已被“erica”取代。
在 Node.js 而不是 Python 中运行的另一个选项是“ node.couchapp.js ”。这个不使用目录结构来表示 ddoc 结构,但允许您使用 javascript 像对象一样编写 ddoc。它安装了一个名为....(准备好了吗?)....“couchapp”的可执行文件。
最后,“ Kanso ”或“kan.so”,它不仅仅是一个推动工具,而且似乎是一种将其提升到新水平的认真尝试。这是我称之为“框架”的唯一一个。
它带来了一个包管理系统——您可以轻松下载和插入第三方 Kanso 包(及其依赖项)以扩展功能。模块系统可以将许多 javascript 模块捆绑到一个文件中以提供给浏览器。可能还有很多其他的东西——我才刚刚开始研究它,但似乎这可能是目前构建非平凡的沙发应用程序的最佳方式。
你看过艾丽卡吗?它是couchapp (Python)的 Erlang 继任者,具有更好的功能,有助于开发和部署 CouchApps。
明显缺乏活动也可能表明这些工具只是工作。Couchapp 在技术上已被 Erica 弃用,但它运行良好。
另请注意,设计 CouchApp 的方法有很多。Erica 和 couchapp 都实现了“设计文档中的文件系统”方法,其中设计文档包含可作为常规目录和文件访问的附件。在这种情况下,键是文件名和文件内容的值。
例如,Kansoapp.json
处理包含应用内容描述的文件。思考:CouchApps 的 Makefile。
这些差异也可能影响您的选择。
更新,2014
Cloudant 可能是当今最稳定的信息来源。couchapp.org 网站随波逐流,但该项目仍然以各种形式活跃。
还有 hood.ie 处于 alpha 阶段,这是一种想法的演变,与 Meteor.js 不同。
Kanso 仍然不会坐在 Windows 上。
这是 Cloudant 列表
• CouchApp.py
• Erica
• Soca
• node.couchapp.js
• Reupholster
• Kanso
• Situp
• Mouch
无耻的自我推销:https ://github.com/fiatjaf/reactive-couch
在本文中,我将描述(并为您提供一个可以使用和调整的模板)一个系统,用于创建基于 CouchDB 的列表和显示功能以及Facebook 的 React.js的服务器和客户端呈现的 CouchApp 。这是一个很好的系统,基于组件,非常易于维护,也可以爬取。
它不是一个框架(让某些人满意的东西)(而且,所有引用的选项都不是框架),它只是一个使用 React、curl.js和Erica等已建立工具的系统。
Soca 效果很好,已经用了一年多了,真的很满意。
至于前端层,我使用主干和主干.couchdb 适配器来管理数据并监听更改源以更新数据
https://github.com/quirkey/soca https://github.com/pyronicide/backbone.couchdb.js
至于关于 soca 的快速说明,我在使用 ruby 1.9.3 运行它时遇到了问题,但 REE(1.8.x) 仍然可以完美运行