Автор: icefogКатегории: Технологии  Дата: 2021-09-22 14:43:16

Мифы и правда о самописных движках для сайтов

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

Миф 1. Самописные движки более уязвимы для хакерского взлома, чем стандартные CMS.

Типичная иллюстрация поговорки «Слышал звон, да не знаю, где он». Во-первых, стандартные движки, как уже было сказано выше, используются миллионами пользователей, поэтому, как только на одном из сайтов, основанных на стандартном движке, обнаруживается уязвимость — она немедленно становится известна многочисленным любителям ломать чужие сайты, и как следствие — последующие взломы множества других сайтов, основанных на этой же версии движка. Во-вторых, главный бич стандартных движков — это их сверх-универсальность: большое количество всевозможных функций, модулей и плагинов (причём нередко любительских) неизбежно приводит к появлению уязвимостей, которые закрываются (фиксятся, как принято говорить в интернете) разработчиками далеко не сразу и не всегда. «Самописки», в отличие от стандартных движков — это ручная работа, в которой безопасности и взломостойкости уделяется программистом очень большое значение. Ломать «самописки», как правило, значительно сложнее и куда менее интересно, чем стандартные движки — овчинка выделки не стоит: даже если хакер найдёт уязвимость в «самописке» — не то что тысячу, а и десяток-то других сайтов тем же способом уже не поломаешь, потому как не факт, что эта же «самописка» используется ещё где-то. Кроме того, в «самописках» нередко используются нестандартные программные решения, которыми пренебрегают создатели стандартных движков. Самый элементарный пример такой разницы — непременное наличие в любом стандартном движке индексного файла с наименованием «index.php», который у хакеров обычно является первым и самым лакомым объектом для взлома, тогда как в правильно написанных «самописках» файл с таким наименованием обычно отсутствует в принципе или закрыт для доступа из вне из соображений безопасности.

Миф 2. Самописные движки более «тяжёлые», и созданные на их основе сайты долго грузятся.

Сторонники этого мифа, как правило, весьма слабо представляют себе принципы программирования в целом и разницу между стандартными и самописными движками в частности. А разница есть, и очень существенная. Она заключается, помимо всего прочего, ещё и в том, что стандартные движки и «самописки» создаются в буквальном смысле слова по диаметрально противоположным принципам. Стандартный движок изначально программируется как сверх-универсальный, на все случаи жизни, и при создании очередного сайта с его использованием — чаще всего разработчиком сайта отключается в движке множество лишних, ненужных функций и модулей, но после этого в коде всё равно остаётся куча ненужного мусора (что-то забыли отклчить, на что-то махнули рукой, мол, и так сойдёт, а что-то и вовсе оставили намеренно, на всякий случай). «Самописки», в отличие от стандартных движков, создаются «с нуля», с пустого места, поэтому программист создаёт только то, что необходимо для работы сайта — в 90% случаев он не станет создавать код «на всякий случай», потому что ему просто никто не заплатит за лишнюю работу. Соответственно, код «самописок» получается лёгким и быстрым.

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

Прежде всего уместно будет напомнить, что речь идёт о качественно, добросовестно написанных «самописках». Так вот, любой добротно сделанный самописный движок обладает внятной, чёткой структурой, его программный код изобилует комментариями разработчика и сопровождается технической документацией с описанием назначения используемыйх функций и параметров — и это является стандартом программирования! Разобраться в таком коде может любой квалифицированный программист. Другой вопрос, что в коде «самописок» чаще всего не способны разобраться те, кто привык работать со стандартными движками. Здесь необходимо пояснить, что такие «специалисты» почему-то тоже называют себя программистами, хотя представление о программировании имеют весьма относительное — если вообще знакомы с этим процессом, в силу чего их можно назвать настройщиками стандартных движков, но уж никак не программистами. Более того, они способны решать технические задачи даже со стандартными движками лишь в пределах функционала, предоставляемого web-интерфейсом движков и составленной разработчиками движка документацией. Выполнение нестандартных задач — для них серьёзная, а то и вовсе непреодолимая проблема.  Отсюда — и миф о неспособности программистов разобраться в чужой «самописке». Что касается исчезновения разработчиков. Фразу «в самописном движке возможна реализация любых алгоритмов» многие заказчики почему-то ошибочно трактуют как возможность бесплатной разработки любого объёма пожеланий сверх технического задания в рамках оговорённого бюджета, после чего очень удивляются, что программист просит оплатить дополнительную работу (это касается главным образом фриланса). Из-за чего нередки случаи, когда разработчик отказывается выполнять дополнительную работу бесплатно, и не найдя взаимопонимания с заказчиком, вынужден попросту прекратить разработку. Отсюда — миф об исчезновении программистов неизвестно куда.

Миф 4. Сайты на самописных движках плохо индексируются поисковыми системами.

Имеет ту же природу, что миф 2. Практика показывает, что сайты на «самописках» индексируются поисковыми системами гораздо лучше, быстрее и полнее, чем сайты на стандартных движках. Бюджет на продвижение «самописок» может нередко составлять в десятки раз меньше, чем у сайтов на стандартных движках. Причина до неприличия банальна: лёгкость кода «самописок» и более высокое соотношение релевантного текста к коду сайта. В моей практике нередки случаи, когда сайт самостоятельно появлялся в результатах поисковой выдачи Yandex и Google по интересным заказчику фразам ещё до начала продвижения.

Миф 5. Разработка и техническое обслуживание самописных движков имеют исключительно высокую стоимость.

У так называемых «программистов» из 3-го мифа, привыкших иметь дело со стандартными движками — безусловно. Если поручить такому «программисту» работу с «самопиской», то в лучшем случае ему придётся очень долго разбираться, что и как устроено в «самописке», а в худшем — он просто найдёт настоящего программиста и поручит ему свою собственную работу, а с вас возьмёт стоимость работы программиста плюс навар самому себе за успешное выполнение задачи. Отсюда и высокая стоимость. Посреднические услуги «программистов» — далеко не такая редкость, как можно было бы подумать. Посредники есть везде, и IT-индустрия — не исключение. Но если вы напрямую закажете работу квалифицированному разработчику — стоимость его работы совсем не обязательно будет запредельной. Мелкие изменения в «самописке» и вовсе могут составить весьма скромные суммы: к примеру, одно из недавних пожеланий моего заказчика (в семь вечера!) было выполнено мной в течение 1 часа за 300 руб. В заключение — совет: не всегда доверяйте мифам, особенно когда их источником являются люди, не вполне компетентные в профессиональной сфере, мифы о которой распространяют.