“Даже если у вас есть только идея — мы поможем вам получить результат, о котором вы мечтали.”

Артём Богомазов
основатель компании
Россия, г. Белгород,
Свято-Троицкий бульвар, д.17, оф. 503
Карточка организации

основатель компании
2017 год оставил заметный след в истории веб-разработки. Это был период, когда идеи, рожденные несколько лет назад, стали массовой практикой: мобильный трафик вырос до доминирующей доли, HTTPS перестал быть опцией и стал стандартом, а новые подходы к построению интерфейсов сформировали современное представление о веб-приложениях. В этой статье я шаг за шагом расскажу, как в 2017-м создавали сайты, какие инструменты и подходы были актуальны и почему их выбор имел значение для результата.
Если вы ностальгируете по тому времени или изучаете историю развития веба для профессионального роста, здесь вы найдете подробный разбор процессов, решений и типичных ошибок. Текст написан так, чтобы можно было как воспроизвести процесс разработки, так и понять логику выбора технологий.
К 2017 году стало очевидно: сайт должен работать быстро и корректно на мобильных устройствах. Мобильный-first подход перестал быть модной фразой и превратился в требование: дизайн, верстка и оптимизация изображений ориентировались прежде всего на маленькие экраны. Кроме того, браузеры начали более строго относиться к безопасности — сайты на HTTPS получали привилегии, и многие API требовали защищенного соединения.
Технологически мир в 2017-м был насыщен: ES6 уже широко использовался, но транспиляция через Babel оставалась нормой для совместимости. Инструменты сборки вроде Webpack становились стандартом, а менеджеры пакетов npm и недавно появившийся yarn конкурировали за место в workflow. На фронтенде доминировали идеи компонентного подхода — React, Angular в новой версии и растущая популярность Vue показывали, что фронтенд превращается в самостоятельную экосистему.
Процесс разработки в 2017-м оставался классическим по структуре, но наполнился новыми практиками. Большую роль играли быстрые итерации, автоматизация задач и тестирование. Ниже — стандартная последовательность этапов, с пояснениями, что происходило на каждом шаге.
Важно понимать: порядок может варьироваться в зависимости от проекта. Маленький лендинг пройдет все этапы за несколько дней, а сложное приложение потребует долгого планирования, архитектуры и согласований.
На этом этапе уточняли цели сайта, целевую аудиторию и ключевые сценарии использования. Часто заказчик приносил референсы — удобнее всего работать с примерами, чтобы понять визуальные ожидания. Обязательно фиксировали функциональные требования и приоритеты: какие функции должны быть реализованы к запуску, а что может подождать.
Хорошая практика 2017 года — разбивка задач на минимально жизнеспособные релизы. Это позволяло запустить первую версию быстрее и получать обратную связь от реальных пользователей, а затем постепенно расширять функционал.
Прототипы делали разной степенью детализации: от бумажных эскизов до интерактивных wireframe. Инструменты вроде Sketch, InVision и Axure были популярны для визуальной проработки. Важнее всего — проверить основные пользовательские пути: регистрация, поиск, покупка, заполнение форм.
Когда прототип готов, его прогоняли через быстрые тесты с реальными людьми. Маленькие наблюдения позволяли избежать крупных ошибок в дизайне и логике взаимодействия.
Дизайнеры в 2017-м работали с системой компонентов: кнопки, формы, карточки продукта — все это оформлялось как набор повторно используемых элементов. Такой подход ускорял разработку и делал интерфейс согласованным. Популярным был Material Design и адаптации Bootstrap, но многие команды создавали собственные дизайн-системы.
Особое внимание уделяли типографике и контрастности. Поскольку мобильный трафик рос, шрифты и интервалы проектировали для удобного чтения на маленьких экранах.
Верстка в 2017 году опиралась на комбинацию Flexbox и старых приемов. CSS Grid только начинал появляться в браузерах, поэтому его использовали осторожно или в прогрессивном улучшении. В проекте активно применяли SASS, поскольку он давал удобную структуру для больших стилей.
На фронтенде растущую роль занимала компонентность: React и Vue позволяли строить интерфейс как набор независимых частей. Для сборки использовали Webpack, а для управления пакетами — npm или yarn. Транспиляция ES6 в совместимый код была стандартом, потому Babel почти всегда присутствовал в цепочке.
На серверной части выбор зависел от задачи: простые сайты часто делали на CMS — WordPress был фаворитом для контентных проектов. Для сложных приложений использовали Node.js, Ruby on Rails, Django или PHP-фреймворки вроде Laravel. REST API оставался основной формой связи между клиентом и сервером, но уже появлялись проекты, использующие GraphQL.
Важно было заранее продумать структуру данных и ограничения по масштабированию. Если ожидалась высокая нагрузка, архитектуру проектировали с учетом кеширования, очередей и возможности горизонтального масштабирования.
Тестирование сочетало ручной и автоматический подход. Юнит-тесты для логики, интеграционные тесты для API и end-to-end тесты для пользовательских сценариев. Инструменты вроде Jest, Mocha, Selenium и Nightwatch были в ходу. Тестирование производительности и прогон Lighthouse помогали выявить узкие места до релиза.
Кроме функционального тестирования, важна была проверка на кроссбраузерность и адаптивность — браузеры и устройства могли вести себя по-разному, и это требовало внимания.
В 2017-м мы уже привыкали к идее непрерывной интеграции и деплоя. CI-сервисы запускали тесты при каждом коммите, а CD-процессы облегчали выкатывание на staging и production. Docker активно использовали для локальной разработки и деплоя, хотя на некоторых проектах все еще применяли традиционные VPS или shared хостинг.
Поддержка после запуска важна не меньше разработки: обновления зависимостей, мониторинг, исправление багов и добавление новых фич — все это требовало выделенного процесса и ресурсов.
2017-й год принес набор инструментов, без которых многие разработчики уже не представляли свою работу. Они упрощали сборку, тестирование и деплой, позволяли стандартизировать процесс и ускоряли цикл разработки.
Ниже — список основных инструментов и краткие пояснения по использованию в то время.
Каждый из перечисленных инструментов решал конкретную задачу. Вместе они формировали экосистему современного веба, где быстрая сборка и автоматизация стали нормой.
Фронтенд 2017 — это время перехода от страниц к приложениям. Пользовательский интерфейс стал сложнее, а вместе с ним выросли требования к архитектуре фронтенда и управлению состоянием.
Разберем ключевые области: HTML, CSS и JavaScript.
Семантичная разметка оставалась основой доступного и понятного сайта. Правильные теги улучшали индексирование и ускоряли работу скринридеров. Использование aria-атрибутов помогало сделать интерфейс удобным для людей с ограничениями.
Также в 2017-м появились практики прогрессивного улучшения: вначале отдавали базовую, работоспособную версию, а затем добавляли интерактивность через JavaScript.
SASS был распространенным выбором для крупных проектов: переменные, вложенность и миксины упрощали поддержку больших файлов стилей. Flexbox решил множество задач по выравниванию и компоновке, а CSS Grid только начинал внедряться в проектах с оглядкой на поддержку браузеров.
Также активно использовали методологии организации CSS: BEM помогал поддерживать ясную структуру классов и избегать конфликтов стилей в больших кодовых базах.
Компонентные библиотеки и фреймворки доминировали на фронтенде. React предлагал декларативный подход и виртуальный DOM, Angular проходил через крупное обновление до версии 2+, а Vue предлагал простую кривую обучения и был особенно любим небольшими командами.
При разработке SPA важным вопросом была первоначальная загрузка и SEO. Решения включали серверный рендеринг (при помощи Node.js для React, nuxt.js для Vue) и статическую генерацию контента для страниц, важность которых критична для поиска.
Серверная часть в 2017 могла выглядеть по-разному, но общий тренд был в сторону API-first — отделение логики и данных от представления. Это давало возможность иметь несколько клиентов — веб, мобильное приложение — подключенных к единому API.
Ниже — несколько типичных стеков и их характерные особенности.
| Язык / Платформа | Когда выбирать | Плюсы | Минусы |
|---|---|---|---|
| Node.js (Express) | Реальное время, единая язык на клиенте и сервере | Очень быстрое I/O, большое сообщество | Не всегда оптимально для CPU-ограниченных задач |
| PHP (Laravel) | Контентные сайты, быстрый MVP | Широкая экосистема, прост в хостинге | Исторический багаж, возможные сложности при масштабировании |
| Python (Django) | Сложная бизнес-логика, быстрый стартап-развитие | Четкая структура, много встроенных возможностей | Может требовать больше ресурсов в сравнении с легковесными сервисами |
| Ruby on Rails | Быстрый запуск сложных веб-приложений | Конвенции вместо конфигурации, хорошая скорость разработки | Производительность при высоких нагрузках |
Выбор зависит от команды и целей. Часто на одном проекте использовали несколько языков: микросервисы на Node.js для realtime-функций и PHP для сайта контента, например.
Оптимизация в 2017-м была уже не опцией, а требованием. Пользователи не терпят долгой загрузки, а поисковые системы и браузеры начали учитывать скорость при ранжировании и предоставлении привилегий.
Вот практики, которые помогали улучшить производительность.
Профилирование с помощью Chrome DevTools и Lighthouse помогало объективно измерять прогресс. Каждое улучшение нужно было фиксировать метриками — так команды видели реальную выгоду от затраченных усилий.
| Задача | Инструмент/Метод | Эффект |
|---|---|---|
| Снижение веса страницы | Минификация, gzip/ brotli | Меньше байт, быстрее загрузка |
| Снижение числа запросов | Бандлинг, sprite для иконок | Меньше RTT, быстрее время первого отображения |
| Оптимизация изображений | WebP, srcset, сжатие | Меньше трафика, быстрее загрузка на мобильных |
SEO в 2017-м не ограничивалось ключевыми словами. Структура сайта, скорость загрузки и корректная семантика играли роль в ранжировании. Современные практики включали оптимизацию мета-тегов, микроразметку Schema.org и создание понятной карты сайта.
Доступность шла рядом с SEO. Хорошая разметка, правильные alt для изображений, понятная навигация и поддержка клавиатурного управления делали сайт доступным для больших групп пользователей и одновременно улучшали индексирование.
Тестирование в 2017-м расширилось до тестирования производительности, безопасности и пользовательского опыта. Автоматизация тестов уменьшала вероятность регрессий и ускоряла цикл релизов.
Типы тестов, которые обычно применялись:
В 2017-м многие команды внедряли автоматизированные пайплайны: сборка, тесты, деплой. Это уменьшало количество ручных ошибок и ускоряло выпуск новых версий. Docker использовали для унификации окружения, хотя полная контейнеризация была не в каждой команде.
Выбор хостинга зависел от бюджета и требований: для стартапов популярными были DigitalOcean и Heroku благодаря простоте использования, для больших продуктов — AWS или другие облачные провайдеры с возможностью масштабирования. CDNs, такие как Cloudflare, помогали уменьшить задержки для пользователей по всему миру.
Запуск — не финал. Регулярные обновления зависимостей, мониторинг работоспособности, анализ метрик пользователей и быстрые исправления багов — все это составляло повседневную работу команды. В 2017-м появилось больше сервисов для мониторинга: Sentry для ошибок, New Relic для производительности и Google Analytics для поведения пользователей.
Критической была стратегия обновлений: важно было планировать регулярные релизы, но при этом иметь возможность быстро выкатывать фиксы. Резервные копии и процедуры отката были обязательны для минимизации рисков.
Чтобы не забыть важное перед запуском, полезно пройти по чек-листу. Ниже — компактный список ключевых пунктов.
Этот чек-лист не исчерпывающий, но он покрывает наиболее частые причины проблем после запуска.
В 2017-м некоторые ошибки встречались особенно часто. Опишу главные и дам краткие рекомендации по их предотвращению.
Чтобы лучше понять практическое применение описанных подходов, пройдемся по условному кейсу: разработка интернет-магазина средней сложности в 2017 году.
Цели: быстрый MVP, поддержка мобильных пользователей и возможность масштабирования. Решения могут выглядеть так: frontend на React, сервер на Node.js с REST API, база данных PostgreSQL, а для управления каталогом товаров можно интегрировать Headless CMS или сделать собственную админку.
Из практических шагов: создать прототип, настроить сборку через Webpack, развернуть staging среду на DigitalOcean, подключить CI для запуска тестов и использовать Cloudflare как CDN и защиту от DDoS.
Разработка сайта в 2017 году сочетала проверенные практики и стремительный рост новых инструментов. Мобильная оптимизация, безопасность, компонентность интерфейса и автоматизация процесса стали ключевыми критериями качества. Выбор технологий по-прежнему зависел от целей проекта и состава команды, но общая цель оставалась неизменной: создать быстрый, удобный и надежный продукт для пользователей.
Если вы изучаете историю практик или возвращаетесь к проектам того времени, полезно помнить: многие подходы 2017-го задали тон для последующих лет. Понимание этих решений помогает лучше ориентироваться в современных инструментах и не повторять тех ошибок, которые уже были пережиты сообществом.
Разработка сайта 2017
Отправляя данную форму, Вы подтверждаете согласие на обработку персональных данных в соответствии с Федеральным законом № 152-ФЗ «О персональных данных» от 27.07.2006, Политикой конфиденциальности и Обработке персональных данных.