понедельник, 22 августа 2011 г.

Re: Mongoid или MongoMapper

Использовал оба

Они почти одинаковы, но:
- код Монгоида почти в 3 раза больше по размеру
- Монгоид испльзует весьма странный API для работы со встроенными
обектами (мне лично сильно не нравится некоторые части АПИ монгоида,
но может это только лично у меня такие проблемы)
- У МонгоМаппера не было нескольких мелких фич (полгода назад, щас
вроде есть)
- Для некоторых распространенных библиотек нет интеграции с
монгомаппером, но их обычно довольно просто добавить самому за пару
часов.
- У монгомаппера классный и простой код, исходники читаются свободно.

Вот статистикак исходного кода https://github.com/alexeypetrushin/mongo_db/raw/master/docs/code_stats.png

Кому нужны миграции, мне пришлось сделать для обоих (хотя щас вроде
какой-то специальный гем появился, поищите)
https://github.com/alexeypetrushin/mongoid_misc (от монгоида отказался
и эту версию больше не поддерживаю, но вроде работает)
https://github.com/alexeypetrushin/mongo_mapper_ext

П.С. может будет интересно, еще один проект (мой)
https://github.com/alexeypetrushin/mongo_db делает следущее:

- АПИ драйвера монго не очень удобный, этот гем его дополняет и делает
таким-же удобным каким мы привыкли работать с моделями (при 100%
обратной совместимости).
- Сохранение любых (не моделей, обычных обьектов, в том числе
вложенных и тд) руби обьектов в монго + такой-же удобный АЙПИ для
работы с ними как с моделями
- Модель, в отличии от МонгоМаппера и Монгоида не пытается скрыть
особенности монго за АктивРекорд-подбной абстракцией + скопы,
валидации, колбеки, вложенные модели, ...

По функционалу получилось почти то-же самое что и в МонгоМаппере/
Монгоиде, но за счет того что не делается попытка представить монго в
виде АктивРекорд а наоборот делается ставка на его особенности почти
ничего писать не пришлось, и код получился в несколько раз меньше чем
у Монгоид/МонгоМаппера (он тоже есть на приведенном выше графике)

--
--
Данное сообщение отправлено Вам, так как Вы являетесь подписчиком группы "RubyOnRails to russian" на группах Google.
FAQ группы находится по адресу: http://ru.wikibooks.org/wiki/RubyFAQ

Для того, чтобы отправить сообщение в эту группу, пошлите его по адресу
ror2ru@googlegroups.com
Чтобы отменить подписку на эту группу, отправьте сообщение по адресу: ror2ru-unsubscribe@googlegroups.com
Дополнительные варианты находятся на странице группы http://groups.google.com/group/ror2ru?hl=ru

Комментариев нет:

Отправить комментарий