Именно с этого вопроса я начал сегодняшний рабочий день.
Уже в который раз встал перед этой дилеммой, которую, впрочем, уже не однократно решал в пользу своих кодов, но сомнения грызть не прекращают.
Вот и сейчас — в день когда пора начинать верстать новый интернет-магазин, эта дилемма стоит передо мной.
А предыстория следующая:
Уже не один год занимаюсь разработкой интернет-магазинов. За это время разработал и многократно усовершенствован свой движок. Создал несколько магазинов, один из которых довольно серьезный и имеет очень большой функционал. Мало того, магазин имеет большую посещаемость, приличный доход, с ним работает целая команда менеджеров, складских работников и т.д.
Так вот, каждый раз, начиная делать магазин, я долго терзаюсь мыслями на на чем же его делать, по прежнему использовать ли свои наработки, либо же использовать платную или бесплатную CMS. В такие времена начинаю читать обзоры различных CMS-ок для интернет-магазинов, общаться на форумах, звонить компаниям-разработчикам задавать вопросы, устанавливать демо-версии и т.д. И в итоге склоняюсь к мысли что делать надо своими руками.
Дело в том, что я прекрасно понимаю и не имею иллюзий на тот счет, что мой «движок» (даже в кавычках напишу) — он даже рядом не валялся с теми разработками, которые сейчас представлены как на платном, так и бесплатном рынке. Понятно что «корявости», брешей в безопасности, говнокода и т.д. в моем магазине в сотни, а может и тысячи раз больше чем в любом из известных движков. Но как только я начинаю разбираться с каким-либо движком, то несмотря на все разнообразие функционала, который он предоставляет, в нем нет десятков вещей, которые я хотел бы видеть и которые мне нужны. Даже могу привести такой пример, что в некоторых известных движках нет элементарной зависимости способов оплаты от способов доставки. Т.е. при выборе пользователем определенного способа доставки, чтобы выдавался характерный только ему список способов оплаты (т.е. некоторые способы оплаты не должны выводиться для некоторых способов доставки). Не говоря уж о самых различных системах скидок (у нас в магазине есть десятки вариантов скидок, типа «купи этот товар в последний четверг месяца и тот аксессуар к нему и получишь 1000 руб. подарка на следующую покупку». Пример, конечно, утрированный. Просто им я хотел показать некую абсурдность и сложность наших акций, которые тем не менее придумываются менеджерами и которые в нашем случае обоснованы. Многие движки предлагают возможности настройки гибкой системы скидок, по купонам, промокодам и т.д. Но, повторюсь, у нас очень часто бывают акции, техническую реализацию которых невозможно реализовать в известных CMS. Это я говорю конкретно об акциях. Но есть еще куча нюансов, связанных с другими аспектами магазина.
Про админскую часть и вовсе молчу. Наши менеджеры имеют такие инструменты работы с админкой заказов, которых нет и быть не может в CMS-системах. Т.к. это конкретно частный случай и ни один разработчик CMS-ки не учтет это в своем движке. К примеру: «вывести все предварительные заказы за конкретный период времени на товары, которых на тот момент не было в наличии, но сейчас они появились на складе» и при этом одним кликом отправить всем этим клиентам уведомления в электронную почту и смс о том, что товар появился, приезжайте забирайте (в сообщении подставляется нужный адрес точки самовывоза, в зависимости от того из какого города клиент). При этом еще собирается статистика кликов из писем, переходов и пр. внутри сайта. Понимаю, что стандартными средствами таких действий и настроек не сделать. И понимаю, что для этого нужна доработка и допиливание движка либо своими силами, либо наймом программиста, работающего с этим движком.
В моем случае магазинами занимаюсь только я. И единственным разработчиком являюсь, соответственно только я. Наём сотрудника или плата кому-то за доработки в нашем случае пока не рассматривается. И поэтому понимаю, что если склоняться к варианту установки одного из движков для интернет-магазина, то все эти наши замутки, которые придумываются, их придется реализовывать самому уже на основе этого движка. А это значит, что нужно досконально разбираться в его архитектуре, ковыряться много часов, изучать документацию, общаться со специалистами. Короче говоря, тратить огромное время и силы. И еще не факт, что получится освоить это в той мере, чтобы научиться реализовывать все что пожелаешь. Еще не факт, что в этом движке вообще возможно реализовать все что пожелаешь. И еще не факт, что ты изначально правильно выбрал движок и не ошибся, т.к. на начальном этапе тяжело понять сможешь ли ты его пилить как хочешь или нет, даже если разберешься с ним. Ну и стоит упомянуть что я не такой сильный программист как хотелось бы. Пишу на php. Сайты прекрасно работают, исполняют свои функции, движок имеет более менее какую-то структуру, но опытный программист все-равно скажет «говнокод» и поделка, если заглянет внутрь.
И в итоге все передумав и промучившись сомнениями я склоняюсь к мысли продолжать работать со своим детищем, где я бог и хозяин и могу сделать, без преувеличения, все что угодно.
Здесь на хабре в одном из топиков, посвященных как раз движкам для интернет-магазинов, был один комментарий. Точно не процитирую, но смысл следующий: писать самому — это хорошо, делать свой движок — это очень хорошо. Хорошо, чтобы научиться программировать, понять как это работает, познать тайны архитектуры таких приложений. Но все-равно рано или поздно надо переходить на готовые серьезные CMS-системы, т.к. свой движок хорош только в плане начального образования, для того чтобы понять эту кухню и набраться опыта и подготовиться к переходу на более надежные, совершенные, серьезные и безопасные вещи, т.е. на готовые и годами опробованные движки опытных известных разработчиков. И уже на них творить свои проекты.
Но ведь меня парит даже не то, что мой движок чем то плох, небезопасен или не выдержит больших нагрузок и прочее. Сейчас сайт работает, все хорошо. При нашей посещаемости, наших нагрузках и наших задачах он справляется со своими обязанностями и прецедентов, слава богу, пока никаких не было. И даже еще есть некий запас в плане увеличения нагрузок. Но даже если наша фирма станет настолько крута, что конкуренты захотят нас ломать или в тысячи раз увеличится наша посещаемость, что сайт не станет выдерживать нагрузок — да дай бог чтобы так и было! Ведь это будет значить, что мы растем, наш проект растет и наши доходы тоже растут. И уж тогда то мы сможем позволить себе наконец-то нанять студию или фрилансера для разработки и последующих многократных совершенствований мощного интернет-магазина на каком-нибудь Битриксе (фраза «на каком-нибудь» — это не пренебрежение, а просто для красочности ))). Поэтому страх мой не в этом. Страх мой в другом. Пока мы остаемся на том уровне как сейчас, пока наш магазин все-таки еще сделан на моих кодах, я боюсь того, что в будущем может так случиться, что с сайтом придется работать например другому человеку (может это будет мой помощник или мой сменщик). КАК он будет разбираться с тем, что я сделал??? Ведь самый большой косяк всех самописных движков, на мой взгляд, что постороннему человеку в нем нереально разобраться.
Но как бы оно не было, что бы не говорили, что бы я не делал, я все-равно боюсь пускаться в авантюру: начать делать интернет-магазин на одном из известных движков, т.к. сомневаюсь, что смогу реализовать в нем все что требуется нашей компании и что я довольно успешно реализовывал в магазинах, созданных на основе своих кодов.
И мне очень интересно услышать мнения и комментарии опытных читательов, тех кто был в похожей ситуации и преодолел ее.
Автор: battrack