【问题标题】:Is there a simpler Couchapp than Couchapp?有比 Couchapp 更简单的 Couchapp 吗?
【发布时间】:2011-08-16 11:58:39
【问题描述】:

具体来说,我发现“事件”对于开始使用 Couchapp 有点障碍。我真的很喜欢从 CouchDB 提供应用程序的想法,但我想开始而不必弄清楚“事件”(这看起来很有趣,就像我想调查的东西,但不是现在)。我只想使用我现有的 javascript 技能和新的 CouchDB 知识来制作一个简单的 CouchDB 应用程序。有比 CouchApp 更简单的 CouchApp 吗?或者我可以让它更简单吗?还是我应该只喝清凉饮料并学习“有事”的东西?

编辑(3 个月后):

感谢大家的回答——这就是我的发现:

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

一旦您克服了弄清楚如何从 CouchDB 实际提供页面和 javascript 的障碍,您就可以按照您喜欢的任何方式构建您的应用程序。只需要简单的 AJAX 就可以获取文档和保存文档,所以可能性是无穷的!

【问题讨论】:

    标签: couchdb couchapp


    【解决方案1】:

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

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

    【讨论】:

    • 看起来 kanso 不见了?已发布的链接不再有效。
    【解决方案2】:

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

    无论如何,如果您仍想使用 CouchApps,我建议您使用 Backbone.JS 而不是 Evently。 (甚至还有一个 3rd-party CouchDB connector 构建主干)

    【讨论】:

    • 我以前见过人们提到它,非常有趣的概念,我一定会去看看。 :)
    • 从“可用性的角度来看很好”,AJAX 有什么不好?请展开。
    【解决方案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。

    【讨论】:

      【解决方案4】:

      [多年后]

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

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

      今天,这些工具中的许多已经死了——特别是 Kanso,它试图做这么多——我们只剩下 Python CouchappCouchDB BootstrapEricaDdoc Lab

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

      【讨论】:

      • 我今天尝试使用 Python CouchApp 让任何东西都能正常工作,但是虽然该工具可能还没有死,但它似乎至少在生命支持上:文档比有用更令人困惑,没有任何工作如docs 和 couchapp.org 重定向到 couchdb.apache.org。也许一旦 CouchDB 2.0 发布一段时间,项目就会恢复。
      【解决方案5】:

      我有一个名为 caster.py 的简单 couchapp 替代品。它确实支持推送、拉取和生成设计文档的规范目录结构。此外,它还为 map/reduce 函数的测试用例创建运行样本,这些函数可以连接到您的开发过程中。它是一个干净的 Python 文件,没有多余的装饰。

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

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

      【讨论】:

        猜你喜欢
        • 2011-05-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多