Сегодня мы решили пролить немного света на закулисы нашей веб-мануфактуры, и рассказать о веб-технологиях, которые мы используем в процессе сайтопроизводства.
Если идти с начала технологической цепочки изготовления сайта, то первым шагом является, конечно же, выбор максимально подходящего backend-приложения. Для большинства простых сайтов, таких как сайт-визитка, лендинг, небольшой корпоративный сайт или небольшой каталог товаров, в качестве основы мы всегда выбираем и рекомендуем вам CMS WordPress. Почему:
- админка уже готова;
- гибкая система типов записей/страниц и категорий;
- большое количество плагинов для реализации любого функционала;
- отсутствует привязка клиент — веб-студия;
- нет никаких ограничений по структуре страниц;
- скорость разработки нереально высокая;
- он няшный :3
Для интернет-магазина, либо крупного каталога со стандартным функционалом мы используем CMS OpenCart. Плюсы и преимущества:
- удобное управление товарами и заказами;
- гибкая система отчетов;
- огромное кол-во вспомогательных платных/бесплатных плагинов;
- отсутствует привязка клиент — веб-студия;
- возможность очень быстро подстраивать функционал «под себя».
Ну и основным «оружием по крупным целям» (все сайты и приложения, для которых не подошли WordPress и OpenCart) у нас является эксклюзивная разработка под определенные задачи и функционал с помощью PHP-framework Yii2 (иногда в связке с EmberJS). Преимущества:
- фреймворк новый и очень динамически развивающийся;
- при правильном использовании, функциональный, быстрый и защищенный не менее аналогов-динозавров, таких как Symphony, Zend etc.;
- все пишется с помощью framework’а, но с нуля, поэтому и на сайте, и в админке может быть реализован абсолютно любой функционал;
- встроенные CSS Framework Twitter Bootstrap и шаблонизаторы Twig и Smarty, что значительно ускоряет разработку front-end;
- большое количество готовых расширений, использование которых, сильно уменьшают время разработки back-end’а.
С backend-приложениями, вроде, разобрались. Далее, немного о веб-технологиях, которые используют наши front-end разработчики.
С появлением спецификации CSS3 мы стараемся прибегать к JavaScript для реализации динамической части реже, но все равно остаются моменты, которые реализовать только на CSS невозможно (валидация/отправка форм, изменения DOM-элементов и т. д.). Тут на помощь приходит js-библиотека jQuery. Под нее есть большое количество расширений для решения большинства задач, и можно быстро дописать свое расширение, если того будет требовать архитектура проекта.
После успешной разработки сайта мы всегда оптимизируем скорость загрузки сайта: сжимаем изображения, стили и скрипты сайта с помощью gruntjs. Процесс разработки полностью логируется и контролируется с помощью системы контроля версий git, ее веб-морды Gitlab и под неусыпным взором код-ревьюера (одна голова — хорошо, а две — хорошохоршо). Стоит отметить, что сборщиков front-end’а и систем контроля версий существует достаточно большое количество, но функционал между аналогами очень похож, поэтому мы выбирали просто более популярные и удобные для нас системы, и какой-то логической подоплеки «мы выбрали эти системы потому что они лучше потому что…» просто нет.
Конечно же, мы не ограничиваемся только вышеперечисленными веб-технологиями, всегда ищем лучшие решения и отталкиваемся от общепринятых парадигм сайтостроения, назначения сайта и его особенностей.