Tuesday, October 9, 2012

Системы eCommerce на Python — техническое сравнение http://habrahabr.ru/post/101471/

http://habrahabr.ru/post/101471/

11 августа 2010 в 13:04

Системы eCommerce на Python — техническое сравнение перевод

В краткий обзор вошли веб-приложения на Python с открытым исходным кодом и возможностью расширения: GetPaid, EasyShop, LFS, Satchmo, Perfect Sale.
Материал публикуется с целью привлечь внимание отечественных разработчиков к e-commerce open source решениям на python в продолжение темы Open Source решений для электронной коммерции на PHP: habrahabr.ru/blogs/open_source/101072/

Примечание: оригинальный перевод снабжён дополнениями, выделенными курсивом.

GetPaid


Лицензия: ZPL
Технологии: Python 2.4, Plone 3.x (поддержка бета-версии Plone 4)
Расширяемость: скины, портлеты
Известных сайтов/пользователей: 16
Комплексное решение, надстройка для Plone.
Возможности: дотации, оплата за публикацию (объявления о работе, реклама и т.п.), любой контент может быть куплен, система скидок, доставка UPS с расчётом стоимости доставки в реальном времени, хорошая документация, тесты, продукты GetPaid доступны на множестве языков и все продукты могут помечаться переводными тегами. 
www.plonegetpaid.com
Есть интеграция с PloneFormGen и SalesForce.
Языки: Spanish, Italian, Portuguese, Dutch, German, French, Chinese, Finnish, Japanese
Поддержка нескольких валют.
Способы оплаты: Authorize.net (США), Ogone (Европа), Google Checkout (простая интеграция, только для US и UK), DPS PXPay, PayPal, Payflo Pro, Paymentech, ClickandBuy, Pagseguro (Brazil), Luottokunta (Finland), PaymentExpress PXPay (Aust/NZ, S. Africa/US/UK/Asia), NetCash (S. Africa), Network Merchants, VCS (S. Africa), Verkkomaksut (Finland), VirtualMerchant, Dummy processor (для тестирования).


EasyShop


Лицензия: GPL
Технологии: Python 2.4, Plone 3.2.5
Расширяемость: скины, портлеты
Известных сайтов/пользователей: немного (большинство перешли на LFS?) по информации на официальном сайте, 500 крупнейших немецких магазинов
Комплексное решение, надстройка для Plone.
www.geteasyshop.com
wiki.github.com/ned14/Easyshop/starttoendtutorial
Последние релизы и новости проекта датированы 2008-м годом.

Lightning Fast Shop (LFS)


Лицензия: BSD
Технологии: Python 2.6, jQuery, jQuery UI, TinyMCE, Django
Расширяемость: шаблоны продуктов, портлеты
Известных сайтов/пользователей: 11 www.getlfs.com/live-shops
Возможности: лёгкая настройка, простой интерфейс управления, функциональный магазин «из коробки» и хорошо продуманный дизайн. Отличная производительность!
bitbucket.org/diefenbach/lfs-buildout-development
www.getlfs.com/week-lfs-42
Проект активно разрабатывается. Есть официальная русификация. Заявлена поддержка БД: MySQL, Postgres, Oracle, SQLite; веб-серверов: Apache, lighttpd, nginx; memcached, Solr.
Есть демо: www.getlfs.com/demo и список работающих магазинов (в том числе, российский):www.getlfs.com/live-shops


Satchmo


Лицензия: BSD
Технологии: Python, Django 1.2.1
Расширяемость: очень высокая
Известных сайтов/пользователей: как минимум 67
Satchmo — полностью готовый веб-магазин. Интерфейс администратора работает отлично, но несколько запутанный и задаёт очень много вопросов.
www.satchmoproject.com
Проект активно разрабатывается с 2006-го года.
Платёжные системы: Authorize.net, Trustcommerce, Google checkout, Cybersource, Paypal, Protx, Sermepa, выписка счетов.
Языки: French, German, Italian, Spanish, Swedish, Bulgarian, Portuguese, Korean, Hebrew, Turkish.
Интеграция с несколькими системами доставки: UPS, USPS, Fedex и др.
Возможностей — огромное количество, в том числе мультисайтовость, интеграция с Google analytic и поддержка Google adwords. Хорошая документация.
.


Считаю необходимым добавить в список развивающийся проект Perfect Sale — python-движок французской разработки.

Perfect Sale


Технологии: Python
Известных сайтов/пользователей: по официальной информации — 5. www.perfect-sale.com/nos-boutiques-e-commerce
Возможности: CMS, CRM, ERP, SEO, статистика. Из системы оплаты поддерживается только PayBox и выписка счетов. Планируется представить проект на PyCON FR 2010.
www.perfect-sale.com


Заключение


Все протестированные решения работоспособны «из коробки». Два Plone-решения для нас имеют определённые преимущества, так как проект нам знаком, но Django-проекты обеспечивают лучшее быстродействие. LFS несколько выделяется из списка, так как неплохо выглядит сразу после установки.
Возможность запуска на Google App Engine отсутствует у всех проектов.

К сожалению, ни один из продуктов не поддерживает российские платёжные системы, а вот зарубежные — во множестве. Аналогично, есть переводы на некоторые языки, кроме русского. Если у вас есть дополнения и уточнения — заранее спасибо!
+33
74
komtet 18,5

комментарии (25)

0
hodik11 августа 2010 в 13:54#
С определенными хаками на GAE можно поднимать Django-приложения.
+1
trevel11 августа 2010 в 14:28#
ну и толку, если там noSQL база данных и свое приложение прийдется переписывать с нуля.
0
hodik11 августа 2010 в 14:49#
Существуют два проекта для почти прозрачной поддержки GAE в Django: Google App Engine Helper for Django иDjango-nonrel.
+1
trevel11 августа 2010 в 14:56#
да, я знаю об этих проектах. И это касается только самой django. Там портируют основные приложения. Естественно админка не подниметься или что-то сложное тоже — а в этом django как-бы рулит.
В общем эти проекты предоставляют привычную среду для django-разработчиков, но вот сами приложения нужно полностью переписывать, так как набор инструментов для работы с хранилищем данных сильно отличается. 

Как итог — проектирование приложения с нуля в привычном окружении.
–1
hodik11 августа 2010 в 15:01#
Тогда бессмысленно замечание о невозможности запуска на GAE. Проще поднять несколько нод на Amazon EC2 или Rackspace.
+1
trevel11 августа 2010 в 15:05#
ну я ответил на «поднимать Django-приложения», саму то django запустить можно с органиченным функционалом.
тут дело в постановке задачи. 
если проект новый и хорошо ложиться на noSql базу, то возможно и стоит смотреть в сторону GAE. Если нет, то Amazon EC2 предпочтительнее.
+2
baka_cirno11 августа 2010 в 15:34#
Очевидно, вы не совсем в курсе. Это не «определенные хаки», а полноценная работа, я бы даже сказал, портирование. Ни о каком прозрачном или «почти прозрачном» переносе речи не идет, несмотря на тот же nonrel.
0
hodik11 августа 2010 в 16:07#
Это — вопрос терминологии. Но мы друг друга поняли.
+1
trevel11 августа 2010 в 14:39#
делал магазин на LFS. Неплохой движек. Довольно проворный и простой.
Пришлось дописывать некоторый функционал: валюты, русификация (сейчас уже есть) еще что-то по-мелочи.

С оптимизацией запросов туго, особенно если используется функционал «Фильтры». Но с использыванием Memcached (и приложения Johnny Cash в меньшей степени) нагрузка на базу вполне приемлемая. А если кеш не использовать и иметь в наличии пару тысяч товаров — то тормоза обеспечены.

Также нет функции экспорта-импорта, поэтому серьезно использовать такой движек сложно.
0
komtet11 августа 2010 в 15:09#
Можно нам посмотреть на магазин? Есть русификация и другие дополнения в свободном доступе?
+1
trevel11 августа 2010 в 15:14#
можно greenup.com.ua. Единственное он не заточен под IE :)
русификацию делал сам, но сейчас есть официальная в открытом доступе.
0
komtet11 августа 2010 в 15:20#
Спасибо. К слову, можно добавить на официальный сайт: www.getlfs.com/live-shops
Будет второй русскоязычный магазин в списке.
+1
vvd11 августа 2010 в 15:03#
Делал для жены магазин на Satchmo, полтора года уже, полет нормальный. Минимальная русификация из коробки была, расширить элементарно благодаря простоте i18n в Django. Из своего пришлось дописывать только интеграцию с Робокассой и пост. оплату (наложенный платеж).

В целом советую, единственное что по состоянию на начало 2009 г. это было совершенно не «коробочное» решение, а конструктор.
0
komtet11 августа 2010 в 15:08#
Сообщество не сочтёт рекламой, если вы покажете урл? Где-то публиковались в открытом доступе интеграция с робокассой и оплата наложенным платежом и перевод на русский?
+1
vvd11 августа 2010 в 15:14#
Увы, не хватает времени оформить все красиво и выложить. А сайт — woolandcotton.com/
0
komtet11 августа 2010 в 15:31#
Собственно, довольно шустрый.
Предложите его в список сайтов на Satchmo на www.satchmoproject.com/stores/all/ )
А что до публикации доработок — лучший способ это выложить инфу например наgroups.google.com/group/django-russian/ или любой другой ресурс.
0
glader18 октября 2011 в 11:53#
1318924382-clip-1kb
+1
vden11 августа 2010 в 23:00#
Насчет интеграции Робокассы именно с Satchmo не знаю, но успешно использовал вот это приложение для интеграции Робокассы в один из своих проектов: pypi.python.org/pypi/django-robokassa/0.9.3
Вероятно, выйдет подружить его и с Satchmo.
0
komtet12 августа 2010 в 08:51#
Странно, что другие платёжные системы не востребованы. Не встречались реализации для WebMoney, Яндекс.Деньги и т.п.?
+1
vden12 августа 2010 в 12:03#
Встречались. Вот, например, для webmoney: github.com/oxyum/django-payment-webmoney
Но проще оказалось общаться с оператором, который интегрирует много разных способов платежа (Робокассой, то есть).
0
oxyum17 августа 2010 в 11:45#
Для webmoney модуль вполне рабочий.

с Яндексом я пока не понял могу ли я выложить код. Их протокол к сожалению описан только в договоре, и весь договор я пока так и не прочел.
0
komtet17 августа 2010 в 11:56#
Думаю, можно. Протоколы то открытые.
Если решите выложить, думаю, сообщество только спасибо скажет, если оповестите — например в этой статье — где брать.
Статью можем поправить с указанием автора модулей.
+1
oxyum17 августа 2010 в 12:22#
ну брать-то в любом случае на github.com/oxyum/ :)

а вот в открытости протоколов я очень даже не уверен. Вдобавок Я.Д хотят SSL в обязательном порядке, а его поднятие в Django явно выйдет за пределы статьи. :(

Потом в «правильной» схеме работы там ещё и PGP надо настраивать… гемор вобщем. Хотя может статейку набросаю в сентябре, когда проект запустим! :)

Вдобавок у меня не законченное решение, а модуль на основе которого можно быстро организовать приём платежей. Ну в webmoney там всё видно.

PS: модуль для OSMP на той странице не тестировался даже на правильность синтаксиса Python! :)
0
komtet17 августа 2010 в 12:28#
В любом случае — надо выразить Вам благодарность. Ждём статью. 
Каюсь, мы пошли по простому пути и используется купленный PHP-биллинг (хоть и здорово доработанный). Затраты на разработку собственного (python) посчитали пока неоправданными, но на будущее будет интересно. Да и русскоязычному сообществу полезно для развития.
0
oxyum17 августа 2010 в 12:40#
К сожалению я пока не смог придумать как написать относительно универсальный биллинг так, чтобы он не стал ужасающе огромным, так что пока просто пишу под каждый проект. :(

No comments:

Post a Comment