Привет! Это статья для владельцев сайтов и для тех, кто хочет запустить свой Онлайн-проект или Интернет сервис. Ну, если ты придумал какой-то микро-стартап или нужен сайт для обслуживания твоего бизнеса - то эта статья для тебя.
Есть такая "проблемка" на рынке разработки сайтов… Зачастую, когда ко мне обращаются с просьбой разработать или доработать сайт, и я начинаю анализировать пациента, то первое что я вижу - это стратегические ошибки. О чем это я?
Не допусти стратегическую ошибку при создании своего проекта
Ну например, все мы знаем, что Wordpres это уже давно не просто движок для блогов, и на Вордпрессе можно разработать даже сайт со сложной структурой. Верно? Ты же слышал об этом? И вероятно, из-за этого мнения, некоторые люди решают разрабатывать на WordPress настолько сложные проекты, что со временем приходят к такой сложности сайта, что его становится невозможно поддерживать с технической стороны.
И тогда разработка превращается в настоящий “Ад для разработчика”. Простейшие функции внедряются достаточно долго. Новые разработчики отказываются брать проект в работу, потому что это не проект, а “настоящий Хаос” с точки зрения кода. И что собственнику сайта с такой ситуацией делать?
Чтобы не прийти в такую ситуацию в перспективе, важно принимать стратегически верные решения. Поскольку подобные ситуация - это исключительно результат стратегических ошибок, не тактических. Сейчас опишу свое мнение по этому поводу со стороны разработчика, который имеет опыт разработки проектов со сложной бизнес-логикой.
Несколько важных моментов для базового понимания
В каких случаях следует выбрать PHP-фреймворк Laravel вместо CMS WordPress? Ответ на этот вопрос будет очевидным, если разобраться в структуре проекта, к которой планируется прийти в перспективе. Также следует хотя бы поверхностно знать преимущества обоих систем.
Laravel - это НЕ CMS система с админкой. Это PHP-фреймворк, который упрощает разработку сложных и высоконагруженных систем PHP-разработчику. Поэтому и панель администратора, и любые функции, модули для сайта необходимо будет писать разработчику с нуля. Это может потребовать очень много времени. Однако на практике появляется возможность реализовать практически любой функционал - зависит от уровня развития и подготовки разработчика.
Также следует понимать, что на Laravel нет возможности быстро поставить какой нибудь “плагин” или “модуль”, чтобы реализовать даже стандартный функционал. Зачастую весь функционал должен быть написан с нуля. Однако, жизнь разработчику могут облегчить “пакеты”, которые помогут реализовывать частично нужный функционал.
Может показаться, что Laravel это слишком сложно, долго и дорого. И отчасти в этом есть доля правды. Однако эта правда весьма относительна.
Laravel разработчики, действительно, как правило стоят дороже чем WP специалисты. Но это исключительно от того, что такие специалисты имеют как правило более высокий уровень технической подготовки, чем типичные WordPress специалисты. Встречаются конечно же исключения.
Какое у Laravel преимущество перед WordPress?
Важное преимущество Laravel перед WordPress в том, что Laravel позволяет разработать сайт абсолютно с любым функционал и не ограничиваться возможностями WordPress. Конечно, многие WordPress специалисты могут заявить, что на CMS WordPress можно реализовать любой функционал, поскольку CMS также работает на PHP. Но вот в чем дело...
Зачастую код сложных проектов на WordPress превращается в такую “кашу“, с которой становится сложно работать. Повторюсь, на практике встречаются исключения.
Почему такой сложности с кодом не встречается у Laravel? Замечу, что также бывают исключения. Потому, что в сообществе Laravel разработчиков есть определенные стандарты, которые используются в разработке. Более того, к проектам на Laravel обычно предъявляются более высокие требования к качеству кода, поскольку этот код требует обслуживания и поддержки. Важно понимать, что переход на Laravel - это переход на новый уровень разработки по всем параметрам.
И для разработчика переход на Laravel - это также переход на новый уровень. В связи с этим, когда разработчик начинает работать с Laravel, то он неизбежно сталкивается с тем, что качество кода необходимо улучшать. Такой разработчик начинает изучать много новой информации по программированию и со временем уровень разработчика и качество его кода растет. Именно это является причиной более высокого ровня подготовки Ларавель разработчиков.
К чему я это все…
Да, если проект подразумевает сложную логику и сложный функционал, то лучше выбрать именно Laravel и более профессиональных разработчиков.
- Если проект планируется по типу CRM-система, сложный Интернет магазин, Интернет-сервис, маркетплейс, социальная сеть, сайт объявлений или сложный каталог - крайне рекомендую выбрать Laravel.
- Если проект подразумевает активную работу пользователей в личном кабинете или какие-то сложные операции с данными - крайне рекомендую выбрать Laravel.
- Если проект подразумевает высокую нагрузку на серверы и высокую посещаемость - крайне рекомендую выбрать Laravel.
- Если проекту необходимы множественные интеграции с другими Интернет-сервисами - крайне рекомендую выбрать Laravel.
Да, совсем недавно писал статью о том, почему WordPress не подходит для сложных проектов.
Сейчас приведу ряд технических преимуществ Laravel, которые могут стать весомым аргументом:
- Возможность использования автоматических тестов - позволяет улучшить стабильность сайта при выкатывании нового функционала и новой версии сайта. Если какой-то из тестов не сработает, то новая версия с такой ошибкой просто не должна выходить в свет. У WP отсутствуют автотесты.
- Очередь задач - позволяет запускать сложные процессы в фоновом режиме именно в тот момент, когда сервер простаивает. Такая очередь задач работает в Laravel из коробки и не требует сложной настройки. На WP необходимо настраивать и использовать Cron.
- Использование реактивного frontend фреймворка для обслуживания лицевой визуальной части сайта. Такие реактивные фреймворки позволяют добиться более высокого качества кода и сделать сайт более интерактивным и динамичным.
- WebSockets из коробки для обновления данных в Онлайн режиме. Это зачастую просто необходимо для таких вещей как Онлайн-чат, динамичная Онлайн-диаграмма на сайте или что-то подобное.
- Возможность получить более быструю загрузку сайта, поскольку на страницах будут использоваться только те скрипты, которые действительно необходимы. Также есть возможность улучшенной работы с запросами в базу данных.
Возможно ли на WordPress разработать сайт с личным кабинетом?
Безусловно, сайт с личным кабинетом на WordPress разработать возможно. Для этого даже существуют различные плагины, которые можно легко установить. Однако, важно понимать, что как только возникнет необходимость наращивать функционал в таком личном кабинете, то возникнет вероятность, что разработчик начнет писать “костыли”. Подобные плагины для личных кабинетов решают весьма узкие и конкретные задачи.
Типичный WordPress разработчик столкнется со сложностями, если потребуется внедрить прослушивание событий или обновление данных в реальном времени.
Также при разработке на WordPress часто возникает ситуация, когда при разработке одного функционала ломается что-то другое. И это иногда крайне сложно тестировать и обнаруживать. Эта ситуация возникает из-за отсутствия автоматических тестов у WordPress, и также из-за отсутствия практики написания тестов у Вордпресс разработчиков.
Если функционал проекта потребует выполнять задачи в фоновом режиме или в порядке очереди, в тот момент, когда сервер не нагружен, то типичный Вордпресс разработчик начнет использовать Cron. В этом ничего плохого нет. Однако возникает вопрос: зачем использовать такие вещи, когда PHP-фреймворк предусмотрел подобные ситуации и уже “из коробки” имеет очередь задач.
Сложный Интернет проект на WordPress
Сложный Интернет проект на WordPress создать безусловно возможно. Однако высока вероятность прийти в такую ситуацию, в которой самым правильным решением будет переписать весь код с нуля на PHP-фреймворке. И если есть подозрения что подобная ситуация может возникнуть с твоим проектом, то может быть следует избежать стратегических ошибок и принять правильное решение сразу, не дожидаясь когда "получшиь по лбу граблями"?
Преимущества WordPress перед Laravel
Ряд преимуществ WordPress перед Laravel, которые неоспоримы в некоторых конкретных случаях.
Нужно понимать, что WordPress позволяет быстро запустить в работу лендинг, сайт каталог или даже Интернет магазин. WP позволит выбрать красивый шаблон из готовых вариантов, адаптировать его под SEO продвижение и начать продвигаться или запустить рекламу.
На рынке очень много недорогих Вордпресс специалистов, которые с радостью соберут Вам сайт на конструкторе Elementor или даже выполнят верстку по макетам из Figma или Photoshop.
Однако есть ряд сопутствующих недостатков.
Недостатки Вордпресс
Опишу ряд недостатков WordPress и Вордпресс разработчиков относительно Laravel и специалистов на Ларавель. Опишу исключительно свое персональное мнение. При этом, есть вероятность встретить на рынке специалистов исключения.
- Низкая ответственность Вордпресс специалистов, относительно всего рынка программирования.
- Низкий уровень технической подготовки и компетентности Вордпресс специалистов
- Ограничения в реализации технического функционала. Это не коснется твоего проекта, если он не требует решения сложных технических задач.
- Будьте готовы к низкому техническому исполнению проекта
- Возникают сложности при наращивания кастомного функционала, если этого потребует бизнес.
- Сложности при адаптации сайта под высокие нагрузки