Основной стек технологий

  • LAMP/LEMP.
  • HTML5, JavaScript, CSS3.
  • Yii2, Kohana 3.
  • jQuery.
  • LESS, SASS, PostCSS.
  • Gulp.js, Webpack, Babel.js.
  • БЭМ.
  • React, Flux, Redux.
  • Subversion, Git, Mercurial.
  • Jenkins.

Используемые технологии и подходы

Бэкенд

  • Языки PHP и Go (для высоконагруженных проектов) с применением паттернов проектирования.
  • Фреймворк Yii2 для крупных проектов:
    • применяется компонентная, модульная архитектура;
    • версионность БД посредством миграций;
    • с помощью интернализации i18n реализуем мультиязычность;
    • ActiveRecord для объектной работы с данными;
    • применяется интеграция с различными сторонними сервисами типа Sphinx, Codeception и т.д.
  • Фреймворк Yii1 для сопровождения и развития готовых сторонних проектов.
  • В качестве БД используем Mysql, MongoDB, PostgreSQL:
    • применяется нормализация, денормализация данных в зависимости от требований;
    • репликации;
    • применение индексов, InnodDB;
    • построение сложных запросов;
    • MongoDB применяется в узкоспециализированных случаях для хранения «потока данных».
  • Системы контроля версий:
    • Subversion для простых проектов «одного исполнителя»;
    • Mercurial, Git для командной работы с моделью ветвления master, develop, task. Bitbucket, GitHub.
  • Другие технологии:
    • Lucene, Sphinx для организации релевантного морфологического поиска;
    • менеджер пакетов и зависимостей Composer;
    • автоматизация тестирования основана на Codeception;
    • CI Server — Jenkins;
    • анализаторы кода phpcpd, phpmd, а также phploc для фиксирования метрик;
    • применяется проверка стандартов написания кода с помощью phpcs;
    • Redis — кеширование и сервер очередей.

Фронтенд

  • Верстаем макеты с использованием технологий HTML5, CSS3, JavaScript:
    • принципы абсолютно независимых блоков с БЭМ;
    • анимации и js интерактив;
    • адаптивность;
    • кроссбраузерность IE8+;
    • семантика html разметки;
    • использование микро-разметки для поисковых систем;
    • twitter bootstrap для быстрого прототипирования.
  • Настраиваем сборку frontend:
    • организация системы задач с Gulp.js;
    • компиляция препроцессоров LESS, SASS;
    • постпроцессинг стилей с PostCSS;
    • настройка гибкого, модульного JavaScript с Webpack, с возможностью писать на новом стандарте ES6, транслируя код в ES5 с помощью Babel.js;
    • автоматическая оптимизация графики с построением системы иконок на PNG спрайтах или SVG.
  • Оптимизируем производительность проектов:
    • сокращение количества запросов к серверу, путем правильной сборки зависимостей;
    • постепенная загрузка не критичных компонентов страницы;
    • управление отображением содержимого в процессе загрузки страницы;
    • правильное использование различных форматов графики и ее оптимизация.
  • Стандартизируем процессы frontend разработки:
    • написание методологий разработки;
    • разработка библиотеки используемых компонентов;
    • разработка стайлгайда для проекта.
  • Разрабатываем SPA:
    • используем современный фреймворк React.js;
    • контролируем сложность состояния приложения с Flux, Redux.

Дизайн

  • Узкоспециализированные специалисты: графический дизайн, иллюстрация, видео, моушн-дизайн, анимация, иконографика, типографика, 3D.
  • Документация дизайна.
  • Системы масштабирования проектов, руководство правил по использованию UI элементов.

Проектирование и коммуникации

  • Интервьюирование клиента, при необходимости погружение на стороне клиента.
  • Построение схем бизнес-процессов BPMN, EPC, IDEF0.
  • Концептуальное виденье проекта.
  • Анализ конкурентного поля и другая аналитика.
  • Информационная архитектура проекта.
  • Адаптивные интерактивные прототипы.

Коммуникации внутри команды

  • Redmine и Slack, их тесная интеграция кастомизированная под наши нужды.
  • Сервисы Google.