На чем лучше писать современный интернет магазин?

Этот вопрос задавался уже не один раз, я прочитал все предыдущие ответы, но всё таки у меня другая ситуация.

До этого интернет магазины никогда не писал. Сейчас есть задача разработать небольшой ИМ с базовым функционалом.
Требования обычные для любого нормального приложения - адаптивность, хорошая скорость работы на любых устройствах (aka все ok в PageSpeed), хороший поиск товаров с фильтрами, простая админка для наполнения контентом и приема заказов.

Я вижу несколько вариантов:
- Написать с нуля, например, на laravel+react+mongo (есть опыт работы), привлекает тем, что можно написать именно то, что требуется, нет огромной лишней кодовой базы, все будет красиво, быстро, адаптивно и модно. SPA для магазина - это круто, нет постоянных перезагрузок. Mongo отлично подойдет для товаров с кучей разных полей, для поиска можно будет взять elastic. Никаких расходов, кроме хостинга. Минус - писать с нуля - это много работы, есть смутное ощущение того, что пишешь велосипед, то, что уже реализовано миллиард раз.

- Взять shopify, ecwid или подобный сервис, который уже решил все вопросы, вплоть до хостинга. По сути сделать магазин на конструкторе, потыкать кнопочки и всё. Минусы - полная зависимость от платформы, скорее всего не SPA, всё платное.

- Magento/prestashop или подобное, то есть нечто посередине. Есть возможность хорошо конфигурировать, писать код, но очень многое уже готово + опять же нет расходов, кроме как на хостинг. Из минусов - огромная кодовая база этих проектов, большая часть которое скорее всего никогда не понадобится.

- битрикс. С этим никогда не работал, мягко говоря, испытываю лютое отвращение от всего, что связано с 1С (личное мнение), но все же рассматриваю этот вариант т.к. может быть для предприятия/бизнеса это будет удобнее?

Что вы можете посоветовать из этого, либо может есть еще другой путь? Буду рад услышать ваши рекомендации. Поскольку нет легаси кода, можно сразу сделать модно и современно. Заранее спасибо.
  • Вопрос задан
  • 2721 просмотр
Пригласить эксперта
Ответы на вопрос 4
Как выше уже высказались другие, без ТЗ, очевидно, сложно советовать что-то релевантное. Тем не менее, попробую, опираясь на упомянутый вами Laravel и высказанное пожелание:

Поскольку нет легаси кода, можно сразу сделать модно и современно.


Есть такая CMS, как October. Это очень аскетичная CMS, построенная поверх Laravel Framework. У неё свое хорошо задокументированное API, при этом, т.к. под капотом полноценный Laravel, вы можете использовать его гигантскую экосистему для своих нужд, если вдруг не хватит API самой CMS.

Аскетичность заключается в том, что эта CMS полная противоположность всему, что вы знаете. В основном CMS это комбайны, на которые сверху ещё "докручиваются" фичи. В October из коробки даже нет системы пользователей, управления навигацией и т.п. Все это вы ставите при необходимости отдельными плагинами. Потому у вас не будет перегруженной админки, как минимум. Философия платформы хорошо ложится на философию Unix, которая в упрощенном виде звучит, как "Делайте что-то одно, но делайте это хорошо".

В силу своей относительной молодости (чуть больше 6 лет) вы не найдете легаси под капотом. Есть важный нюанс, October не прыгает по каждой минорной версии Laravel, а базируется на LTS-релизах. Прямо сейчас идет активная работа над переездом на "шестёрку". С т.з. бизнеса это правильное решений, т.к. Laravel не придерживается SemVer.

Немного о достижениях за 6 лет существования:

  • как лучшая Flat-file CMS 2018 по версии CMS Critic;
  • второй по популярности PHP CMS на GitHub;
  • самая популярная CMS на базе Laravel с 9700+ звёзд на Github по состоянию на апрель 2020.


А теперь про e-commerce. На базе данной CMS построена экосистема Shopaholic, которая полностью следует философии October. Базовый одноименный плагин Shopaholic это только мощный каталог. Если нужна корзина, ставится плагин Orders, нужна онлайн-оплата, ставится плагин OmniPay, нужна сложная фильтрация — плагин Filter, ну и т.д. Это OpenCore-платформа, т.е. есть бесплатное базовое ядро, которое расширяется, как бесплатными, так и платными дополнениями. На Smashing Magazine можно найти "свежую" статью о том, как разработать магазин на Shopaholic, используя только бесплатные плагины.

Плагины не содержат в себе "вьюхи", т.к. философия платформы заключается в том, что каждый магазин уникален. Потому дизайн и верстка будут кастомными. Если же нужно типовое решение, можно использовать одну из готовых тем. Если нужен SPA/PWA, можно расширить October одним из соответствующих плагинов для построения API.

Экосистема Shopaholic пока не такая большая, проекту всего два года. Но он уже стал самым популярным e-commerce для October c 9000+ установок на апрель 2020. Но этот временный недостаток компенсируется потрясающим DX самой October CMS, которому полностью соответствует Shopaholic. Например, любую бизнес-логику можно заэкстендить с помощью стандартных методов. Т.о. образом то, чего не хватает реализуется прямыми руками без необходимости "костыляния" в ядре CMS или плагинов и без вынужденной необходимости заморозки их обновлений.

Я не стану расписывать преимущества October CMS + Shopaholic перед другими платформами. Предлагаю посмотреть на код открытых плагинов и сделать выводы о качестве архитектуры самостоятельно. Главным недостатком Shopaholic, как e-commerce-платформы на данный момент является её молодость и, как следствие размер экосистемы и сообщества. Потому не на каждый случай есть готовый плагин или подходящая тема оформления. Предлагаю зайти в чат сообщества и поспрашивать участников, чем их зацепил Shopaholic. Многие там переехали с самых разных решений, от OpenCart до Bitrix.
Ответ написан
Комментировать
firedragon
@firedragon
Не джун-мидл-сеньор, а трус-балбес-бывалый.
Пишите на чем умеете, кстати битрикс может из коробки практически все.
А так ТЗ и еще раз ТЗ, после можно говорить
Ответ написан
@NinjaNickName
Web разработчик
Как правильно уже заметил Владимир Коротенко, нужно отталкиваться от технического задания и писать на том, что лучше всего знаете.

Сейчас выбор достаточно большой, есть много готовых решений, условно можно разделить все варианты реализации на следующие:
  • Коробочное решение
  • Облачное решение
  • Решение на фреймворке

У каждого из них, есть свои плюсы и минусы, честно говоря, на мой взгляд, коробочные решения сейчас не удовлетворяют современным требованиям `из коробки` почти никогда, но опять же, все зависит от требований индивидуально для каждого проекта.

Не соглашусь с тем, что облачные решения это привязка к платформе (вернее то, что это минус), хотя бы потому, что используя Bitrix вы привязаны к битриксу, а используя фреймворк, вы ограничены тем решением, которое реализовали и тем фреймворком который используете. В любом случаи, как правило всегда можно перенести облачное решение в коробочное, а коробочное на фреймворк, но это конечно потребует расходов.

В вашем случае сложно что-то советовать т.к. не хватает данных по ТЗ, но могу однозначно сказать, что из облачных решений ничего лучше Shopify, на текущий момент нет (по крайнем мере, пока не запустится getOpen.Store), но там вопрос соблюдения 152-ФЗ, если вы планируете работать в РФ.

Bitrix не смотря на большой технический долг и устаревшую архитектуру пользуется весьма большой популярность и на самом деле, в некоторых случаях является не плохим решением, но если рассматривать тяжеловесов, то можно посмотреть и в сторону UMI, я правда с ней не сталкивался, поэтому предлагаю только как вариант для рассмотрения.

Весьма не плохими решениями так же являются OpenCart и CS-Cart.
PrestaShop категорически не рекомендую, внешне выглядит симпатично, но под капотом там не лучше WP, по той же причине не рекомендую и WP (WordPress+WooCommerce), даже в самых смелых фантазиях я не могу понять, как можно выбрать это вариант для реализации интернет-магазина, это не поддается логике и абсолютно за гранью моего понимания.
Ответ написан
Комментировать
solotony
@solotony
покоряю пик Балмера
Имя, сестра, имя!


"небольшой" ?
"современный" ?
"с базовым" функционалом ?

а реально на выбор CMS влияют функционал и бюджет

если вы "укладываетесь" в битрикс с готовым решением - зачем вам что-то еще ?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы