Веб-технологии, которые мы используем и почему

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

Если идти с начала технологической цепочки изготовления сайта, то первым шагом является, конечно же, выбор максимально подходящего backend-приложения. Для большинства простых сайтов, таких как сайт-визитка, лендинг, небольшой корпоративный сайт или небольшой каталог товаров, в качестве основы мы всегда выбираем и рекомендуем вам CMS WordPress. Почему:

wp-logo

  • админка уже готова;
  • гибкая система типов записей/страниц и категорий;
  • большое количество плагинов для реализации любого функционала;
  • отсутствует привязка клиент — веб-студия;
  • нет никаких ограничений по структуре страниц;
  • скорость разработки нереально высокая;
  • он няшный :3

Для интернет-магазина, либо крупного каталога со стандартным функционалом мы используем CMS OpenCart. Плюсы и преимущества:

oc-logo

  • удобное управление товарами и заказами;
  • гибкая система отчетов;
  • огромное кол-во вспомогательных платных/бесплатных плагинов;
  • отсутствует привязка клиент — веб-студия;
  • возможность очень быстро подстраивать функционал «под себя».

Ну и основным «оружием по крупным целям» (все сайты и приложения, для которых не подошли WordPress и OpenCart) у нас является эксклюзивная разработка под определенные задачи и функционал с помощью PHP-framework Yii2 (иногда в связке с EmberJS). Преимущества:

yiilogo

  • фреймворк новый и очень динамически развивающийся;
  • при правильном использовании, функциональный, быстрый и защищенный не менее аналогов-динозавров, таких как Symphony, Zend etc.;
  • все пишется с помощью framework’а, но с нуля, поэтому и на сайте, и в админке может быть реализован абсолютно любой функционал;
  • встроенные CSS Framework Twitter Bootstrap и шаблонизаторы Twig и Smarty, что значительно ускоряет разработку front-end;
  • большое количество готовых расширений, использование которых, сильно уменьшают время разработки back-end’а.

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

jquery-logo

С появлением спецификации CSS3 мы стараемся прибегать к JavaScript для реализации динамической части реже, но все равно остаются моменты, которые реализовать только на CSS невозможно (валидация/отправка форм, изменения DOM-элементов и т. д.). Тут на помощь приходит js-библиотека jQuery. Под нее есть большое количество расширений для решения большинства задач, и можно быстро дописать свое расширение, если того будет требовать архитектура проекта.

grunt-logo

После успешной разработки сайта мы всегда оптимизируем скорость загрузки сайта: сжимаем изображения, стили и скрипты сайта с помощью gruntjs. Процесс разработки полностью логируется и контролируется с помощью системы контроля версий git, ее веб-морды Gitlab и под неусыпным взором код-ревьюера (одна голова — хорошо, а две — хорошохоршо). Стоит отметить, что сборщиков front-end’а и систем контроля версий существует достаточно большое количество, но функционал между аналогами очень похож, поэтому мы выбирали просто более популярные и удобные для нас системы, и какой-то логической подоплеки «мы выбрали эти системы потому что они лучше потому что…» просто нет.

git-logo

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