Поддержка языка / фреймворка для взаимодействия с CouchDB

StackOverflow https://stackoverflow.com/questions/889410

Вопрос

Мне интересно узнать, существуют ли какие-либо серверные платформы веб-приложений, которые хорошо интегрируются с CouchDB?Есть ли у кого-нибудь какой-нибудь опыт в этом?Кажется, что динамический язык был бы хорошо приспособлен для работы с JSON, но мне больше интересно услышать о том, как он будет вписываться в фреймворк и дизайн приложения.

Это было полезно?

Решение

Два фреймворка, которые я бы предложил для CouchDB, - это Ruby on Rails и Django.Оба имеют небольшой файл, который вы можете включить, что позволяет легко взаимодействовать с CouchDB.Для Ruby / Rails это дает вам возможность писать код, который выглядит следующим образом (фрагменты кода, взятые отсюда):

# Create the database
server = Couch::Server.new("localhost", "5984")
server.put("/foo/", "")

# Insert a new document into the database
doc = <<-JSON
{"type":"comment","body":"First Post!"}
JSON
server.put("/foo/document_id", doc)

# Get the document back later
res = server.get("/foo/document_id")
json = res.body
puts json

Python / Django позволяет вам сделать то же самое с относительно минимальным объемом работы (смотрите здесь).Оба они не относятся к уровню веб-фреймворка, но требуют минимального объема работы по настройке и довольно просты в использовании в Rails и Django.Подход Django по-прежнему требует установки некоторых пакетов, поэтому, если вы просто не можете этого сделать по какой-то причине, вам подойдет подход Rails.

Еще одно хорошее практическое руководство по Python в Django можно найти здесь (также взято из часто задаваемых вопросов CouchDB).

Другие советы

В зависимости от того, что вы хотите создать, CouchApp может быть чем-то, на что стоит обратить внимание:Он специально разработан для написания приложений с помощью CouchDB:

http://wiki.github.com/jchris/couchapp/manual

Единственным веб-фреймворком, который посвящает себя CouchDB, в настоящее время является Набор CouchDBKit для Python.

Ознакомьтесь с официальной вики-страницей, на которой указано, как начать работу на вашем языке:

http://wiki.apache.org/couchdb/Basics

Выберите язык и фреймворк, которые подходят вам лучше всего, а затем используйте вместе с ним одну из библиотек light CouchDB.

Похоже, что на данный момент для CouchDB все развивается довольно быстро.Я уверен, что скоро появятся новые фреймворки с поддержкой CouchDB.В настоящее время я изучаю возможность создания одного из них для PHP.

Я добился хорошего успеха с jcouchdb для Java и CouchApp для JavaScript и CouchDBKit с Python.Все они активно разрабатываются, с открытым исходным кодом, хорошо спроектированы и их легко улучшить, если в них не хватает чего-то, что вам действительно нужно.Я отправил исправления и улучшения функций как для jcouchdb, так и для couchapp.

На самом деле, вам на самом деле не нужен такой фреймворк.Вместо этого вы можете просто написать все веб-приложение в CouchDB.Это позволяет вам генерировать HTML-файлы или любой другой производный от XML формат, и вы даже можете использовать HTML-шаблоны.Я считаю это хорошим выбором, потому что JavaScript - богатый и гибкий язык.С другой стороны, у вас нет излишнего соединения между базой данных и вашим веб-приложением.

Для получения более подробной информации ознакомьтесь: http://books.couchdb.org/relax/design-documents/shows

Есть также связанный с этим вопрос: Использование CouchDB для обслуживания HTML

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top