Couchapp比Couchapp更简单吗?

时间:2011-05-01 15:26:49

标签: couchdb couchapp

具体来说,我发现“最终”成为Couchapp入门的一个障碍。我真的很喜欢CouchDB提供的应用程序的想法,但我想开始而不必弄清楚“事件”(这看起来非常有趣,就像我想调查的东西,但现在不是)。我只想使用我现有的javascript技能和我的新CouchDB知识来制作一个简单的CouchDB应用程序。是否有比CouchApp更简单的CouchApp?或者我可以让它更简单吗?或者我应该只是喝kool-aid并学习“偶然”的东西?

编辑(3个月后):

感谢大家的回答 - 这就是我的想法:

您可以轻松使用CouchApp的核心功能,而无需喝任何人的Kool-Aid。具体来说,从CouchDB提供应用程序绝对不需要“evently”。 CouchApp的核心优点就是“推送”功能,它可以从文件和文件夹构建您的“设计文档” - 其余部分似乎都是您不必使用的整个JavaScript框架。

一旦你克服了如何从CouchDB实际提供页面和javascript的障碍,你可以按照自己喜欢的方式构建你的应用程序。它只需要简单的AJAX来获取文档和保存文档,因此可能性无穷无尽!

5 个答案:

答案 0 :(得分:10)

如果您正在寻找替代方案,可以尝试Kanso。网站上有一个tutorial

Kanso还可以解决Dominic Barnes关于使用单页应用程序进行AJAX调用的问题。相反,您可以在可能的情况下将视图呈现在客户端(使其快速),但如果需要也可以呈现核心内容服务器端,因此搜索引擎和没有javascript的用户仍然可以获得它:)

答案 1 :(得分:4)

说实话,我也从未喜欢过Evently。但是,我之前也放弃了CouchApps,因为它基本上要求你在整个应用程序中使用AJAX,从可用性的角度来看这并不好。

在任何情况下,如果您仍想使用CouchApps,我建议您使用Backbone.JS而不是Evently。 (甚至还有用于骨干网的第三方CouchDB connector版本)

答案 2 :(得分:3)

您可以使用_attachments文件夹作为应用程序的文档根目录。例如,如果_id的内容为_design/testapp.couchapprc为:

{
  "env": {
    "default": {
      "db": "http://USERNAME:PASSWORD@localhost:5984/testdb"
    }
  }
}

然后文件_attachments/index.html位于http://localhost:5984/testdb/_design/testapp/index.html

然后,您可以使用jQuery构建您的应用程序,并使用getJSON进行查询。或者您可以使用从vendor/couchapp/_attachments/loader.js加载的包含的包装器。

您还可以使用showlist函数投放动态HTML。

答案 3 :(得分:1)

[很久以后]

在过去的几年里,我测试过许多不同的“couchapp”工具。这些工具都只是花哨的JSON构建器,它们将编写的Javascript和附件拼凑到CouchDB文档中并将它们推送到数据库。

即使您没有编写严格的CouchApps(虽然它们仍然可行,但炒作也已经消失了),您仍然需要一个工具来编写CouchDB设计文档。

今天,许多这些工具已经死亡 - 特别是Kanso,它试图做很多事情 - 而且我们只剩下Python CouchappCouchDB BootstrapErica和{ {3}}

管理设计文档仍然很复杂,但现在Ddoc Lab是我的首选解决方案,因为它在浏览器中运行,有许多有趣的功能(如包括和预处理资源)并使用PouchDB - 可能链接到CouchDB以存储您的项目。

答案 4 :(得分:0)

我有一个名为caster.py的简单couchapp替代品。它支持push,pull和生成设计文档的规范目录结构。此外,它还为map / reduce函数创建了测试用例的运行样本,这些函数可以挂钩到dev进程中。这是一个没有多余装饰的单个干净的python文件。

https://github.com/vivekpathak/casters/releases/latest

它不仅是用于管理couchdb设计文档中的代码的完整包 - 它允许使用专业编程工具,如调试器,分析器,版本控制等。