Останнім часом мені довелося неодноразово зіткнутися з безліччю всіляких міфів про самописних двигунах для web-сайтів. Найпопулярніші з них наведені нижче.
Однак для початку про всяк випадок поясню, що таке самописние движки і чим вони відрізняються від стандартних. І ті й інші пишуться програмістами, однак перші навмисно створюються над-універсальними і надалі використовуються мільйонами користувачів для створення web-сайтів, тоді як другі, як правило, створюються під конкретний інтернет-проект в одиничному екземплярі.
Отже, перейдемо до міфів про самописних двигунах.
Міф 1. самопісний движки більш уразливі для хакерського злому, ніж стандартні CMS.
Типова ілюстрація приказки «Чув дзвін, та не знаю, де він». По-перше, стандартні двигуни, як уже було сказано вище, використовуються мільйонами користувачів, тому, як тільки на одному з сайтів, заснованих на стандартному движку, виявляється вразливість - вона негайно стає відома численним любителям ламати чужі сайти, і як наслідок - наступні зломи безлічі інших сайтів, заснованих на цій же версії движка. По-друге, головний бич стандартних двигунів - це їх над-універсальність: велика кількість всіляких функцій, модулів і плагінів (причому нерідко аматорських) неминуче призводить до появи вразливостей, які закриваються (фікс, як прийнято говорити в інтернеті) розробниками далеко не відразу і не завжди. «Самописка», на відміну від стандартних двигунів - це ручна робота, в якій безпеки і взломостойкости приділяється програмістом дуже велике значення. Ламати «самописка», як правило, значно складніше і куди менш цікаво, ніж стандартні двигуни - шкурка вичинки не варта: навіть якщо хакер знайде уразливість в «самописка» - не те що тисячу, а й десяток-то інших сайтів тим же способом вже Не поламаєте, бо не факт, що ця ж «самописка» використовується ще десь. Крім того, в «самописка» нерідко використовуються нестандартні програмні рішення. якими нехтують творці стандартних двигунів. Самий елементарний приклад такої різниці - неодмінна наявність в будь-якому стандартному движку індексного файлу з найменуванням «index.php», який у хакерів зазвичай є першим і найбільш ласим об'єктом для злому, тоді як в правильно написаних «самописка» файл з таким найменуванням зазвичай відсутня в принципі з міркувань безпеки.
Міф 2. самопісний движки більш «важкі», і створені на їх основі сайти довго вантажаться.
Прихильники цього міфу, як правило, досить слабо уявляють собі принципи програмування в цілому і різницю між стандартними і самописні движками зокрема. А різниця є, і дуже суттєва. Вона полягає, крім усього іншого, ще й в тому, що стандартні двигуни і «самописка» створюються в буквальному сенсі слова по діаметрально протилежним принципам. Стандартний движок спочатку програмується як над-універсальний, на всі випадки життя, і при створенні чергового сайту з його використанням - найчастіше розробником сайту відключається в движку безліч зайвих, непотрібних функцій і модулів, але після цього в коді все одно залишається купа непотрібного сміття ( щось забули отклчіть, на щось махнули рукою, мовляв, і так зійде, а щось і зовсім залишили навмисно, про всяк випадок). «Самописка», на відміну від стандартних двигунів, створюються «з нуля», з порожнього місця, тому програміст створює лише те, що необхідно для роботи сайту - в 90% випадків він не стане створювати код «про всяк випадок», тому що йому просто ніхто не заплатить за зайву роботу. Відповідно, код «самопісок» виходить легким і швидким.
Міф 3. Розробники самописних движків в середині розробки зникають невідомо куди, і потім ніхто не може розібратися в їхньому коді.
Інше питання, що в коді «самопісок» найчастіше не здатні розібратися ті, хто звик працювати зі стандартними двигунами. Тут необхідно пояснити, що такі «фахівці» чомусь теж називають себе програмістами, хоча уявлення про програмування мають досить відносне - якщо взагалі знайомі з цим процесом, в силу чого їх можна назвати настроювачами стандартних двигунів, але аж ніяк не програмістами. Більш того, вони здатні вирішувати технічні завдання навіть зі стандартними двигунами лише в межах функціоналу, наданого web-інтерфейсом движків і складеної розробниками движка документацією. Виконання нестандартних завдань - для них серйозна, а то і зовсім непереборна проблема. Характерний приклад такої нестандартної задачі викладено мною в запису «Як подружити WordPress з« чужої »сторінкою?».
Звідси - і міф про нездатність програмістів розібратися в чужій «самописка».
Що стосується зникнення розробників. Фразу «в самопісний движку можлива реалізація будь-яких алгоритмів» багато замовників чомусь помилково трактують як можливість безкоштовної розробки будь-якого обсягу побажань понад технічного заданіяв рамках обумовленого бюджету. після чого дуже дивуються, що програміст просить оплатити додаткову роботу (це стосується головним чином фрілансу). Через що нерідкі випадки, коли розробник відмовляється виконувати додаткову роботу безкоштовно, і не знайшовши взаєморозуміння з замовником, змушений просто припинити розробку. Звідси - міф про зникнення програмістів невідомо куди.
Міф 4. Сайти на самописних двигунах погано індексуються пошуковими системами.
Має ту ж природу, що міф 2. Практика показує, що сайти на «самописка» індексуються пошуковими системами набагато краще, швидше і повніше, ніж сайти на стандартних двигунах. Бюджет на просування «самопісок» може нерідко складати в десятки разів менше, ніж у сайтів на стандартних двигунах. Причина до непристойності банальна: легкість коду «самопісок» і більш високе співвідношення релевантного тексту до коду сайту. У моїй практиці нерідкі випадки, коли сайт самостійно з'являвся в результатах пошукової видачі Yandex і Google по цікавим замовнику фразам ще до початку просування.
Міф 5. Розробка і технічне обслуговування самописних движків мають виключно високу вартість.
У так званих «програмістів» з 3-го міфу, які звикли мати справу зі стандартними двигунами - безумовно. Якщо доручити такому «програміста» роботу з «самописка», то в кращому випадку йому доведеться дуже довго розбиратися, що і як влаштовано в «самописка», а в гіршому - він просто знайде справжнього програміста і доручить йому свою власну роботу, а з вас візьме вартість роботи програміста плюс навар самому собі за успішне виконання завдання. Звідси і висока вартість. Посередницькі послуги «програмістів» - далеко не така рідкість, як можна було б подумати. Посередники є скрізь, і IT-індустрія - не виняток. Але якщо ви безпосередньо замовите роботу кваліфікованого розробнику - вартість його роботи зовсім не обов'язково буде позамежною. Дрібні зміни в «самописка» і зовсім можуть скласти досить скромні суми: наприклад, одне з недавніх побажань мого замовника (о сьомій вечора!) Було виконано мною протягом 1 години за 300 руб.
На закінчення - порада: не завжди довіряйте міфам, особливо коли їх джерелом є люди, не цілком компетентні у професійній сфері, міфи про яку поширюють.