Плюсы и минусы самописных движков сайта

Автор: | 16.10.2016

plyusy-i-minusy-samopisnyh-dvizhkov-sajtaПриветствую вас, друзья!

Сегодня мы продолжим наш разговор, посвящённый движкам сайта, который мы начали в предыдущей статье, и поговорим уже конкретно о самописных движках.

Более подробно о движках в целом, особенностях самописных платформ и процессе их разработки вы можете прочитать в статье по ссылке выше.

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

Поскольку противоположным самопискам типом движков являются официальные платформы, то они нередко будут упоминаться при аргументировании тех или иных преимуществ и недостатков их самопальных собратьев.

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

К тому же у меня был опыт как создания PHP фреймворка своими руками, так и работа со сторонней самопиской, поэтому по данному поводу мне есть что вам рассказать.

О своём опыте общения с самописными движками сайтов

С данным типом платформ для создания сайта лично у меня особенные отношения, т.к. я больше года проработал в фирме, создающей сайты на базе самописного фреймворка.

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

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

Также на базе нашей самописной платформы разрабатывались Интернет-магазины, для которых была создана самописная CMS на базе данного фреймворка, и сайты-визитки (корпоративные сайты, промо-сайты и прочие их разновидности).

В общем, как видите ничего сверхъестественного, чего нельзя было бы создать на существующих официальных решениях.

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

По этой же причине я, собственно говоря, и решился на написание данной статьи, т.к. возможность поделиться личным опытом – это приятно для меня, как для автора, и полезно для вас, как для читателей :-)opyt-raboty-s-samopisnym-dvizhkom-sajta

Поэтому, если с какими-то моментами лично вы будете не согласны, не судите строго. Главное, не забывайте делиться своими мыслями в комментариях под статьёй 😉

Итак, переходим к самому главному – обзору преимуществ и недостатков данной категории движков.

Плюсы и минусы самописных движков для разработчиков

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

Но, несмотря на эти минусы, самописные движки существуют и продолжают создаваться.

Одно дело, когда движок создаётся для каких-то действительно специфических задач — решений для P2P сетей, база для создания CRM-решений и т.д.

Но когда это очередной велосипед для разработки типовых Интернет-магазинов или корпоративных сайтов… Остаётся только развести руками :-)

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

И народ пишет :-) А после, ленясь осваивать официальный фреймворк или CMS, продолжает создавать сайты на нем.

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

Из главных минусов самописных движков для себя, как для программиста, я выделил следующие:

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

Не знаю, особенность ли это данной фирмы или самописок в целом, но, скорее всего, так чаще всего и бывает.

Я так думаю, потому что создатели самописных движков, разрабатывающие их изначально в академических целях (для освоения технологий программирования и устройства движков) не считают нужным их документировать исключительно для себя.

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

С чем я, собственно говоря, столкнулся и наелся сполна, раздражая глупыми вопросами типа «А для этого уже есть функция или писать заново?» своих более опытных коллег.

2. Кроме тебя, о существовании такого самопального продукта знает ещё 10, максимум 100 человек на всей Земле, которые являются твоими нынешними или бывшими коллегами.

Следовательно, когда рано или поздно вы решите сменить место работы, будьте готовы к сплошным отказам со стороны работодателей, которых будут интересовать ваши знания только официальных, общепринятых технологий.

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

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

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

Им интересно только сколько вы им заработаете денег со своими текущими знаниями. А если вам нужно ещё давать время, чтобы изучить официальную технологию, которую требуют заказчики, многие дают от ворот поворот.

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

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

dostoinstva-i-nedostatki-samopisnykh-dvizhkov-sajta-dlya-razrabotchikovКак правило, это механизмы работы с API различных сервисов или ПО, призванное увеличивать производительность ресурса, когда он становится highload.

В общем-то, в последнем случае, скиллап будет ощутимым, нужно только доработать до этого уровня проекта.

Если же вы приступите к работе с движком, когда он уже будет иметь эти технологии «на борту», как было в моём случае, то уровень вы свой вряд ли повысите, т.к. для работы с тем же Memcached на нашем движке был уже список адаптированных методов, которые позволяли не вдаваться во все тонкости работы технологии и её настройки под свои нужды.

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

Это, безусловно, удобно в плане работы, когда ты являешься асом в каких-то определённых рамках. Но стоит только выйти за их пределы, поменяв место работы, ты сразу становишься никем.

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

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

4. Самописные платформы развиваются только их создателями (что если и бывает вообще, то крайне редко), следовательно, об обновлениях движка с исправлением багов и внедрением новых функций на уровне ядра можно не думать.

Впрочем, в этом и нет необходимости, т.к. версионный подход – это удел больших проектов, в которых задействована не одна тысяча разработчиков, причём, по всему миру.

Если речь идёт об узкоспециализированных платформах, какими являются самописные движки, то выпуск версий движка – это излишества, т.к. все разработчики, как правило, связаны между собой общим репозиторием, позволяющим публиковать любые правки на уровне движка быстро и просто, без оформления их в виде официальных версий.

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

stark-igry-prestolov-gryadet-mnogo-zakazovДля этого необходимо найти 1-2 клиентов для разработки им проекта с нуля. В дальнейшем у них неизбежно будут возникать различного рода дополнения и правки, с которыми они, ввиду специфичности самописной платформы сайта, естественно, будут обращаться именно к вам.

Таким образом, дефицитом заказов, а, поскольку техподдержка, особенно на постоянной основе, услуга далеко не дешевая, то и денег вы страдать не будете.

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

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

Так что данная особенность не является отличительной чертой самописных движков.

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

Достоинства и недостатки самописных движков для заказчиков

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

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

Итак, какие же недостатки самописных движков для заказчиков?

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

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

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

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

2. Сложность, а, порой, и невозможность найти сторонних разработчиков, которые согласятся внести правки на ваш сайт или дополнить его новыми функциями.ispolzovanie-uslug-frilansera

Программистов понять, на самом деле, легко. Зачем им связываться с платформой и тратить время на её освоение, если все это мероприятие не несёт никакого профита (повышение профессионального уровня).

Если только вы их не заинтересуете привлекательным гонораром. Но здесь всё снова будет упираться в финансовый вопрос.

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

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

Следовательно, ни о каких поисках информации в Интернете речь также идти не может, т.к. о самописных движках никто, никогда и ничего не напишет, кроме их создателей, которым нет смысла этим заниматься.

В случае же выбора официальной платформы проблем с дефицитом информации вы точно испытывать не будете. Иногда на форумах выкладывают даже готовые фрагменты кода, которые нужно будет только вставить в требуемом месте.

4. Ещё один существенный недостаток, связанный с использованием самописных движков при разработке сайтов — это качество кода, т.к., как уже говорилось ранее, в большинстве случаев самописки изначально создавались в академических целях, т.е. о чистоте и оптимизации кода никто в этот момент не задумывался.plyusy-i-minusy-samopisnykh-dvizhkov-sajta-dlya-zakazchikov

Мне однажды предоставилась честь разбираться со сторонним сайтом, написанным на самописном движке. Так вот, там CSS-стили были прописаны прямо в коде страницы внутри директив <style>, причём, даже в конце документа, если не ошибаюсь, что является верхом непрофессионализма разработчиков.

Следовательно, разбираться с таким кодом и оптимизировать его — это настоящая головная боль для программистов, которым заказывают доработки на таком сайте.

Хотя, справедливости ради, стоит заметить, что такое явление не повальное. Есть вполне приличные продукты с чистым кодом.

5. Следующий минус самописных движков для заказчиков, как и для разработчиков, будет связан с вопросом поддержки и развития платформы.

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

За каждую новую функцию придётся платить отдельно.

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

Если только вы не хотите сами стать программистом и разбираться со структурой кода самописки, в чём я лично сомневаюсь 😉

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

Но не думайте, что низкая стоимость связана с тем, что «у нас тут самописный движок, поэтому сайт дорого вам не обойдётся, т.к. никто с нами сотрудничать не хочет» :-)

На самом деле место имеет чисто маркетинговый ход, целью которого является заинтересовать заказчика в сотрудничестве.

Таким образом, разработчики могут «заманивать» своих клиентов, чтобы они, как рыбки, проглотили наживку с крючком.

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

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

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

Точнее, с первыми доработками вы к ним и обратитесь в надежде, что их цены будут такими же приятными, как и на этапе разработки ресурса.

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

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

Выводы по поводу использования самописных движков

Думаю, что в процессе чтения статьи вы и сами заметили, что я отношусь к самописным движкам с неприязнью.

Для меня, как для разработчика, их использование в процессе создания сайтов – это сплошные минусы, заключающиеся в отсутствии профессионального роста и сложности освоения ввиду отсутствия документации.stoimost-dorabotki-samopisnogo-dvizhka-sajta

Признаю, что определённый профит при работе с ними я определённо получил в виде приобретения знаний алгоритмов, языковых конструкций и технологий, с которыми я не сталкивался до этого, но, как я вам и говорил ранее, при поисках новой работы мне это мало чем помогло.

Собственно говоря, к мыслям о смене работы меня и привёл самописный движок, т.к. в определённый момент я просто поймал себя на мысли, что просто не развиваюсь.

Думаю, что к таким размышлениям вы тоже рано или поздно придёте, работая с данным типом платформ. Поэтому, лучше и не начинать :-)

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

Если же вы хотите использовать своё творение в коммерческих целях, то лично я не рекомендовал бы это делать, т.к. процесс создания полноценной платформы, пригодной для разработки различных типов сайтов, как в случае официальных фреймворков, будет очень длительным и трудозатратным.

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

Лучше потратить своё время с пользой и начать осваивать официальные движки, знания которых будут вам гарантировать клиентов (на Западе, кстати, заказчики очень требовательны к технологиям) и работу в дальнейшем.

Если же вы всё-таки выберите путь создания сайтов на своём движке либо будете сотрудничать с фирмой, разрабатывающей на самописке, то готовьтесь, что, когда у вас либо у ваших работодателей начнуться проблемы с заказчиками, то при попытках найти себе новую работу вы неизбежно столкнётесь с необходимостью изучения официальных платформ.

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

Особенно, в случае разработки лендингов, чем сегодня занимаются все, кому не лень, для которых и движок-то, в общем, не нужен :-) Но о профессиональном росте в таком случае говорить не приходится. По крайней мере, если вы хотите заниматься бэкэндом, а не собираетесь становиться фронтэндщиком.shutka-pro-plokhogo-programmista

Если говорить о заказчиках, то самописные движки – это своеобразный IT-шный лохотон, т.к. он может помочь вам сэкономить в начале, но после вы понесёте колоссальные убытки от такого сотрудничества.

Поэтому вы не обязаны вникать в тонкости разработки ресурса, но используемыми в разработке технологиями вы интересоваться обязаны.

А чтобы разбираться в них, будет нелишним заниматься самообразованием в виде изучения различных обзоров движков и их рейтингов. К примеру, на данном ресурсе вы можете найти рейтинги лучших CMS для блогов и Интернет-магазинов.

Рекомендую с ними ознакомиться, чтобы ориентироваться при заказе ресурсов у разработчиков.

Также подписывайтесь на обновления проекта, чтобы быть в курсе новых статей.

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

Как вывод — лучше с самописками не связываться, а потратить время и деньги на что-то более распространенное и широко известное, что позволит вам в дальнейшем без проблем найти разработчика для внесения правок либо сделать их самостоятельно с помощью официальной документации и сообществ разработчиков.

Т.е., обратите своё внимание на официальные CMS или фреймворки, о которых более детально мы поговорим в будущих публикациях.

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

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

На этом сегодня всё. До новых встреч :-)

  1. 5
  2. 4
  3. 3
  4. 2
  5. 1
5 голосов, в среднем: 5 из 5

3 комментария к статье "Плюсы и минусы самописных движков сайта"

  1. Виктор

    Я вас прекрасно понимаю.
    Знаете почему вам не понравилось работать на самопальном движке?
    1. Вы работали по найму и к тому же под жестким контролем. Эта работа больше напоминала работу негра на плантации под удары плетью. Я даже сейчас слышу что вам говорили когда вы занимались этим движком.
    …Почему до сих пор не готов модуль сообщений?
    …Почему ваш сайт тормозит?
    …Почему ваш сайт в Explorer не так показывает как Chrome?
    …Вы вообще по моему не разбираетесь в сайтах!
    И так далее в таком духе….(Понеслась п..да по кочкам! :-)
    Выводы — нах… я связался с самопалом!
    2. При таком подходе к программированию у ЛЮБОГО возникнет негативное отношение к сайтостроению
    и к программированию ВООБЩЕ.
    У меня были такие клиенты. От таких людей надо держаться подальше.
    Иначе нынешний программист пойдет работать таксистом или еще бог знает кем.

    1. Pashaster Автор

      Ну, на самом деле, отношение заказчиков не было такое жёсткое :-) Вообще, это отдельная тема, абсолютно не связанная с типом движка и технологиями… Люди бывают разные :-) Моё негативное отношение было вызвано больше тем, что после самопала я не мог найти нормальную работу, потому что никого самопал не интересовал. Всем подавай официальные технологии :-)

  2. Владимир

    Вы только что мое свободное время «с того света» вытащили. И не только время. Благодарен за статью.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *