Несколько собственных и чужих интернет магазинов я создавал будучи ничего не понимающим в области веб-программирования. Именно поэтому, предпочтение отдавалось максимально понятным, простым и функциональным движкам интернет-магазинов, с которыми бы справился любой обыватель.
Выбор тогда пал на два движка ImageCMS и HostCMS. Сейчас пройден уже достаточно немалый путь, но чем дальше я иду, тем больше сомневаюсь, правильный ли выбираю путь.
По мере развития магазинов то и дело сталкивался с ограничением их функциональности, отсутствием нужных мне фич, необходимостью подгонять свои потребности под шаблонизированные возмозможности обозначенных выше движков.
Попытки что-либо поменять непременно отправляли на фрилансерские сайты, где в силу ограниченных бюджетов никак не мог найти подходящего исполнителя, который бы смог реализовать мои потребности.
Шло время, появлялись идеи, выходящие за рамки интернет-магазинов, но в окружении не было ни одного программиста, который бы на голом энтузиазме стал воплощать эти идеи в жизнь. Именно тогда я принял решение самостоятельно освоить все базовые знания и навыки, которые бы позволили мне создавать продукт ранней стадии развития без привлечения кого-бы то ни было на постоянной основе. Во всяком случае поначалу, пока идея не оправдает себя и не начнет приносить доход, способный привлекать высококвалифицированных специалистов.
Со временем такие вещи, как php, js, html, mysql и т.п. перестали быть чем-то за гранью фантастики. Во всяком случае, для потребностей обывательского масштаба. Развивались и мои магазины, некогда начатые на ImageCMS и HostCMS.
Два года назад я понял, что в состоянии самостоятельно допилить один из интернет-магазинов, благо, допиливать нужно было преимущественно клиенткую составляющую. Этот магазин работал на ImageCMS. Убив уйму времени на разбор логики работы этого движка, пытаясь разобраться в документации и пр. я тогда подумал: “А не проще ли запились свой движок интернет-магазина, буду знать всю его логику и, как следствие, смогу оперативно вносить в него любые изменения под любые свои потребности”. Тогда эта мысль осталась только на уровне мысли и в ход не пошла.
Несколько позже я запились свой первый полноценный интернет-сервис, без коммерческой составляющей. Всё работает на ура, я знаю всю логику моего собственного «движка» и могу внести в него любые изменения, которые только захочу. Не знаю правда, что там с безопасностью, подозреваю, что всё плохо. Опять же, если проект начнет приносить хоть сколько-нибудь ощутимый доход, то непременно найму специалиста, который отладит безопасность.
Но вот незадача, чтобы интернет-сервис приносил доход, ему нужна составляющая, которая позволит принимать от клиентов деньги, учитывать эти поступления, нужна система для партнёрки и т.п. В моём случае речь шла о доступе к сервису через платную подписку, которая давала бы возможность к расширенному функционалу. Стал проектировать структуру данных для системы монетизации. Потратил около недели, и когда структура данных насчитывала около двух десятков различных таблиц я понял, что структура начинает сильно напоминать ту структуру данных, которую я видел в движках интернет-магазинов. В силу различных причин внедрение монетизации было отложено.
Я сторонился каких-либо движков, т.к. был убеждён, что применять чьи-то шаблонные решения лишит меня гибкости, отнимет уйму времени на разбор документации и сделает зависимым от поддержки этих самых движков их разработчиками.
На пути к развитию очередного проекта я решил попробовать использовать какой-нибудь фреймворк. Изучив различные варианты, выбор пал на Symfony. Благо к этому моменту я уже начал понимать принципы объектно-ориентированного программирования, поэтому раскуривание маны не заняло много времени, результатом оказался доволен. Масса рутины выполнялось за меня.
Проект был незамысловатый, по сути сайт с различными разделами, без авторизаций, оплат и т.п. Тем не менее, пришлось создать несколько сущностей для разных разделов (услуг, новостей и т.п.). Создавая очередную сущность я окончательно поймал себя на мысли, что мои структуры данных, идеи по их оптимизации и т.п. сильно напоминают то, что я видел в движках, которые использовал раньше.
И именно в этот момент я задумался, а стоит ли в этом случае писать всё с нуля (с фреймворком или без него), если всё равно базовая структура проекта получается ровно такая-же, как и в сторонних движках?! Не проще ли выбрать один-два движка, которые реализуют максимально широкий спектр возможностей, разобраться в них и допиливать под собственные нужды? Может быть пока я еще не начал писать свой собственный интернет-магазин, партнёрку или монетизацию стоит пойти другой дорогой?!
Именно здесь нужно поставить многозначительное троеточие…
Хабравчане, наверняка я не один такой, наверняка здесь много опытных веб-разработчиков. Интересно узнать ваше мнение. Обобщенно я бы сформулировал вопрос следующим образом: «Что эффективнее, писать проекты с нуля, используя по возможности фреймворки, или брать готовый движок и допиливать его под собственные нужды?»
Буду очень признателен за развернутые комментарии. Если вы считаете, что лучше использовать движки, то какие?
Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
Комментарии (72)
masterdrew
22.04.2016 01:16Любопытно. Примерно 20% проголосовавших в опросе использую движки (выбрали третий вариант ответа в опросе). Какие движки вы используете?
AlexTest
22.04.2016 01:36+1Для магазинов среди коробочных решений по количеству функционала («из коробки» + сторонние модули) богаче Magento на рынке ничего нет.
Не самая плохая архитектура позволяет добавлять и сопровождать любой кастомный функционал.
Единственное — очень высокий порог вхождения для того чтобы понять «как не надо делать», зато потом, при прохождении этого порога — все намного удобнее и проще чем с другими коробочными решениями для магазинов.
zmeykas
22.04.2016 01:38Я вот воздержался в опросе. Используем свой движок (допиливая под клиента) и Magento (если клиенту нужны возможности полной кастомизации продуктов, готовые расширения или клиент не уверен что дальнейшей поддержкой будем заниматься мы).
masterdrew
22.04.2016 01:43Когда я начал прорабатывать структуру для модуля монетизации интернет-сервиса (расширенные возможности по платной подписке + партнёрка), то структура данных стала сильно походить на структуру данных обычного интернет магазина. Так ли это? Есть ли какие-то некоробочные решения для подобных задач?
zmeykas
22.04.2016 01:54А у вас цель сделать не похоже на коробочные решения или сделать так чтоб было удобно вам? В целом у нас тоже все похоже, просто то что не устраивало — реализовали по-своему.
AlexTest
22.04.2016 01:44Как я понимаю, на своем движке у вас цена будет существенно ниже чем на Magento — верно?
zmeykas
22.04.2016 01:51Зависит от задачи. Где больше часов работы, там и цена выше. Обычно соизмеримо.
masterdrew
22.04.2016 01:51Дело в том, что сейчас базовые знания php, js, html, mysql + свежие познания symfony позволяют создавать несложные сервисы. Вот и пытаюсь для себя понять, стоит ли дальше идти в этом направлении, создавая собственный код, используя расширения и фреймворки. Или же выбрать какой-то гибкий и функциональный движок, разобраться в нём, и уже допиливать его под все нестандартные потребности. Собственно моё смятение связано именно с этим вопросом. Выбрать, в каком направлении лучше копать.
AlexTest
22.04.2016 02:13Прежде чем писать свое решение — поработайте с готовыми. Иначе как вы сможете понять что такого надо сделать в своем движке, чего нет в имеющихся? А вдруг там есть все (ну или почти все) что вам надо и «допилить» будет в разы проще чем создавать заново?
Вроде «железная» логика — или нет?masterdrew
22.04.2016 02:17В этом то всё и дело. Что уйдя от готовых решений в пользу чего-то своего пару лет назад, сегодня я понимаю, что в итоге создается нечто похожее на то, что и так уже было реализовано другими. Другой вопрос, что обеспечит необходимую гибкость: коробочные решения или фрейморвки с модулями?
AlexTest
22.04.2016 02:47А какая вам нужна гибкость? Все интернет магазины основаны примерно на одной и той же бизнеслогике:
Различные типы покупателей (покупают) различные типы товаров (с применением) различных типов скидок (оплачивая товары) различными методами оплаты (и указывают) различные методы доставки товара.
Для обеспечения этого используется четыре основные системы:
1. система управления товарами, пользователями, методами оплаты/доставки, правилами скидок, и прочими сущностями.
2. система учета товаров, заказов, оплат и доставок.
3. система работы с пользователями (акции, рейтинги, отзывы, голосования, расссылки) и т.п.
3. система сбора и визуализации аналитики для анализа работы вышеперечисленных систем.
В большинстве коробочных решений это все уже реализовано с помощью десятков мегабайт кода. Дополнительные типы товаров, оплат, доставок, аналитики и прочего реализованы сторонними разработчиками, а это еще десятки мегабайт кода. Многие банки, платежные системы, сервисы доставки, системы аналитики и работы с клиентами уже написали свои модули для готовых движков. Не думаю, что вам в одиночку удастся повторить все это и тем более сделать лучше чем есть в готовых решениях.masterdrew
22.04.2016 02:55Гибкость сводится к возможности расширить возможности движка сторонними или собственными модулями. Какие движки кроме Magento можете порекомендовать?
oxidmod
22.04.2016 08:27-2OXID eShop
он не такой монструзный как мадженто и имеет гораздо более низкий уровень входа, но уступает последнему в гибкости немного. Хотя, за 2 года работы с ним я не столкнулся с задачей, которую нельзя было бы на нем решить своим модулем.
timetogo
22.04.2016 10:15Посмотрите ExpressionEngine, раз вас интересуют не только магазины, но и веб-сервисы в целом, может это то, что вам нужно.
AlexTest
22.04.2016 02:17Да и еще такой момент — продавать магазины на готовом популярном движке намного проще чем на самописном.
Большинство заказчиков даже готовы переплачивать за это, т.к. это сильно снижает их риски по сопровождению такого магазина.masterdrew
22.04.2016 02:20Да, есть такое дело. Одному клиенту делал простенький проект+сопровождение вообще без админки, т.к. локальные правки было проще вносить непосредственно в код. Он до сих пор периодически спрашивает логин и пароль для того, чтобы вносить какие-то изменения )))
Source
22.04.2016 11:57+1Любопытнее, что 72% (а особенно первые 16%) велосипедят для разработки несложных проектов. Готовые движки вполне позволяют подстраивание под конкретный проект. Они для этого и написаны и в их разработку вложены тысячи человеко-часов. И тут Вы либо собираете команду и вкладываете эти тысячи часов (что недопустимо для несложных проектов), либо кое-как кодите на коленке нечто одному Вам понятное…
Desfpc
22.04.2016 04:59+1Использую 2-а инструмента — или Yii или свой фреймворк, фактически состоящий из набора необходимых функций, разделения логики и отображения, модуля материалов. Готовые движки не люблю из-за того, что под реально большой или уникальный проект приходится уж много всего перепиливать…
masterdrew
22.04.2016 04:59Какие по Yii есть решения для e-commerce?
berezuev
22.04.2016 11:39SamDark вот это написал https://github.com/samdark/yii2-shop
Правда, не могу сказать, это все-таки готовое решение для продакшна или просто крутой пример использования Yii 2.
А вообще, как показывает практика, чтобы сделать достойный e-commerce сервис, писать стоит самостоятельно, с использованием фреймворков и учитывая все особенности конкретного проекта.
Фреймворк хоть и не даст максимальной производительности, но запуститься можно будет быстрее конкурентов, а это большое дело.SamDark
22.04.2016 13:30Это не решение. Это результат мастер-класса. Там даже написано:
This is example project implementing a shop created to help people learn Yii 2.0. It was created during 8 hours workshop performed in Ekaterinburg, Russia. The idea was to show how to deal with Gii, grids, filtering and other Yii 2.0 usage. It is by no means a complete shop script. It may contain bugs, shortcuts etc.
minalexpro
22.04.2016 08:37В опросе не хватает варианта
— использую свой движок / фреймворк
т.е. это не первый вариант, т.к. с нуля не пишется
2 и 3 вариант подразумевается, что инструмент не вами создан.
JTG
22.04.2016 13:09Переносили интернет-магазин со старого PHP+ShopScript на Python+Flask и в процессе случайно ещё раз написали Django
Но вообще собрать стек «под задачу», используя микрофреймворки вроде Flask или Silex + ORM/шаблонизатор/генератор форм etc., часто бывает проще, чем перепиливать коробочное решение под заказчика.
DeLuxis
22.04.2016 13:09+1Для e-commerce достаточно движка. Сейчас у них достаточно универсальное API для написания модулей без внедрения в ядро.
Либо тратите время на свой говнокд, либо это же время на доскональное изучение движка. К тому же можно потом присоединиться к сообществу и внедрить свой код.
ustasby
22.04.2016 13:09-1Я в работе использую cs-cart, в русской редакции за 100-200 тысяч можно создать весьма хороший магазин, на сегодняшний день это супер бюджетно (я про бизнес, а не про школомагазины)
iit
22.04.2016 13:30В данный момент для магазина использую Laravel, Symfony безусловно хороша, но для магазина она перебор. Эти два фреймворка имеют отличную гибкость и огромное количество возможностей. Благодаря адекватному IOC можно заменить вообще все дефолтные возможности на что-то свое или подключить сторонние решения без проблем.
Все остальные фреймворки либо имеют слишком жесткую структуру которая лишена даже самой минимальной гибкости и создание виджета превращается в ад (Привет Yii1, ZF ), либо наоборот слишком размазаны и собрать что-то толковое из них проблемно (CodeIngiter, Kohana).
Сейчас база на mysql но мне перестало хватать его возможностей, в планах миграция на Postres.
dirijat
23.04.2016 15:37A почему не использовать Joomla 3.5(поддерживает разные базы данных включая PostgreSQL) + Virtuemart 3 (очень функционален и быстрый) + nginx 1.9 (http/2) + PHP 7 (JIT) = Безопасно + быстро + функционально + современно?
iit
23.04.2016 20:37Если честно, то на большую тройку (WP, Drupal, Joomla) у меня аллергия.
Обслуживал сайты на этих движках в начале карьеры и то как устроена архитектура в них честно говоря меня «немного напрягало».
Сейчас они уже на много лучше но все еще не совсем то что нужно. Плюс если по желанию заказчика нужно сделать что-то не совсем стандартное то многое в этом придется приписывать. И при обновлении движка все эти правки очень весело вылетят в трубу.
Коллеги недавно обновляли Joomla до последней версии — нахватались проблем на пол месяца. Если же не обновлять то первый эксплойт — и на сайте висят веселы банера с масками гая фокса =)
xoma
22.04.2016 14:42Разрабатываем свой движок https://github.com/yupe/yupe на Yii 1.x мигрируем на Yii 2.x
zirix
23.04.2016 15:36+1Рекомендую посмотреть в сторону java, конкретно на spring boot (или просто spring. главное использовать не xml файлы, а java config) +JPA + thymeleaf + EhCache.
achekalin
23.04.2016 16:38Если вы опытный разработчик — напишите все сами, и будете рады. НО! Вы должны быть и «опытным», и «разработчиком» сразу, а не просто думать, что с толикой времени и мозга разберетесь во всем. Проблема будет в кол-ве времени, и в применимости на практике.
Если же нужен результат, да еще и чтобы админка была более-менее, то придется выбирать из готовых комбайнов (как бы они не были монструозны, дороги, геморойны), и из них городить либо что-то стандартное, либо кастомное.
Но это, конечно, именно разговор о ситуации, когда вам магазин нужен для дела, а не когда вы пилите код ради кода. Просто могу сказать по опыту, что «продаваны» от любого магазина могу легко захотеть вдруг (в рамках развития бизнеса) такое, что никак в исходную стройную и простую логику его работы не укладывается (пример — сложную систему скидок, скажем), и что без костылей не сделаешь. Как начинаем делать костыли — мы тут же понимаем, что наш продукт никак не лучше старого доброго монстрика из тех, что «дружат с 1С*», но только монстрика пишет команда человек в 100, а вы тут такой один, а функционал нужен чуть не завтра, и нет времени сделать под него админку, а уж про безопасность остается только молиться.
Что же касается «я возьму opensource-движок, и добавлю топор, тьфу, модули по вкусу», то тут, увы и ах, имеем низкое качество (даже нет — низкую приспособленность) модулей в их обычном виде, и необходимость платить/тратить время за/на допил их под реалии строящегося магазина. И еще неизвестно, что легче и проще в сопровождении.
Сказать по правде, мало есть магазинов, где админка была бы просто удобна. Чуть больше магазинных движков, где админка вменяема (пусть и не всегда понятна сначала), а самопис порой грешит такими косяками в работе бекэнда, что чуть не phpmyadmin впору давать в комплекте с магазином, чтобы хоть как-то он управлялся.
* Что такое «дружба с 1С», и насколько она вообще заработает в произвольно взятой фирме на из конфиге 1С и их сетапе сайта с конкретным движком — я в курсе. Просто этот лейбл («что-то там с 1С») позволяет брать деньги за движок без стеснения, так что граница проводится легко.masterdrew
23.04.2016 16:59Какие движки порекомендуете?
achekalin
23.04.2016 21:40-1Да какие тут советовать. Не нравится ни один, но — наверное, все же Битрикс, он поживее всех других будет.
Другой вопрос, кто будет на нем магазин делать.
IvanPanfilov
23.04.2016 17:42> На пути к развитию очередного проекта я решил попробовать использовать какой-нибудь фреймворк. Изучив различные варианты, выбор пал на Symfony. Благо к этому моменту я уже начал понимать принципы объектно-ориентированного программирования, поэтому раскуривание маны не заняло много времени, результатом оказался доволен. Масса рутины выполнялось за меня.
Всегда умиляют идиотичная вера в то что фреймворк может предоставить что то полезное для разработки, например конкретной используемой вещи как e-commerce.
> Проект был незамысловатый, по сути сайт с различными разделами, без авторизаций, оплат и т.п. Тем не менее, пришлось создать несколько сущностей для разных разделов (услуг, новостей и т.п.). Создавая очередную сущность я окончательно поймал себя на мысли, что мои структуры данных, идеи по их оптимизации и т.п. сильно напоминают то, что я видел в движках, которые использовал раньше.
Ну конечно, просто взять CMS Wordpress или Bitrix нельзя для этой реализации типовой части сайта (новостей услуг и прочих инфо разделов ) это же слишком просто — нужно реализовать это самому продублировать функционал на фрейморке вместо того чтобы пилить собственно сам магазин, который потом просто интегрируется в CMS.
Я уж молчу про то что этих ecommerce как собак нерезаных развелось.
Stan_1
23.04.2016 21:10Один магазин мне делали на заказ на MODx, второй — пробовали писать на OpenCart, но уперлись в ограничения архитектуры. Начал ходить по рынку. В той конфигурации, что мне нужно — цена выходила 250-300к.
В итоге решил делать сам, хотя есть опыт только RESTful систем на Rails. Писать тоже стал на Rails + ActiveAdmin + PostgreSQL. Сейчас осталось только корзину допилить и все, буду запускать. Сначала к этому с опаской относился, а сейчас уже рад, что сам решился. Получился очень шустрый Интернет-магазин, поскольку структура товаров понятна — за несколько часов спокойно пишу импорт товаров из любых ИМ, прикрутил весь функционал который хотел, при этом с минимальными обращениями в базу данных. В общем, доволен. Но это решение под конкретную задачу. Делать универсальный движок я не планирую.
Единственное что — нелюбовь к frontend только усилилась. Не люблю я их, и больше всего времени уходит именно на вопросы верстки, а не логики. :(
vitalybaev
23.04.2016 23:32Изначально написал полностью сам поскольку время поджимало да и функционал и начальный был прост. Писал на PHP на Codeigniter, со временем разросся фичами.
Сейчас, с появлением хорошего опыта, переписываю полностью на Laravel с хорошо продуманной архитектурой.
sooham
24.04.2016 00:51Хочу еще упомянуть PrestaShop — доводилось ковыряться в нем немного, довольно функциональная админка и код вроде нормальный. А самое интересное что его потихоньку на Symfony переписывают.
vanyatwo
24.04.2016 00:52Wordpress + e-commerce тема на ваш вкус + пару плагинов для Woocommerce = 50-200$ за готовый интернет-магазин.
Тяжело? В интернете ОЧЕНЬ много информации, как всё это запилить, там работы на пару дней.
О чем речь вообще, господа? :)masterdrew
24.04.2016 01:08Если цель — получить стандартный магазин, то вопросов нет, но на секунду предположим, что мы хотим добавить что-нибудь эдакое, что выходит за понимание стандартных функций.
Например:
— применительно для Москвы и Московской области, если доставка в МО, то предоставить клиенту возможность выбрать свой дом на карте и автоматически высчитать доплату за каждый км от МКАД, сразу включить эту доплату в стоимость доставки.
— добавить возможность пользователю самостоятельно компоновать товар и по разным хитрым схемам высчитывать стоимость (например, составная пицца)
— партнёрка, которая будет начислять баланс покупателям за покупки, совершенные по их рекомендациям
В общем любые фантазии, которые каким-то образом могут стимулировать продажи.
Не получится ли, что на конкретные задачи нет сторонних плагинов, а запиленные доработки слетят после первого же серьёзного обновления движка?vanyatwo
24.04.2016 01:38Вам на любой платформе не найти плагины под «любые фантазии», а писать самопал — запустить сайт не «завтра», а через год, и пожалеть об этом, поняв что зря потратили время.
Тут уже писали — на популярных движках реализованы многие полезные функции, которые на самопале займут значительное время разработки.oxidmod
24.04.2016 21:13потому стоит взять готовый движок. но не движок бложика с плагином магазина, а движок именно магазина.
vanyatwo
24.04.2016 21:36объясню подробнее — мы рассматриваем вариант не единоразового проектирования отдельно взятого интернет-магазина, а «поставить на поток». И в таком случае проще и лучше будет допилить «бложик с плагином», т.к. на выхлопе это даст куда большие возможности применения.
oxidmod
24.04.2016 21:54бложик с плагином ну никак не может быть лучше приспособленным к потоковой разработке e-commerce проектов, чем e-commerce движок.
Да, тот же magento требует куда более компетентных разработчиков и более длительного изучения, но на выходе оно того стоит.vanyatwo
24.04.2016 21:57Я рассуждаю со своей точки зрения.
Да, magento — «царь зверей». Но у меня нет команды разработчиков, тем более компетентных. А запустить пару десятков интернет-магазинов (из них стабильно работают около 50% — до сих пор общаемся) — получилось, на «бложике с плагином».
*малый бизнес, ничего эпохального
danforth
24.04.2016 00:52Использую движок Shop-Script 6. Одному написать свой движок очень проблематично. Там и выкладка, и статистика, и брошенные корзины. Товары + категории + корзина — это наверное 15% от всего функционала нормального интернет-магазина.
trevoga_su
25.04.2016 10:09Я написал свой фреймворк. Примитивная ORM вида DomainObject DataMapper mySQL
У меня на нем крутится сайт объявлений — github.com/Vasiliy-Makogon/ADV
Сейчас хочу сделать для себя ИМ на базе сайта объявлений.
Почему все сам? Свой код понятен, прозрачен и отшлифован. Разобраться в кучу сторонего кода — тяжелее и медленнее.
Писать с нуля — колоссальная практика и колоссальный опыт.
Но больше я это делать не буду. Никогда. КПД = 0
Sellec
15 лет пользуемся собственным движком, написанным (на коленке) еще в 11м классе. С тех пор доработали там все, что можно было, не используя фреймворков. Летает в несколько раз быстрее большинства других магазинов за счет простой и незамысловатой логики. Но есть все, включая самое страшное зло — EAV.
Разработать с нуля — большой труд. Если у вас не команда в 10 человек с опытом или нет пяти лет на вдумчивую разработку — бросайте это гиблое дело. Что-нибудь обязательно упустите.
К слову, сейчас начали еще бОльший труд — перенос сего чуда на asp.net mvc в качестве эксперимента — проще застрелиться)
Sellec
Не успел отредактировать камент)
Бросайте это гиблое дело с разработкой велосипеда. Берите готовое решение, про которое готовы быть уверены, что оно будет существовать долгое время, и изучайте до корней и допиливайте под себя. Это проще, быстрее и даст бОльший профит за меньшее время.
masterdrew
В таком случае, какой фреймворк/движок порекомендуете использовать для интернет-магазинов и интернет-сервисов, работающих по подписке, где бы помимо всего прочего, были такие вещи, как партнёрка. Вопрос ко всем читателям.
pewpew
Зависит от ваших привязанностей в технологиях. Если вы любите всё новое и экспериментальное, гляньте на Laravel (везде новые технологии и подходы, быстрый старт и простота поддержки). Если проверенное и поддерживаемое — Yii (вторая версия идёт в ногу со временем, а 1.1 — рабочая лошадка с кучей материала). Если фреймворк для вас — это куча компонентов — то Symfony. Если надо что-то небольшое, по-минимуму, то гляньте в микрофреймворки. Тут и Fuel и Slim и даже FatFree.
Обошёл стороной ZF, ибо он по мне не лучше Symfony. Я на нём одно время много работал. Но в нём нет ничего выделяющегося кроме его длиннющих названий классов. Не посоветую CodeIgniter и Kohana. Они одного поля ягоды и у всех не всё так гладко. Kohana подкупает своей кажущейся лёгкостью, но шаг влево, шаг вправо — расстрел. Да и ORM местный — тот ещё геммор. Да и лишнего много, придётся чуток пилить напильником.
Лично я остановился на классике: YII 1.X, jQuery + Bootstrap, MySQL, шаблоны в чистом PHP.
Из YII активно пользуюсь всем кроме CHtml. Его я не перевариваю.
Но выбр фреймворка и технологий зависит от многих факторов, так что каждому своё.
lesha_firs
symfony, если мы про php, или подобное. знаете в чем прелесть open source framework, их пилят, не «вася» с «петей» а куча народу, плюс у вас нет привязки к БД, вы ее строите как вам удобно, да приходиться немного больше думать.
Но, если вы не хотите думать, зачем быть программистом =)
И вообще на дворе 2016 год, ребята, все стараются не привязываться к языкам программирования, микросервисы, ставка должна быть на архитектуру.
masterdrew
Как раз недавно изучая возможности различных фреймворков и мнения о них, остановился на Symfony. Возникает вопрос, есть ли какие-то решения для e-commerce (готовые корзины, каталоги, прайсы, заказы, партнерки и пр), которые бы в сочетании с Symfony дали бы гибкое решение, которое можно запиливать под собственные нужды?
lesha_firs
Ну как известно Symfony это «абстрактный» framework, то есть, вы берете что-то готовое, и переопределяете его, ну, я как Symfony эксперт, не очень, но, вот же есть official bundles для Symfony bundles
lesha_firs
В дополнение про симфони вот хороший доклад Олег Зинченко — Symfony best practices и не только
evilray
sylius.org
pudovMaxim
Из готовых e-commerce есть Sylius и Elcodi
dkorablinov
Для Symfony есть Sylius. С одной стороны, много функционала уже реализовано. С другой — движок в активной разработке, можете принять участие и привнести свои идеи
zmeykas
А у нас недавно наоборот (почти) перенесли asp (без .net) чудо на Yii. Использовали готовый компонент корзины, но в итоге все равно 90% переписали. В целом когда есть опыт работы с движками магазинов — пилить проще. Кстати EAV не использовали (возможно пока), большинство заказов на магазины с простыми продуктами с небольшими доработками.
Да и если автор все же решится писать свой движок интернет магазина — хорошо продумайте модульность. Чтоб корзина, платежи, доставка, дисконты и прочее прочее было реализовано на интерфейсах и не зависело от конкретной реализации.
Eugeny1987
а что такое EAV?
Sellec
Entity-Attribute-Value.
Если попросту:
1) У вас есть базовая модель (Entity) с — Id, Name, Category. Это может быть товар, например.
2) В зависимости от категории, в которой расположен товар, к базовой модели применяются определенные атрибуты (Attribute) — Возраст ребенка, Материал (для игрушек), Вес, Габариты (для большинства товаров) и тому прочее. Ну и для связки Модель-Атрибут задается значение. Это все требует как минимум трех таблиц в реляционной базе (для NoSQL баз вроде другая ситуация, я не сталкивался, честно), не считая всей логики в БД и коде для обслуживания всей этой байды. При наличии большого количества атрибутов и категорий можно столкнуться со сжиранием большого количества памяти. Выход — кеширование и оптимизация структуры.
Eugeny1987
Спасибо, понятно
Fedcomp
Напоминает Single Table Inheritance в Ruby on Rails.
oxidmod
EAV не STI ниразу