Самописные движки и велосипед интернет-магазина — что лучше?

Мы сначала радовались, что у нас всё своё: движок магазина, личного кабинета, виджеты, модули на любой вкус и цвет, разве только платёжные системы чужие, но если бы закон позволял, и тут сделали бы своё (закон, конечно, позволяет, но только через игольное ушко). Это действительно прекрасное чувство первооткрывательства - все шишки собрать - зато все становятся родными.

А потом поняли, что свой велосипед, конечно, ближе педалями. Но куда лучше совершенствовать популярный и уже прокачанный чужой. Потом - это через пять лет.

Александр Сысоев, помнится, при разработке ДубльГиса - тоже сетовал, что чужие варианты его не устраивали, однако тогда он был первопроходцем, и это недовольство понятно - под новые запросы гораздо лучше подойдут самописные решения. Мы же в техническом аспекте пока не первопроходцы. Есть куча достоинств, но все они неуникальны.

Есть же и обратные примеры, решили мы - когда какой-то элемент продукта заимствуется, и продукт вполне себе развивается (Android + Linux, Microsoft + Chromium, MacOS + FreeBSD и т.д.). Решили и пошли на сторону.

Какие недостатки оказались у нашего велосипеда?

  1. На первые три шаблона магазина у нас ушло три же года. Зато на внедрение чужого четвёртого - пара месяцев (пока всё в процессе, но мы уже продвинулись дальше и больше, чем раньше - MVP не за горами).
  2. Многие клиенты отзывались, что рубрикатор прежнего магазина (половина спросит, что это такое, зачем такое длинное?) был невыносим. И очень сложный движок (двенадцатиэтажная смесь из PHP, Twig и AngularJS), с которым что-либо интегрировать, надстроить или же убрать оттуда, было долго - откуда, спросите, взялись три года?
  3. Иногда казалось, что баги - не гости, а хозяева. Можно сказать, один из шаблонов они так и не выпустили из состояния беты (но клиентам не очень-то и надо было).
  4. На этом месте многие подумают, что дело в не тех руках не тех разработчиков. Но половина их до сих пор в штате, а другая половина ушла в более крупные компании. И что характерно - после принятия решения о развороте - у нас баги в таком объёме кончились, а в более крупных компаниях тоже вроде бы не начались.
  5. А дело в том, что мы изначально делали различные доработки под конкретные запросы клиентов, а поверх этого следующие, в итоге система с каждым разом становилась всё более сложной. Каждый разработчик привносил что-то своё, а когда они уходили, остальным надо было навёрстывать-перевёрстывать.

Отдельные пять копеек про личный кабинет. Тут всё просто - Angular.js и рядом не стоит с Vue.js. Ну и раньше в личном кабинете все опции были разбросаны и структурированы по не всегда понятной логике, так что запрос в поддержку "инструкцию прочёл, но ничего не понял" преобладал. А теперь же и визуально-динамически просто космос, и в поддержке тишина.

Загадка с подвохом из раннего ЛК: чем отличаются опции "Добавить метод оплаты" и "Добавить платёжный модуль" и какая из них нужнее пользователю, если вторая находится на видном месте, а первая спрятана за семью ссылками?


Итак, в этом году мы сделали ставку на движок Wordpress + Woocommerce. Какие проблемы сразу решили?

  1. Разработка/внедрение/кастомизация/поддержка стали проще и быстрее.
  2. Удивительно, но оказывается, можно обходиться вообще без костылей.
  3. Плюс огромное количество плагинов от Вордпресса позволяют интегрировать что угодно под конкретного клиента. То же SEO, например, со всеми наворотами. В предыдущем решении мы до него так основательно и не дошли.
  4. Дорогая лицензия приобретённого плагина, на самом деле, довольно быстро окупается, как минимум тем, что разработчики тратят меньше человеко-часов, значит, и рублей.

С другой стороны, какие проблемы теперь предстоит решать?

  1. Масштабируемость - решение от Вордпресса выходит коробочно-узким, у нас же задача предоставить его для всех клиентов и для каждого со своими хотелками. Есть несколько бесплатных и сырых плагинов кэширования, которые нужно довести до ума, однако есть и проблема с самим шаблоном. Вордпресс открыт - это круто, а вот плагины его уже достаточно закрыты, и некоторые моменты там совсем не оптимальные. Но всё решаемо.
  2. Возможно, понадобятся дополнительные лицензии для дополнительных плагинов. Но про их окупаемость уже сказали.
  3. Удивительно, но без костылей всё же не обойтись. Но очевидно, что один костыль в продукте лучше, чем продукт в костылях. Речь о том, что W+W позволяет очень гибко настраивать внешний вид, какие угодно блоки можно построить для клиента. Но есть слабое место в компиляции стилей. Тут два варианта - либо набрать сразу кучу готовых стилей, и подключать их по желанию клиента. Либо же импровизировать и сделать более динамическими. Сами создатели темы рассчитывали, что всё будет происходить через админку WP, мы же намерены всё это осуществлять через API, в том и костыль, потому что админка WP - не самое надёжное место.
  4. К слову, про уязвимость - каждый знаток Вордпресса жалуется на то, что разработчики плагинов о безопасности заботятся в последнюю очередь. Мы сами это уже почувствовали на уровне интересных, но пока безадресных запросов, однако для этого уже готовы несколько безопасных фишек и ещё в планах навешать разных редиректов, заглушек и прочих полезных штук.
  5. Ещё одна проблема - новое мы, конечно, упростим. Но сама система усложняется. Потому как при внедрении новых функций оглядываться на совместимость со старыми всё же придётся. Например, из того же API не получится выкинуть ненужные в новом личном кабинете параметры, так как они используются в старом. Рефакторинг - не совсем решение.

    Но главное - сейчас есть концепция - платформа приложений для бизнеса, которая ясна и для покупателя, и для нас.

Недавно на vc.ru уже случился холивар на тему недоразработчиков недовордпресса. Что сказать: если уникальность вредит ценности - в Фортран такую уникальность. А Вордпресс свою ценность уже доказал.

И в конце - велкам для пока ещё закрытого тестирования. Все хотелки учтутся, а самые активные тестировщики получат скидки, плюшки и воплощение всех (адекватных, конечно) пожеланий к своим магазинам.

1010
8 комментариев

Как у Вас дела с микроразметкой, гугл не дает предупреждения на отсутствие  каких-либо данных в сниппете? 
У меня тоже магазинчик на Woocommerce, так есть проблемы с отсутствующими полями.

2

Пока её нет, и Гугл тоже молчит. Но, конечно, будет.

1

Еще один полуконструктор - а вдруг полетит?

"у нас же задача предоставить его для всех клиентов и для каждого со своими хотелками" - с такой постановкой вы движетесь в сторону битрикса. Этот комбаин может все, но водить его еще то удовольствие.

1

Не совсем ещё один конструктор - но и он тоже. 
О Битриксе наслышаны и навидены, держим в уме как антипример. Тем более подобный комбайн у нас уже был))

4

Вордпресс свою ценность уже доказал.Как движок для блогов — да и весьма неплохо, а для всего остального что на нем пытаются слепить — едва ли.
 Удивительно, но оказывается, можно обходиться вообще без костылей.Ого, интересно, читаем дальше...
 Удивительно, но без костылей всё же не обойтись.¯\_(ツ)_/¯
И в этом весь wordpress, когда пытаешься из бложика высосать что то более менее стоящее

Интересно, как вы планируете решать проблемы с маштабируемостью, т.к. упомянутое в статье кеширование это оптимизация и к мастшабируемости не имеет отношения. Несмотря на всю нелюбовь к решениям вроде WP было бы интересно увидеть статью, в котором вы поделитесь подобным опытом.

Если отказываетесь от админки WP, то зачем вам вообще WP непонятно?
Весь смысл использования WP в древнем ядре и наборе сырых плагинов? А чем занимаются разработчики?
Не получается ли так что разработчики "борются" с этими самыми плагинами в то время как они могли бы заниматься бизнес логикой продукта, откажись вы от "коробочного решения"

 Недавно на vc.ru уже случился холивар на тему недоразработчиков недовордпресса. Что сказать: если уникальность вредит ценности - в Фортран такую уникальность.

В той публикации холивар был связан не с уникальностью. А ценности Wordpress в вашей статье, которую вы запостили в треде "Разработка" раскрыто не было.

2

Самое интересное, что эту статью мы публиковали в треде "Личный опыт", это редакция уже сменила тематику. Но претензии вашей это не отменяет. Ценность Вордпресса всё же была раскрыта в той статье - повторяться не стали. 
Но у нас речь также была и про ценность для клиента. Вордпресс по сравнению с самоделками ценнее своей гибкостью, многовариантностью и относительной готовостью. 

"Несмотря на всю нелюбовь к решениям вроде WP было бы интересно увидеть статью, в котором вы поделитесь подобным опытом", - попробуем. 

Один супер-пупер сварщик сказал, что ваш автомобиль надо в утиль. Мол мусор и все. А другой недосварщик взял и сделал.

Один супер-пупер программист сказал, что wp - только для блогов. А другой недопрограммист на wordpress делает и блоги, и порталы, и интернет-магазины, и сайты-каталоги с внедрением sap ariba для поставщиков Евраза.

В общем, чтобы быть супер-пупер программистом, мало с уверенностью говорить о том, в чем не разбираешься.

Wordpress, как и другие CMS - это всего лишь инструменты. Говорить о том, что молоток плохо забивает... Ну вы поняли.

1