Как составить план разработки для сайта

Поэтапный план создания сайта – читайте в полезном блоге digital-агентства MWI.

Андрей Лымарев

Андрей Лымарев

24 июня 2019

Чтобы избежать множества различных проблем, связанных в первую очередь с индексацией вашего ресурса в поисковиках, необходимо изначально составить поэтапный план создания сайта. Перед началом разработки нужно составить хотя бы приблизительную смету с учетом возможных затрат на выполнение всех нижеперечисленных этапов работ.

Обращаем Ваше внимание, что этот материал взят из нашей книги Топ 20 SEO-рекомендаций, которые необходимо учесть при разработке.

Ключевые этапы, которые необходимо отразить в плане работ:

1. Выбрать тематику будущего веб-ресурса и определить основные цели.

В первую очередь нужно понимать, для каких целей требуется сайт и какие функции он будет выполнять. Например, представлять компанию в сети или предлагать конкретные услуги, товары и т.д.
Выбранная тематика в итоге повлияет на все последующие этапы.

2. Определить, исполнителей, которые будут заниматься последующими этапами создания сайта – что можно сделать своими силами, где нужно привлечение отдельных специалистов или веб-студии.
В контексте принятого решения нужно будет подстраиваться под пункты плана работ.

3. Подобрать наиболее подходящую для выбранных целей CMS (систему управления контентом), с помощью которой будет осуществляться все последующее взаимодействие с сайтом.
Если бюджет ограничен, то в качестве бесплатных вариантов вполне могут подойти Joomla! или WordPress.
Для более серьезных проектов следует обратить внимание на платную cms 1С-Битрикс.

4. Провести анализ конкурентов, который позволит понять точнее, какими качествами должен обладать сайт. Это поможет оценить и учесть удачные решения, которые используют конкуренты и избежать провальных.

5. Проведение маркетинговых исследований. Нужно для того, чтобы понимать, на какую целевую аудиторию стоит ориентироваться на следующих этапах.

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

7. Дизайн. Для некоторых тематик при низком бюджете можно использовать и готовые шаблонные решения, но в большинстве случаев крайне рекомендуется привлечь профессионального дизайнера, который создаст дизайн-макеты с учетом современных тенденций, не забывая при этом о пожеланиях заказчика.
На этом этапе нужно заняться также разработкой логотипа и названия (бренда).

8. Верстка всего, что было включено в план работ до текущего момента.
После верстки к остальным этапам следует переходить только после тестирования и проведения валидации сайта, чтобы выявить ошибки, которые могут сказаться на его корректной работе.

9. Хостинг. Определиться с нужным для хранения файлов и обеспечения бесперебойной работы видом хостинга, подобрать себе компанию-хостера и заключить договор.

10. Заливка сайта на хостинг практически завершает план работ по созданию сайта. Осуществить это обычно можно с помощью техподдержки хостера.

Сразу после того, как веб-ресурс будет опубликован и станет доступен по своему доменному имени, нужно будет полностью закрыть его от индексации роботами поисковых систем с помощью соответствующих настроек в robots.txt.

11. Наполнение контентом и внутренняя оптимизация – по сути это уже подготовка к продвижению сайта.
Как только будут созданы и заполнены контентом первые 10–20 страниц, можно открывать их для индексации поисковиками. Откладывать это не стоит, поскольку всегда будет находиться что-то, из-за чего сайт будет казаться еще не готовым и в итоге появление его в поиске может затянуться на неопределенное время

12. Внешняя оптимизация – это завершающий этап плана работ по созданию сайта. Для полноценного продвижения нового сайта в поисковиках необходимо обеспечить его ссылочной массой.

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


Подробный план работы над сайтом

У разных веб-студий свой подход к разработке. Но все придерживаются примерно одного и того же плана.

Итак, в разработку сайтов входят следующие этапы:

Этапы разработки сайта

Этапы разработки сайта

Определяем цель создания сайта

Важно помнить, что любой сайт ― это инструмент решения задач. Чаще всего ― связанных с маркетингом и продажами. Например:

  • презентация компании;
  • рост узнаваемости бренда;
  • привлечение новых клиентов;
  • сбор заявок (лидов);
  • продажа товаров или услуг;
  • информирование о новостях и т.д.

От того, какую задачу должен решать сайт, зависит его структура, элементы навигации и наполнение контентом.

Разумеется, целей создания сайта может быть несколько. Веб-сервис крупной компании может одновременно и продавать, и рассказывать о новостях, и привлекать новых клиентов.

Поэтому, так важно определить цель (или цели) создания сайта ещё до начала разработки.

☝🏻

Разработка сайта начинается с определения задач, которые он должен решать.

Маркетинговые исследования

После определения целей, маркетолог веб-студии приступает к маркетинговым исследованиям.

Исследования делятся на 3 направления:

  • Анализ целевой аудитории (ЦА);
  • Анализ конкурентов;
  • Анализ своего продукта и компании.

На первый взгляд кажется, что маркетинг никак не относятся к разработке сайта. Но именно исследования позволяют создать качественные веб-страницы, которые будут выделяться среди сайтов конкурентов и приводить клиентов в бизнес заказчика.

Разберём каждый вид исследования подробнее.

Анализ целевой аудитории

Целевая аудитория (ЦА) ― потенциальные покупатели товара или услуги. Анализ ЦА отвечает на вопросы:

  1. Кто наш клиент?
  • Пол;
  • Возраст;
  • Профессия;
  • Образование;
  • Хобби.
  1. С какой проблемой клиент приходит на наш сайт?
  • Потребность (больной зуб, подарок девушке, обучение);
  • Факторы принятия решения о покупке (клиника рядом с домом, низкая цена, подробный план занятий);
  • Дополнительные факторы принятия решения (бесплатный осмотр, доставка в день заказа, рабочая тетрадь в подарок);
  1. Как клиент хочет решить проблему?
  • Шаги клиента до совершения покупки (просматривает несколько сайтов, звонит менеджеру, приходит в офис);
  • Что будет, если он не решит свою проблему? (удалят зуб, поссорится с девушкой, не освоит полезные навыки).

Ответов на эти вопросы может быть несколько. Поэтому, целевую аудиторию принято делить на сегменты.

Сегменты ― это разные люди, которым интересны совершенно разные предложения. Среди сегментов принято выделять основной. Основной сегмент приносит до 90% прибыли компании.

☝🏻

Сайт разрабатывается с учётом всех сегментов целевой аудитории, но с упором на основной сегмент.

Анализ конкурентов

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

Базовый конкурентный анализ можно сделать за 3 простых шага:

  1. Составить таблицу и записать в неё адреса сайтов конкурирующих компаний;
  1. Зайти на каждый сайт и посмотреть на сильные и слабые стороны;
  1. Зафиксировать в таблице интересные идеи и подумать, как можно их улучшить.

Пример анализа конкурентов в нише пиломатериалов

Пример анализа конкурентов в нише пиломатериалов

Обязательно проводите анализ конкурентов. Благодаря ему, вам не придётся заново изобретать велосипед. Часть решений будет уже перед глазами.

Анализ своего продукта и компании

Целевую аудиторию нашли, за конкурентами подсмотрели. Теперь нужно проанализировать себя и своё предложение.

Анализ продукта позволяет:

  1. Выявить сильные стороны (пицца за 10 минут);
  1. Компенсировать слабые стороны (нет доставки пиццы, но дарим бутылку лимонада за самовывоз);
  1. Понять, как изобразить продукт на сайте;
  1. Найти точки роста (придумать систему скидок, добавить купон или акционное предложение).

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

Выбираем тип сайта

Тип сайта выбирается, исходя из цели и исследований, которые мы провели ранее.

Сайт-визитка или портфолио

Сайт-визитка веб-разработчика. Источник: https://timurbashirov.ru/creatium

Сайт-визитка веб-разработчика. Источник: https://timurbashirov.ru/creatium

Простая веб-страница, которая содержит основные данные о компании или специалисте: название, список услуг, примеры работ и контакты для связи.

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

Landing page

Лендинг онлайн-школы программирования для детей. Источник: https://coddy.site

Лендинг онлайн-школы программирования для детей. Источник: https://coddy.site

Одностраничный сайт для продажи одного товара или услуги (чаще всего онлайн-обучения).

Главное преимущество лендинга ― это продающая структура, которая побуждает посетителя сделать заказ здесь и сейчас.

Интернет-магазин

Интернет-магазин по продаже рюкзаков. Слева удобная навигация по цене и бренду товара

Интернет-магазин по продаже рюкзаков. Слева удобная навигация по цене и бренду товара

Особенность интернет-магазина ― удобная навигация между товарами, благодаря системам фильтрации и сортировки.

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

Подходит для реализации широкого ассортимента товаров или услуг.

Новостной портал

Название этого сайта говорит само за себя. Новостной портал ― это веб-сервис, который информирует аудиторию о последних событиях региона или отдельного города.

Новостной портал должен быть разработан с учётом ежедневной нагрузки в тысячи посетителей. Крупнейшие русскоязычные новостные сайты России: РИА-новости, Lenta.ru, Vesti.ru и сайт газеты «Комсомольская правда» посещают до 10 млн. пользователей в месяц.

Корпоративный сайт

Сложный многостраничный портал. При разработке корпоративного сайта многие модули разрабатываются с нуля. Например, личные кабинеты для сотрудников, онлайн-калькуляторы расчёта стоимости и т.д.

Корпоративный сайт ― это наиболее полная презентация компании в интернете. Такой веб-сервис может совмещать в себе и функции интернет-магазина, и отдел продаж для b2b (оптовые клиенты), и блог новостей.

☝🏻

Тип сайта зависит от поставленных задач

Пишем техническое задание

Техническое задание (ТЗ) ― это документ, который подробно описывает план работы над сайтом. Цели проекта переводятся на язык разработки с указанием применяемых стеков, фреймворков и других инструментов.

В случае, когда над проектом работает слаженная веб-студия, техническое задание может быть в одном экземпляре. Но если над отдельными этапами разработки сайта трудятся подрядчики, желательно написать ТЗ для каждого из них.

☝🏻

Техническое задание ― документ, который пишется на языке разработчика. В техническом задании указываются все аспекты работы, включая используемые инструменты.

Собираем семантическое ядро

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

Найти ключевые слова, по которым страницы будут показываться на поисковиках, можно с помощью сервисов Wordstat (для Яндекса) и Google Trends (для Google).

Сбор ключевых слов через сервис Wordstat от Яндекс

Сбор ключевых слов через сервис Wordstat от Яндекс

Если сайт многостраничный, то потребуется большое семантическое ядро. Тогда сбор ключевых слов лучше автоматизировать программой Key Collector или её бесплатным аналогом Словоёб.

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

Продумываем структуру

Пример структуры сайта

Пример структуры сайта

Структура сайта зависит от количества страниц. Структуре нужно уделять максимальное внимание при создании многостраничных сайтов.

От структуры зависит удобство использования веб-сервиса.

Готовим контент

Для лендингов и сайтов-визиток контента нужно немного, поэтому он готовится заранее. В лендинге контент играет ключевую роль, так как от него зависит эффективность продающей страницы.

Для многостраничного сайта контента нужно больше, но весь объём на старте не требуется. Например, нет нужды загружать сразу все товары в интернет-магазин. Достаточно загрузить 10-20 позиций самых ходовых товаров, а остальные добавлять постепенно.

Работа над контентом сайта продолжается и после его разработки. На основании собранной семантики можно создать контент-план, который определит наполнение сайта на месяцы вперёд.

Готовим прототип сайта

Одним из важнейших этапов разработки веб сайта является создание его прототипа.

Прототип сайта ― это чёрно-белая схема, которая наглядно демонстрирует расположение и взаимодействие элементов.

Прототип первого экрана сайта для студии дизайна

Прототип первого экрана сайта для студии дизайна

Прототип облегчает дальнейшую работу, а именно:

  1. Позволяет согласовать промежуточные итоги. Если бы клиент видел оформленный сайт, то он бы оставил множество правок. Чёрно-белый прототип, напротив, позволяет не отвлекаться на визуальное оформление, и при этом показывает концепцию проекта;

Согласование прототипа сайта с заказчиком ― это пример современного подхода к разработке под названием AGILE.

AGILE ― это разделение большой задачи на несколько этапов (спринтов). Каждый спринт согласуется с клиентом.

За счёт постоянной связи с заказчиком, последующие спринты разрабатываются с учётом правок, что позволяет получать лучший результат в итоге.

  1. Облегчает работу дизайнера. Дизайнеру легче работать над оформлением сайта, когда перед глазами есть понятная схема. Прототип сайта наглядно показывает расположение блоков и иллюстраций. Дизайнеру остаётся реализовать готовую схему в цвете;
  1. Экономит на доработках. Легче всего вносить правки в сайт, пока он в виде прототипа. Если же пропустить этот этап, то вносить изменения придётся и в дизайне, и в вёрстке, и в программировании, что дороже и занимает больше времени.

К тому же, на этапе прототипа можно оценить удобство сайта. Иначе говоря, пользовательский опыт или user experince (UX). Поэтому, прототип ещё называют UX-дизайном сайта.

📌

Об основах UX/UI дизайна читайте здесь

Отрисовка дизайна сайта

Дизайн-макет десктопной и мобильной версии сайта. Источник: https://breezzly.ru

Дизайн-макет десктопной и мобильной версии сайта. Источник: https://breezzly.ru

Дизайн ― визуальное оформление проекта. В дизайн входят:

  • цвета;
  • шрифты;
  • оформление кнопок, форм;
  • анимация элементов.

Если у заказчика есть фирменный стиль, то дизайн сайта разрабатывается в соответствии с ним. В противном случае, дизайнер создаёт стиль компании с нуля.

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

При разработке дизайна также разрабатывается мобильная версия будущего сайта.

Мобильная версия ― это очень ответственная часть работы, потому как более 50% посетителей будут заходить на сайт с мобильных устройств.

Выбираем CMS (языки, фреймворки или конструкторы)

Мы уже определились с типом сайта, продумали его структуру, составили прототип и даже отрисовали дизайн.

Теперь нам нужно выбрать платформу, на которой наш сайт и будет работать. Мы можем выбирать между вёрсткой на «чистом» коде, использованием фреймворков, CMS или конструкторов.

Как правило, платформа определяется ещё на этапе составления ТЗ. Выбирая тот или иной инструмент, разработчики сайтов учитывают бюджет проекта и его цели.

Разработка сайта на языках программирования

Написание сайта с нуля на «чистом» коде ― это самый дорогостоящий подход к разработке. Используются три низкоуровневых языка программирования:

― HTML (отвечает за расположение элементов);

― CSS (отвечает за визуальное оформление элементов);

― Javascript (отвечает за интерактивные действия: калькуляторы, формы обратной связи, сложные анимации и т.д.).

Разрабатывать сайт на коде стоит только в том случае, если у проекта неограниченный бюджет и есть достаточный запас времени. Такие разработки стоят дорого и встречаются в единичных экземплярах.

Разработка сайта на фреймворках

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

Фреймворки отличаются гибкостью: их можно переделывать, дорабатывать и модифицировать практически без ограничений. При этом нет нужды писать код полностью с нуля. Поэтому, программисты чаще работают с фреймворками, чем с низкоуровневыми языками программирования.

Подходят для реализации сложных корпоративных сайтов и веб-сервисов. Во всех же остальных случаях достаточно CMS или конструктора.

Примеры: Bootstrap, Vue.js, django и другие.

CMS (коробочная система управления)

CMS ― это программный продукт, который используется для создания стандартных сайтов, в которых нет сложного функционала. Большинство сайтов сегодня собраны именно на CMS. Такой подход ― баланс между гибкостью и ценой.

Существуют отдельные CMS для создания интернет-магазинов, блогов, лендингов, порталов новостей и т.д.

Конструктор сайтов (SaaS-платформа) ― самый простой вариант

Конструкторы сайтов ― это самый простой и в то же время наименее гибкий способ разработки.

Конструкторы распространяются по модели SaaS-платформ: пользователь оплачивает подписку, а взамен получает все возможности платформы и полную техническую поддержку.

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

Плюсы и минусы разных инструментов разработки

Плюсы и минусы разных инструментов разработки

Верстаем сайт

Вёрстка ― это перенос дизайна в программный вид. Верстальщик должен позаботиться о том, чтобы сайт корректно отображался на всех устройствах: ПК, планшеты, смартфоны.

Если дизайнер сделал качественный дизайн, а заказчик его согласовал, то проблем с вёрсткой не возникает. Это лишний раз доказывает, как важно делить работу на этапы и проверять каждый пройденный шаг.

Программируем сайт

Дизайн сайта успешно перенесён верстальщиком. Но веб-сервис по-прежнему не работает.

И тут на сцену выходит программист, который прописывает логику поведения проекта. В случае, когда сайт построен на CMS или конструкторе, программирование не требуется.

Проводим тесты

После того, как сайт заработал, нужно проверить правильность функционирования всех элементов, страниц, кнопок и т.д.

Для тестирования проект загружается на специальный сервер. Далее имитируется его работа в реальных условиях. В это время разработчики фиксируют баги и неточности.

Грубо говоря, тестирование сайта проходит на протяжении всех этапов разработки (тест прототипа, согласование дизайна, проверка вёрстки). Но именно финальное тестирование позволяет избавиться от последних ошибок, которые ранее были не замечены.

Публикуем контент

Когда сайт готов к работе, можно приступить к публикации контента: загрузить изображения, тексты, видео.

Размещаем сайт в интернете

Готовый сайт размещается на хостинге, ему присваивается доменное имя ― адрес сайта. Выпускается сертификат безопасного подключения SSL.

По желанию клиента, проводится обучение по работе с админ-панелью сайта. С помощью админ-панели клиент может самостоятельно загружать и удалять контент, отслеживать статистику посещения и вносить мелкие правки.

Какие этапы исключатся на конструкторе

Создание сайта можно заметно упростить, если использовать конструктор. Вот какие этапы исключаются и упрощаются:

При разработке сайта на конструкторе исключаются этапы выбора CMS, программирования и тестирования. Вёрстка и публикация сайта в интернете заметно упрощены.

При разработке сайта на конструкторе исключаются этапы выбора CMS, программирования и тестирования. Вёрстка и публикация сайта в интернете заметно упрощены.

Этапы, которые исключаются:

  1. Выбор CMS. Внутри конструктора уже есть весь необходимый инструментарий и готовые компоненты для разработки;
  1. Программирование. Сборка сайта на конструкторе происходит без программирования. У таких компонентов как кнопки, формы, анимации уже прописана логика их поведения;
  1. Тестирование. Конструкторы сайтов предлагают готовые решения, нет нужды заниматься их тестами. Достаточно оптимизировать контент (сжать картинки, видео, упростить анимации и т.д.);

Этапы, которые упрощаются:

  1. Составление ТЗ. Использование конструктора упрощает ТЗ. Можно не тратить время на прописывание многочисленных языков, фреймворков и инструментов. Вместо этого уделяется внимание более важным вещам (скорость загрузки сайта, структура, отображаемость на девайсах и т.д.);
  1. Вёрстка. Перенос дизайн-макета на конструктор происходит без использования HTML и CSS. Фактически, вёрсткой может заниматься сам дизайнер;
  1. Публикация в интернете. На конструкторах процесс запуска сайта заметно автоматизирован и упрощён: зарегистрировать домен, выбрать хостинг и выпустить сертификат можно внутри SaaS-платформы.

В чём преиущество конструктора? А в том, что миновав технические сложности, можно уделить больше внимания самым важным этапам разработки: проанализировать цели, провести исследования, посмотреть больше сайтов конкурентов, подготовить качественный контент, продумать прототип до мелочей и т.п.

Хотите научиться делать коммерческие сайты для бизнеса? Оцените все преимущества работы на конструкторе сайтов Creatium. Зарегистрируйтесь и пользуйтесь возможностями платформы бесплатно 14 дней без ограничений.

Создание сайта — очень трудоемкий процесс, в котором принимают участие интернет-маркетологи, веб-дизайнеры, программисты, верстальщики, тестировщики, копирайтеры, контент-менеджеры и другие специалисты. Причем, основная — самая объемная, сложная и кропотливая — работа скрыта от глаз. Из-за этого у людей, далеких от веб-разработки, часто возникает непонимание сущности процесса и принципов ценообразования. А иногда может казаться, что исполнители завышают стоимость и сознательно или ненамеренно затягивают сдачу проекта.

Мы решили восстановить справедливость (а заодно развеять популярные мифы), подробно осветив процесс разработки «от и до». Получился «мануал» длиной в 17 пунктов, что само по себе свидетельствует о масштабе деятельности, которая разворачивается в рамках создания сайта.

Процесс создания сайта пошагово

Описываем процесс веб-разработки, как это происходит в нашей компании (и в большинстве добросовестных студий). На практике отдельные пункты могут быть опущены или, наоборот, добавляется что-то новое. Но, в целом, работа по созданию сайтов строится именно так.

Подготовка к созданию сайта

1. Бесплатная консультация

Все начинается с первого контакта, который устанавливается между заказчиком и потенциальным исполнителем (веб-студией). Мы знакомимся друг с другом и обмениваемся информацией.

На этом предварительном этапе считаем нужным бесплатно проконсультировать вас по возможностям и перспективам реализации проекта. В свою очередь, вы делаете вывод о компетентности специалистов и решаете, почему следует доверить проект именно нам.

Найдя взаимопонимание, переходим к более глубокому взаимодействию.

2. Заполнение брифа

Чтобы более точно и полно понять ваши ожидания от будущего сайта, мы высылаем бриф — шаблон с вопросами. Его желательно заполнить как можно подробнее. Это позволит избежать досадных недоразумений на этапе проектирования и разработки.

Заполненный бриф дает возможность оценить объем и примерную стоимость работ.

Грамотно составленный и информативный бриф — первое условие успешной разработки сайта.

3. Обсуждение проекта

Получив заполненный бриф, мы внимательно знакомимся с ним. При этом у специалистов возникают вопросы, идеи, предложения. Так начинается обсуждение будущего проекта.

Важно, чтобы в нём активно участвовали обе стороны. Это позволяет своевременно вносить коррективы, генерировать новые идеи, выстраивать общее представление о сайте.

Пусть вас не смущает обилие вопросов. Лучше сразу проговорить каждую деталь, чтобы потом не тратить ресурсы на исправление.

4. Подготовка коммерческого предложения

На основе полученных данных и внутреннего планирования формируем базовый документ — коммерческое предложение на создание сайта (КП). В нем подробно описывается, что, как и почему будет сделано для получения нужного результата.

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

5. Подписание договора

Когда КП обсудили, проговорили все волнующие вопросы и пришли к консенсусу, составляем и заключаем договор. Он гарантирует вам, что услуги по созданию сайта будут оказаны в полном объеме и в условленные сроки.

После заключения договора продолжаем работу по проектированию ресурса.

6. Сбор семантики для SEO

Уже на этапе разработки важно сформировать семантическое ядро (набор сгруппированных поисковых запросов, по которым сайт будет показываться в поиске).

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

7. Составление технического задания

Финальный подготовительный этап — формирование технического задания на создание сайта (ТЗ). Оно составляется на языке, понятном специалистам — веб-дизайнерам, программистам. Это рабочий документ, помогающий выполнить все требования и проконтролировать результат.

Нередко заказчик сайта уже имеет готовое ТЗ, тогда данный этап можно пропустить.

Если техзадание составляется студией, его обязательно согласовываем с вами.

Разработка дизайна

8. Создание дизайн-концепции сайта

Дизайн-концепция — это общая схематическая визуализация, показывающая, как будет выглядеть сайт в целом. Можно сравнить ее с эскизом — «наброском», который впоследствии обрастает деталями, наполняется объемом и цветом.

Мы предлагаем несколько вариантов дизайн-концепций и объясняем преимущества каждого подхода.

Вы выбираете лучший, на ваш взгляд, вариант. Он и поступает в работу.

9. Создание прототипов страниц сайта

Прототипирование — создание шаблонов страниц. Прототип демонстрирует общий внешний вид и структуру.

Мы создаем прототипы для всех типов страниц: главная, каталог, страница услуг, контакты, карточки товаров и т.д.

Каждый шаблон согласовывается и, при необходимости, дорабатывается.

10. Разработка дизайна адаптивной версии

Не менее 50% вашей аудитории пользуется мобильными устройствами. Поэтому важно подготовить версии страниц, адаптированные под гаджеты.

Адаптив создается на основе утвержденных макетов десктопной версии. В итоге вы получаете сайт в трёх разрешениях: широкоформатный монитор, планшет, смартфон.

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

Верстка и программирование

11. Верстка сайта

На этапе технических работ все, что придумано и «нарисовано», реализуется в «цифре» — в виде кода.

Программист, занимающийся версткой, создает страницы с помощью HTML и CSS-стилей. Очень важно, чтобы этим занимался опытный специалист. От него зависит, как будет загружаться и отображаться сайт.

12. Программирование

Еще один ответственный этап — программирование функционала. Чтобы на сайте работали формы обратной связи, корзина магазина и другие опции, необходимо использовать эффективные средства веб-разработки. Найти и правильно применить их способен опытный программист.

Очень хорошо, что программированием занимается тот же человек, который участвовал в обсуждении проекта и составлении ТЗ. В результате — все функции сайта работают быстро, четко и легко настраиваются.

13. Тестирование сайта

Все, что сделано в процессе веб-разработки, подвергается тестированию. Этим занимаются аналитики, программисты, тестировщики студии и сам заказчик.

Тщательно проверяем работоспособность и оперативно устраняем проблемы до выхода сайта в «мир».

Наполнение сайта

14. Подготовка контента

Оболочка сайта готова, осталось наполнить ее содержанием. Для этого используются тексты, фотографии и картинки, видео и анимация, таблицы и инфографика.

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

Создание контента лучше доверить специалистам. Он должен быть не только интересным и полезным, но и оптимизированным в соответствии с SEO.

15. Размещение контента

Созданный контент размещается на сайте. Когда проект небольшой, это делается вручную. Если на сайте сотни или тысячи страниц, целесообразно задействовать программные средства (например, выгрузку из 1С).

Контент-менеджер следит за тем, чтобы содержимое сайта красиво и правильно отображалось вне зависимости от размеров экрана, софта и браузера.

Фотографии оптимизируются с сохранением качества — для ускорения загрузки страниц.

Типографирование обеспечивает правильное отображение текстов — для комфортного восприятия пользователями.

Пуско-наладка и сдача проекта

16. Финишные настройки и запуск

Перед запуском проект еще раз тестируется — уже в готовом, наполненном виде. После этого сайт переносится на хостинг, и подключается домен. Теперь ресурс доступен в Сети, и его можно найти по уникальному адресу.

17. Сдача проекта заказчику

Поскольку весь процесс разработки происходит при вашем активном участии (заказчик согласовывает, утверждает, вносит правки на каждом этапе), «сюрпризы» при сдаче сайта исключены.

При необходимости, проводим экспресс-обучение по работе с администраторским интерфейсом — для вас и ваших сотрудников.

Этапы оплаты

Отдельно стоит сказать о том, как оплачивается веб-разработка.

Как вы увидели, процесс создания сайта — длительный и включает в себя множество этапов. Логично, что оплата тоже осуществляется поэтапно. Это удобно как для заказчика, так и для веб-студии.

Обычно работа начинается после получения небольшой предоплаты. А дальнейшая последователь внесения платежей обсуждается и прописывается в договоре.

Профессиональная веб-разработка

Описанный в статье алгоритм кажется нам наиболее продуктивным. Он позволяет создавать современные сайты, которые удовлетворяют требованиям заказчиков, посетителей и поисковых систем. А профессиональный подход гарантирует высокую скорость исполнения.

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

Условно процесс создания сайта (web-проекта) можно разделить на 3 этапа:

  • Планирование
  • Дизайн
  • Разработка

Планирование

Данный этап можно разделить на несколько подэтапов:

  • Создание идеи
  • Разработка структуры проекта
  • Проработка макета проекта

Создание идеи

На данном этапе нам необходимо определиться с тематикой проекта (сайта, сервиса). Далее, в соответствии с выбранной темой, необходимо собрать соответствующие материалы: текстовые, графические.

Разработка структуры проекта

Когда мы определились с темой проекта, подобрали необходимый материал, следующим этапом будет разработка структуры проекта. Структура проекта подразумевает под собой разделы сайта, в соответствии с которыми будет формироваться навигационное меню и строиться дизайн проекта. На данном этапе можно классифицировать материал по темам и разделам.

Проработка макета проекта

После того, как мы определились со структурой проекта можно составить макет проекта (схематично).

Для отрисовки наброска можно использовать бумагу и ручку, Photoshop, любой другой редактор графики (раньше часто использовали Adobe Fireworks). Важно отметить, что данный этап – это не отрисовка готового дизайн-макета, а всего лишь схематичный набросок, выполненный для понимания того, как на сайте будут располагаться основные информационные блоки, графика и прочие элементы дизайна.

Основные элементы страницы

Зачастую основными элементами страницы являются: содержащий блок (wrapper, container), логотип, навигация, контент, футер (нижний колонтитул), свободное пространство (по сути свободное пространство — это не элемент дизайна, но понятие, помня о котором при составлении макета страницы, наш проект не будет выглядеть как нагромождение блоков).

Содержащий блок (контейнер)

Роль контейнера на странице может выполнять непосредственно элемент body или же div. Ширина содержащего блока может быть резиновой (fluid), а может быть фиксированной (fixed).

Логотип

Текстовая или графическая составляющая проекта и выделяющая его среди других. Логотип чаще всего располагается в верхнем левом углу страницы или же посередине (в зависимости от идеи, макета).

Навигация

Основная навигационная панель содержит ссылки на основные разделы сайта. Навигационная панель часто располагается в верхней части страницы (в независимости от того вертикально или горизонтально располагаются элементы навигации).

Контент

Контент – это основная составляющая веб-страницы. Он занимает главенствующую роль в дизайне страницы, поэтому занимает большее пространство, подкреплён, помимо текста, графикой.

Нижний колонтитул (footer)

Данный элемент располагается внизу страницы и обычно содержит информацию о правообладателе, контактные и юридические данные, ссылки на основные разделы сайта (зачастую дублирует основную навигацию), ссылки на социальные сети, форму обратной связи и пр.

Резиновый и фиксированный макет

Фиксированный макет

Фиксированный макет подразумевает под собой, что в независимости от разрешения экрана пользователя ваш сайт всегда будет занимать одинаковую ширину.

Резиновый макет

«Резиновый» макет подразумевает, что страница сайта будет стараться занять всё доступное ей пространство на экране пользователя, подстраиваясь под разрешение.

В данном контексте стоит уяснить такие понятия, как отзывчивый веб-дизайн (Responsive Web Design aka. RWD) и адаптивный веб-дизайн (Adaptive Web Desing aka. AWD). Первое понятие укладывается в концепцию «резинового» и означает, что при изменении размера экрана ваш сайт подстраивается под него, второе понятие подразумевает, что при разработке вы определяете основные разрешения (размеры экрана), под которые будет подстраиваться (адаптироваться) ваш контент. В обоих случаях следует разрабатывать не один, а несколько макетов, которые будут соответствовать разным разрешениям экрана. Часто создаётся 3 макета под разрешения iPhone (Android Phone), iPad (Android Tablet) и Desktop.

На данном изображении показаны оба подхода. Сверху блок «отзывается» на любые изменения размера контейнера, снизу «адаптируется» под определённую ширину

Полезные ссылки по теме:

  • Пример сайта, использующего концепцию адаптивного веб-дизайна
  • Статья, в которой разбирается данная концепция (eng.)
  • Книга об отзывчивом веб-дизайне

Почему при «резиновом» дизайне создаётся несколько макетов, а не используется один?

При разработке макета мобильной версии сайта стараются на первый план выносить основной контент, поэтому навигационное меню часто прячется, скрываются большие баннеры и декоративные элементы, блоки контента обычно располагают друг под другом. На заранее составленном макете как раз можно определиться какие элементы мы оставляем на мобильном, а какие прячем.

Модульная сетка

Перед составлением схемы проекта так же необходимо уяснить понятие модульной сетки. Модульная сетка подразумевает под собой разделение страницы на отдельные колонки по вертикали и выстраивание контента, при разработке дизайн макета, именно по этой сетке.

Наиболее популярной системой является модульная сетка 960 Grid System (http://960.gs), которая максимально делит страницу на 12, 16 и 24 колонки. Максимум в ширине сетка имеет 960 пикселей. Данное решение основано на том, что большинство современных мониторов, на момент создания сетки, имели разрешение не меньше 1024 на 768 пикселей. Создание макета на основе данной сетки, в дальнейшем, поможет ускорить процесс разработки (вёрстки).

Так же стоит отметить, что при разработке «резинового» макета страницы существует понятие максимальной ширины. Данное утверждение основывается на удобстве восприятия информации. Если предположить, что наш сайт не имеет максимального значения по ширине, то на больших мониторах информация будет сильно растягиваться и её неудобно будет читать. Чаще всего ограничиваются шириной в 1280 пикселей.

Модульная сетка 960GS отвечает концепции «фиксированного» дизайна, для «резинового» дизайна можно обратить внимание на адаптацию этой же сетки на сайте http://www.designinfluences.com/fluid960gs/ или воспользоваться сеткой, которую предлагает фрэймворк Bootstrap (http://getbootstrap.com/css/#grid).

Благодаря модульной сетке блоки контента и элементы будут располагаться на определённом расстоянии друг от друга, будут иметь удобоваримую ширину, что в дальнейшем визуально будет приятно пользователю и не будет вызывать у него какие-либо неудобства в восприятии сайта.

Модульная сетка, по сути, – это некая визуальная абстракция, визуальное деление страницы на равные по ширине столбцы с равными отступами между ними. Визуализировать данную модель можно посредствам направляющих или отдельного слоя, на котором будут изображены эти столбцы. Именно такое решение вы найдёте в шаблонах сетки 960gs.

Полезные ссылки и материалы:

  • Паттерны адаптивной сетки
  • Создание прототипа на основе 960gs (eng.)
  • Использование сетки 960gs как основы для дизайна (eng.)

Макеты веб-страниц

Среди всего многообразия составления макета веб-страницы можно выделить четыре наиболее распространённых:

  • Навигация в левом столбце

  • Навигация в правом столбце

  • Навигация в трёх столбцах

  • Горизонтальная навигация. На данном этапе сайты с таким типом навигации составляют большинство. Удобство такого подхода легко объяснить тем, что в данном случае у нас остаётся больше пространства для контента, составляющего наш сайт.

Но данный список типов макетов нельзя назвать исчерпывающим, поэтому перед разработкой макета и дизайна страницы так же можно погулять по различным сайтам с примерами других работ, а так же по сайтам схожей с вашей тематикой:

  • http://unmatchedstyle.com/gallery
  • http://cssdrive.com
  • http://foundation.zurb.com/templates.html
  • http://zurb.com/patterntap

На первых двух сайтах можно посмотреть какие цвета использовались в дизайне.

Mobile First

С учётом тенденций последних лет данный подход плотно занимает свою нишу в разработке и дизайне сайтов. Тенденция такова, что практически около 60% пользователей интернета используют для доступа в сеть мобильные устройства, поэтому правилом хорошего тона становится разработка не только десктопной версии сайта, но и мобильной версии. При использовании данного подхода разработка макета сайта, дизайна и вёрстки начинается с мобильной версии, а затем уже прорабатываются макеты для других разрешений: добавляются блоки, баннеры, дополнительные элементы дизайна и пр.

Данный подход учитывает практически весь цикл разработки, поэтому мы ещё к нему вернёмся.

Усвоив всё вышесказанное можно переходить к следующему этапу – Дизайн.

Дизайн

После создания макета проекта можно переходить непосредственно к созданию дизайн-макета. На данном этапе начать стоит с определения цветовой гаммы проекта.

Один из способов определения основного цвета в проекте – это составление mood board. Для этого необходимо выписать себе все синонимы, связанные с темой проекта, а затем каждый синоним набрать в поиске по картинкам Google или Yandex. На основе найденных изображений выписать себе цвета, которые чаще всего встречаются на них (каких цветов больше). Найденные цвета будут составлять визуальное восприятие нашего проекта и вызывать у пользователя соответствующие чувства.

Для работы с выбранным цветом и составлением палитры цветов нашего сайта можно использовать следующие инструменты:

  • Color Scheme Designer 3 (http://colorschemedesigner.com/csd-3.5/). Помимо выбора цветовой схемы данный сервис позволяет посмотреть пример того, как выбранные цвета будут смотреться на сайте

  • Adobe Color CC (https://color.adobe.com/ru/). Данный ресурс, в отличие от Color Scheme Designer 3, позволяет создавать палитры ещё и на основе загруженных изображений (которые, например, могли появиться у нас на этапе составления mood board). Так же данный сервис обладает большим архивом палитр других пользователей.

  • COLORlovers (http://www.colourlovers.com/). Обширное сообщество, где можно подобрать различные палитры.

Важно отметить, что при подборе цветов для палитры всегда стоит выбирать как минимум 2 контрастирующих цвета. Достижение нужного контраста между цветами – необходимое условие для того, чтобы у вас получился хороший интерактивный дизайн.

При работе над дизайном главной и внутренних страниц стоит помнить о некоторых основных принципах.

Элементы Call to Action

Понятие призыва к действию относится к интерактивным элементам сайта: кнопки, баннеры и пр. Данные элементы оформляются таким образом, что пользователю должно хотеться непременно на них нажать. Например, это может быть кнопка с призывом к действию (Нажми, Купи, Сэкономь), яркий баннер с заманчивым предложением, яркой картинкой и пр.

Данное понятие хорошо вписывается в принцип AIDA (Attraction Interest Desire Action).

AIDA

Данное понятие применяется чаще при дизайне главных страниц, страниц акций и пр., где необходимо подтолкнуть пользователя к тому или иному действию: подписка, покупка и пр. Если перевести данный акроним на русский, то мы получим следующие понятия:

  • Привлечение внимания
  • Интерес
  • Желание
  • Действие

Таким образом становится понятен принцип построения дизайна, опирающегося на данное понятие: например, яркая картинка, баннер должны привлечь внимание пользователя, сопутствующий посыл в тексте должен вызвать в нём интерес и желание, а завершающим аккордом должна стать, например, кнопка с призывом к действию.

Но и данный принцип не работает сам по себе без некоторых других: схема просмотра страницы (наиболее, естественный путь движения глаз по странице), визуальные направляющие.

Схема просмотра страницы

Довольно часто встречается Z-схема просмотра страницы. В соответствии с этим элементы страницы обычно располагают следующим образом: логотип слева вверху, меню справа вверху, информационные блоки, картинки слева внизу, кнопка с призывом к действию справа внизу.

Визуальные направляющие

Визуальными направляющими называют декоративные элементы страницы, которые перенаправляют взгляд пользователя на те или иные элементы дизайна, формы, кнопки и пр. В качестве визуальных направляющих могут выступать стрелка, направление взгляда человека на изображении, направление указательного пальца, в общем всё, что может как-то указывать в ту или иную сторону.

На первом изображении взгляд невольно следует за указательным пальцем мужчины, а его прямой взгляд невольно привлекает внимание к себе при первом взгляде на страницу.

Тот же эффект продемонстрирован на втором изображении с наложенной тепловой картой: в первом случае нас привлекает в основном прямой взгляд ребенка (прямо в глаза), во втором случае направление взгляда ребенка и его поза невольно обращают взгляд пользователя на блок справа.

Фрэймворки

Стоит так же отметить, что иногда, при разработке дизайна страницы, используют фрэймворки Bootstrap, Foundation, Material Design Lite, которые, помимо готовых элементов дизайна (кнопки, формы ввода и пр.), предлагают свою модульную сетку, CSS сниппеты (часть кода, разметки, которая может неоднократно использоваться) для вставки элементов в страницу (тех же кнопок, элементов форм и пр.) и классы разметки, а так же JS скрипты для соответствующих интерактивных элементов.

Использование данных библиотек может в значительной мере сэкономить время при разработке проекта (дизайне, вёрстке), правда в то же время может сделать ваш сайт похожим на другие, если использовать элементы дизайна фрэймворков как есть. На основе каждого фрэймворка можно найти огромное количество платных и бесплатных тем и страниц, а так же разработать свои.


Готовые элементы дизайна из Bootstrap, Foundation и Material Design Lite (MDL)

Трэнды

Нельзя не упомянуть о некоторых наметившихся трендах последнего времени в качестве компоновки и дизайна страниц.

Во-первых, стоит упомянуть о так называемых лэндинговых страницах, которые подразумевают под собой длинную страницу, разделённую на соответствующие секции и знакомящие пользователя с основным контентом сайта. Часто лэндинг является единственной страницей, на которой сразу удаётся показать всю необходимую информацию, не заставляя пользователя переходить по страницам. Лэндингам обычно сопутствует хороший дизайн, выверенная и продуманная подача информации, элементы call-to-action, интерактивность (счётчики, анимация и пр.).

Стоит так же сказать о внешнем виде страниц и вспомнить такие понятия как скевоморфизм и плоский дизайн.

Скевоморфизм

Скевоморфизм уже продолжительное время уступает свои позиции плоскому дизайну. Данное понятие означает наделение интерактивных элементов качествами реальных. Например, оформление страницы с книгами в виде книжной полки, оформление кнопки на подобии настоящей с соответствующей имитацией нажатия, использование реальных текстур и пр. Данный принцип активно использовался при создании страниц буквально пару лет назад, но затем тенденции сменились и на первый план вышел плоский дизайн (Flat, Material).

Плоский дизайн

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

Не маловажную роль на тренды в веб-дизайне оказало развитие мобильных операционных систем. Чаще всего двигателем прогресса становятся решения от компании Apple, которая в своих дизайн-решениях iOS сначала использовала имитацию реальных объектов, а затем всё упростила до плоского дизайна (Flat UI). Сейчас в вебе главенствует Flat дизайн и Material дизайн, который активно развивает Google.

Неплохой сайт-сравнение двух концепций: http://www.flatvsrealism.com/

По основам веб-дизайна и прототипированию неплохим подспорьем может стать данная книга: Джейсон Берд: Веб-дизайн. Руководство разработчика.

Разработка

Итак, процесс дизайна макета страницы плавно перетекает в процесс «оживления» сделанного на предыдущих этапах. Прежде чем сразу начинать писать HTML, CSS и JS стоит немного поговорить о редакторах кода и структуре проекта.

Редакторы кода

Из наиболее популярных редакторов кода на сегодня можно выделить три:

  • Sublime Text (http://www.sublimetext.com/3)
  • Atom (https://atom.io/)
  • Brackets (http://brackets.io/)

От части, все эти редакторы похожи по принципу работы, когда при установке мы получаем редактор, в который затем можем «доставить» необходимые модули и плагины, так сказать, «редакторы на стероидах». Разница лишь в технологиях, которые были использованы при написании редакторов, если Sublime Text написан при помощи C++ и Python, то 2 других используют JavaScript, HTML, CSS (Less). За счёт этой разницы Sublime Text может работать чуть быстрее своих коллег.

Существуют так же более продвинутые IDE (студии) такие, как Web Storm, PHP Storm и пр., но для вёрстки проекта вполне подойдёт редактор кода, а не целая студия (IDE).

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

Обзоры текстовых редакторов:

  • Atom
  • Sublime Text
  • Brackets

Структура проекта

Под структурой проекта понимается хранение файлов проекта в его директории. Часто приходится видеть, когда все файлы «свалены» вместе, названия файлам даны «капсом», цифрами или русскими буквами и пр. Во-первых, это банальное неуважение к тому, кто будет работать с вашим проектом далее, во-вторых, чем больше будет ваш проект, тем больше будет становиться файлов и, в конце концов, вы просто запутаетесь, что к чему относится и что нужно, а что нет.

Лучше всего отдельные категории файлов помещать в свои папки: картинки в папку images или img, css в папку css, javascript в папку js. В корне будет лежать только index.html и страницы сайта, либо только index.html, а страницы в отдельной папке pages. Соблюдая эти правила вы никогда не запутаетесь в проекте.

Так же стоит сказать и об именовании файлов проекта. Чаще всего применяются следующие имена: главная страница – это index.html, стили проекта styles.css, скрипты scripts.js или app.js, минимизированные версии файлов имеют префикс .min, картинки носят не пространные названия на русском языке или набора цифр, а отражают то, что на них изображено, например, button.png, download-icon.png, logo.png и т.д.

Работа над проектом

Итак, определившись с редактором кода, структурой мы можем приступать к разработке. Прежде всего стоит отметить, что вёрстка страницы делается поэтапно: сначала пишется HTML-структура (HTML-код), затем добавляются стили, а после, если необходимо, пишутся скрипты (JS), добавляются необходимые плагины и библиотеки.

Учитывая вышесказанное, мы можем условно разделить работу над проектом на следующие этапы:

  • Написание HTML
  • Написание CSS
  • Написание JS

Написание HTML

Сейчас при написании HTML кода уже смело можно использовать тэги и элементы разметки, которые появились вместе с стандартом HTML5, если вам необходимо поддерживать старые браузеры, то можно использовать, например, плагин html5shiv (https://github.com/afarkas/html5shiv), который обеспечивает поддержку новых стандартов в старых браузерах или библиотеку Modernizr (https://modernizr.com/) (html5shiv входит в сборку Modernizr), которая определяет возможности браузера, с помощью которого просматривается сайт.

При вёрстке сайтов в настоящее время, априори, используется блочный подход, никаких таблиц, iframe’ов и пр. Таблицы выполняют только свою прямую роль – представление информации в виде таблицы. В вёрстке таблицы используются лишь при работе с электронными письмами.

На этапе написания HTML мы, как бы, создаём скелет страницы, её абстрактную модель при помощи тэгов (языка разметки HTML). Стоит отметить, что структуру может быть проще написать, если у нас есть прототип, составленный на первом этапе или же, если мы сами, глядя на дизайн-макет, на бумаге схематично разрисовали себе все блоки страницы.

При написании разметки мы так же сразу можем прописывать элементам классы и идентификаторы.

Правила именования классов

В проекте во всём должен быть порядок: от структуры проекта до имен классов, разметки и написания кода. Если при разметке важно следить за типом информации и размещением её в соответствующих блоках (заголовок, список, ссылка, строчный элемент, параграф и пр.), то при именовании классов и идентификаторов важно соблюдать здравый смысл. Классы должны давать абстрактное понятие о блоке, к которому они относятся, чтобы код было легче читать, а затем и писать стили. В принципе здесь не должно быть ничего сложного, если мы размечаем меню, то логично содержащему блоку дать класс .nav или .navigation, если это блок с текстом, то можно дать ему класс .block-text и т.д.

БЭМ

На сегодняшний день есть один популярный подход, который касается принципов построения проекта в целом, но на данном этапе нас интересует именно именование классов. Подход называется БЭМ и расшифровывается, как Блок Элемент Модификатор.

Вкратце можно описать данный подход, как некое соглашение по именованию классов и представлению разметки страницы. Каждый элемент страницы являет собой сущность, которая может существовать независимо от контекста, тогда мы говорим о Блоке (.block) или же только в контексте другой сущности, тогда мы говорим об Элементе (.block__element). Каждый Блок или Элемент могут иметь различные модели представления: цвет, форму, прозрачность и пр. За подобные свойства будет отвечать Модификатор (.block__element_mod).

Таким образом мы представляем наш код, как композицию блоков, элементов и их модификаций.

Более полная информация о методологии: https://ru.bem.info/

SMACSS

Так же существует подход SMACSS (расшифровывается данный акроним как Scalable and Modular Architecture for CSS – Масштабируемая и Модульная Архитерктура для CSS), который разделяет понятие о классах и разметке на несколько уровней: базовый, макет, модуль, состояние, тема.

  • К базовому уровню будет относиться всё, что касается непосредственно тэгов html.
  • К уровню макета мы будем относить всё, что касается основных составляющих страницы: секции.
  • К уровню модуль мы будем относить всё, что касается переиспользуемых элементов страницы: баннеры, навигация, списки, блоки информации и пр.
  • Уровень Состояние описывает как будут выглядеть модули и секции в том или ином состоянии: отображаются или не отображаются, сжатые или раскрытые, активны или неактивны и пр.
  • Уровень темы чем-то схож с уровнем Состояния и отражает как модули или секции могут выглядеть.

В данном подходе используются следующие соглашения по именованию. Уровни определяются при помощи префиксов и соответствующего буквенного обозначения:

  • Макет: .l- или .layout-
  • Так как модули составляют основную часть проекта именовать их, используя префикс module- избыточно. Поэтому для них используются имена как есть, например: .example {}, .afisha {} и пр.
  • Состояния имеют префикс .is-, например .is-hidden {}
  • Уровень Темы именуется подобно модулям.

При данном подходе часто бывает удобно каждый уровень абстракции и его классы держать в отдельном файле.

Информация о методологии и онлайн книга: https://smacss.com/
Русскоязычный перевод книги по SMACSS: https://github.com/andrew–r/smacss

Важно помнить, что любое соглашение по именованию призвано создать определённый уровень абстракции, благодаря которому работать с проектом будет удобно и он не будет перегружен излишним кодом и прочими артефактами.

Небольшой курс по основам HTML: Смотреть

Написание CSS

Правила именования классов подводят нас к следующему этапу. Когда написана html структура проекта, определены классы можно переходить к написанию CSS стилей и нарезке макета.

Стоит упомянуть о 2-х CSS файлах-дополнениях: normalize.css и reset.css.

Reset.css

Изначально в проектах повсеместно использовался reset.css, написанный Эриком Мейером. Цель данного свода правил – сбросить стили браузера, которые он по умолчанию использует для отображения элементов разметки. Таким образом при использовании reset.css нам не нужно переписывать стили браузера, по сути мы работаем с «чистым листом» и можем сосредоточиться на написании собственных стилей с нуля.

Normalize.css

Normalize.css наоборот, не сбрасывает все стили «в ноль», а нормализует их, приводит отображение стилей проекта к более-менее однообразию во всех современных браузерах.

У обоих сводов правил есть свои плюсы и минусы, на данный момент популярен normalize.css. Популярность данного свода правил обусловлена ещё и тем, что вам не приходится при разработке заново прописывать основные свойства для базовых элементов страниц, а лишь модифицировать их по необходимости.

Так же стоит упомянуть о, так называемом, «быстром сбросе», когда мы абсолютно для всех элементов страницы с помощью селектора * прописываем свойства {margin: 0; padding: 0}. Таким образом мы сбрасываем все внутренние и внешние отступы для всех элементов страницы. Но данную технику не рекомендуется использовать, так как она замедляет процесс отрисовки страницы, да и по сути имеет мало смыла (на мой взгляд).

Так же стоит отметить, что все размеры и отступы берутся непосредственно из дизайн-макета. Для получения данных значений нам необходимо использовать инструмент «линейка» и направляющие (речь про инcтрументарий Adobe Photoshop), а затем переносить полученные значения в код. Если мы работаем с фиксированным макетом, то значения переносятся в пикселях как есть, если же у нас «резиновый», то значения нужно переводить в проценты. Основная формула – это ширина элемента, делённая на ширину контекста (ширина содержащего блока). Например, если блок, содержащий текст и картинку имеет на макете ширину 400px, а блок с текстом в нём должен иметь ширину 340px, то в процентном выражении это будет (340 / 400) * 100%, то есть 85% будет занимать блок с текстом.

Не стоит перегружать ваши стили чрезмерной специфичностью, например, если мы хотим, чтобы ссылка внутри списка имела красный цвет, то не обязательно записывать всю линейку классов и тэгов: .main –nav ul li a, достаточно просто указать .main-nav a. Слишком «специфичные» правила делают правила контекстно зависимым и заставляют вас писать лишний код, а так же влияют на скорость отрисовки страницы, так как при разборе правил CSS парсер читает их справа налево и ему сначала, если брать описанный выше пример, нужно взять все ссылки (a), затем отбросить все ссылки, которые не лежат в li и т.д. пока он не доберётся до содержащего класса.

Специфичность кода, так же означает чрезмерную привязку к базовым тэгам. Например, если мы хотим, чтобы элемент внутри .block был синим и при разметке использовали элемент span (в правилах мы написали .block span {background-color: blue}), то при замене его на div, например, нам нужно будет написать новое правило уже для div внутри .block. Таким образом наш код будет обрастать ненужными правилами, которые по сути дублируют друг друга. Гораздо проще определить всего лишь один класс (класс элемента), который при присвоении внутренним элементам будет приводить нас к желаемому результату.

Ещё один пример контекстной зависимости кода – это использование имен тэгов вместе с именами классов, например, div.block {display: block}. Если мы захотим тот же класс применить к span, то нам придётся написать опять span.block {display: block} или span.block, div.block {display: block}, что в любом случае приведёт к увеличению кода на лишнюю строчку.

Почему это важно? Во-первых, вы не делаете лишнюю работу, во-вторых, вам не нужно потом среди 10000 строк искать нужное правило и, наконец, чем больше строк кода, тем больше размер файла, а большие по объему файлы медленнее передаются по сети, что в свою очередь может быть причиной долгой загрузки, а излишняя специфичность причиной долгой отрисовки вашей страницы.

Если, вы используете правила, относящиеся к спецификации CSS3, то не поленитесь проверить необходимость использования браузерных префиксов на сайте http://caniuse.com.

Возвращаясь к Mobile First, стоит сказать, что при работе в данной концепции написание стилей стоит начинать с мобильной версии, а затем с помощью медиа запросов добавлять правила, которые будут работать на других разрешениях. Зачастую, при расширении правил от мобильной версии к десктопной, приходится писать гораздо меньше кода, чем при работе наоборот: от десктопной версии к мобильной.

Полезные ссылки и материалы:

  • Книга Сначала мобильные
  • Книга CSS. Рецепты программирования
  • Книга Большая книга CSS3
  • Книга CSS3. Руководство разработчика
  • Небольшой курс по основам CSS: Смотреть

Написание JS

Итак, заключительным этапом является написание JS скриптов. При создании веб страниц стало, практически, стандартом использование библиотеки jQuery, которая позволяет с лёгкостью манипулировать элементами web-страницы (DOM узлами), навешивать прослушку событий, отправлять запросы на сервер, обрабатывать результат выполнения и пр. Но не стоит слепо доверять трендам, на сегодняшний день нативный JavaScript достиг такого уровня, что вам возможно уже не нужен jQuery. Поэтому, прежде чем слепо прикреплять jQuery, стоит задуматься, так ли он нужен для ваших задач и не достаточно ли встроенных возможностей языка JavaScript.

Есть неплохой ресурс, который приводит альтернативы одних и тех же манипуляций на языке JavaScript и с помощью библиотеки jQuery: http://youmightnotneedjquery.com/, так же неплохим подспорьем является сайт https://developer.mozilla.org/ru/, на котором, помимо описания методов и свойств JavaScript, можно найти полифиллы для тех или иных методов (библиотека или часть кода, которая добавляет в старые браузеры поддержку возможностей современных функций и методов JavaScript).

Важно отметить, что не рекомендуется использовать JavaScript для стилизации, то есть не стоит для того или иного объекта DOM (элемента страницы) добавлять портянку CSS свойств с помощью JavaScript, чтобы выделить его состояние и пр. Рекомендуется использовать классы, то есть заранее в CSS определить классы-состояния (активный, не активный, скрытый, использованный и пр.) и при манипуляции элементами просто добавлять или убирать соответствующие классы.

Например, у нас есть элемент списка с классом .list__item, для того, чтобы показать активный элемент в данный момент (выбран пользователем) или нет, можно просто добавить класс (.list__item–active), а не прописывать все стили, присущие этому классу в JS:

document.querySelector(‘.list__item’).style.color = ‘red’;

и т.д.
Небольшой пример с возможными способами присваивания класса (присвоение модификатора происходит при нажатии на зелёный квадрат): http://jsbin.com/.

Не рекомендуется решать задачи, которые явно относятся к уровню CSS с помощью JavaScript, пытаясь как-то выровнять объект или добавить ему стили при наведении и пр.

Опять-таки, возвращаясь к теме Mobile First, нельзя не упомянуть о 2-х концепциях, которые коррелируют с данной техникой. Progressive Enhacement и Graceful Degradation, что переводится как прогрессивное улучшение и последовательное ухудшение. Данные принципы описывают 2 разных подхода к разработке: в первом случае мы разрабатываем наш сайт, пишем скрипты с учётом старых браузеров и систем или же определяем поведение при невозможности запуска скриптов, а затем постепенно улучшаем скрипт, вводя современные функции и методы, таким образом мы получаем сайт, который будет одинаково хорошо работать в старых и новых браузерах и средах (то же касается и css).

При Graceful Degradation подход противоположный – мы разрабатываем для современных браузеров и, лишь, потом начинаем вносить доработки и изменения с учётом старых версий.

Подход Mobile First чем-то схож с Progressive Enhacement.

Проверка кода

После написания html, css и js для нашей страницы необходимо проверить всё ли сделано верно. Для этого можно использовать online средства:

  • Для проверки html: https://validator.w3.org/
  • Для проверки CSS: http://jigsaw.w3.org/css-validator/
  • Для проверки JS: http://www.jslint.com/

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

Статьи с рекомендациями по написанию JS, HTML и CSS:

  • 10 советов по написанию нативного JavaScript без jQuery
  • Сайт-сборник рекомендаций по JS, HTML и CSS

Средства автоматизации

На сегодняшний день практически все рутинные процессы разработки (за исключением дизайна) можно в той или иной степени автоматизировать.

960GS

Мы уже говорили об этом средстве разработки в разделе про модульные сетки и дизайн. Нужно сказать, что 960GS предлагает не только макеты для создания дизайна, но и свою систему именования классов. Используя предлагаемые классы при вёрстке и при подключении css файла системы в проект, блоки сайта будут выстроены по этой сетке, что сэкономит время на написании практически того же самого самостоятельно.

<div class="container_12">
  <div class="grid_7 prefix_1">
      <div class="grid_2 alpha">
          ...
      </div>
      <div class="grid_3">
          ...
      </div>
      <div class="grid_2 omega">
          ...
      </div>
  </div>
  <div class="grid_3 suffix_1">
      ...
  </div>
</div>

Emmet

Emmet – это средство работы с html и css (http://emmet.io/). Плагин для работы с данным средством можно установить, например, в Sublime Text, тогда у вас появляется возможность не писать громоздкие куски кода на html и css, а записывать их в строчку, раскрывая затем в полноценную разметку. Например, строка .block>ul.list>li.list__item*3, может быть раскрыта в полноценный код:

<div class="block">
  <ul class="list">
    <li class="list__item"></li>
    <li class="list__item"></li>
    <li class="list__item"></li>
  </ul>
</div>

Затем вам просто необходимо вписать текстовые значения в элементы списка. То же касается и css: строка w:100px+h:150px+bgc:#ff0 раскрывается в:

width: 100px;
height: 150px;
background-color: #ff0;

Благодаря данным средствам писать код становится быстрее и приятнее, так как вы меньше времени тратите на написания закрывающих блоков, переходам по строчкам, а так же уменьшается возможность, касательно html, не закрыть тот или иной элемент разметки. В плане CSS, например, становится легче работать с браузерными префиксами, так как одна строчка с CSS3 свойством может быть раскрыта в несколько с добавлением необходимых префиксов.

Jade

Далее стоит упомянуть и о таком языке работе с шаблонами, как jade (http://jade-lang.com/). Опять-таки, с помощью jade писать html становится быстрее и удобнее, а так же появляется возможность создания переиспользуемых блоков кода и миксинов, передавая которым на вход те или иные параметры мы будет получать нужную нам разметку. Благодаря jade в проекте, касательно разметки и написания страниц, может поддерживаться модульность, а часто используемые названия и блоки кода могут выноситься в качестве переменных (названия, имена страниц и пр.) или миксинов в отдельные файлы настроек и файлы, соответственно. Для работы с jade, а точнее для преобразования написанного кода из jade в html, необходимо использовать командную строку, а так же установить на ваш компьютер платформу nodejs (https://nodejs.org/en/, http://nodejs.ru/).

Командная строка

Работа в командной строке так же может ускорить некоторые этапы работы над проектом, например, создание папок и файлов. Запустив консоль в директории проекта и набрав в ней всего лишь одну строку:

mkdir project && cd project && mkdir css && touch css/styles.css && mkdir images && mkdir js && touch js/app.js && touch index.html

После нажатия enter мы получим папку project в которой будут находиться папки css, images, js, в папках css и js файлы styles.css и app.js, соответственно, а в корне project лежать файл index.html. Таким образом мы сэкономили время на создание папки, написание её названия, создание файлов и пр. Так же командная строка используется для работы с остальными средствами автоматизации.

Sass

Далее стоит поговорить о таком языке как Sass (http://sass-lang.com/). Данный язык упрощает работу с css. Благодаря Sass можно записывать вложенные классы, проводить математические вычисления прямо в коде, выносить переиспользуемые величины в качестве переменных в отдельные файлы или в начало файла, что в значительной степени упрощает дальнейшую работу со стилями и упрощает изменение тех или иных величин, так как они все будут храниться в одном месте и не нужно будет «ходить» по всему проекту и вносить соответствующие правки. Так же, благодаря Sass в проекте можно придерживаться принципа модульности, храня части разметки в соответствующих файлах и подключать их все в основной, затем с помощью консольной команды можно собрать весь код в один css файл, так же поддерживается сборка результирующего файла на лету по мере написания стилей. Опять-таки для работы с Sass потребуется командная строка. Процесс установки пакета можно изучить здесь: http://sass-lang.com/install.

HTML5Boilerplate

HTML5Boilerplate (https://html5boilerplate.com/) представляет собой заранее скомпонованный проект, в котором уже есть index.html, normalize.css и пр. В index.html, например, уже заранее прописаны основные куски кода, которые необходимы при написании html страницы. Проект позволяет скачать архив со всеми файлами как есть или же использовать кастомную сборку: http://www.initializr.com/. Опять-таки, принцип прост: зачем тратить время на написание одних и тех же строк или на проделывание одних и тех же манипуляций, если мы сразу можем сосредоточиться непосредственно на работе с проектом.

Gulp и Grunt

Gulp (http://gulpjs.com/) и Grunt (http://gruntjs.com/) представляют собой сервисы запуска задач, которые описываются в основных файлах данных сервисов, выполняются с помощью совместимых модулей и запускаются на выполнение с помощью консоли.

Данные сервисы помогают использовать в разработке, например, вышеописанные средства Jade и Sass, автоматически преобразовывать их в соответствующие файлы html и css, сжимать их, если необходимо, а так же проверять, например css свойства, на необходимость использования браузерных префиксов и подставлять их в автоматическом режиме.

Оба сервиса используют различный подход в описании выполнения задач, но суть их работы одинакова. Полезным будет данное сравнение: http://frontender.info/gulp-grunt-whatever/

Так же многие сервисы вроде autoprefixer (автоматическая простановка браузерных префиксов), jshint (проверка JS кода на валидность) могут быть установлены как сторонние плагины в текстовом редакторе (Sumblime Text, Atom, Brackets) и инициализированы при нажатии определённого сочетания клавиш.

Bootrstrap, Foundation, Material Design Lite

Данные фрэймворки уже упоминались в разделе про дизайн. Но стоит опять вспомнить о них, так как они, в определённой степени, помогают автоматизировать процесс разметки веб-страницы и работы с ней.

При подключении файлов фрэймворков в проекте мы можем использовать определённые в них классы и сниппеты разметки, которые будут работать по уже описанным правилам и иметь установленный внешний вид (например, кнопки, поля ввода, таблицы и пр.). Таким образом мы экономим время, например, на описание расположения блоков дизайна, их размеров в зависимости от разрешения, внешний вид полей формы, кнопок и их состояния.

Со всеми возможностями и примерами можно ознакомиться на соответствующих сайтах:

  • Bootstrap: http://getbootstrap.com/
  • Foundation: http://foundation.zurb.com/
  • Material Design Lite: http://www.getmdl.io/

Данное описание не является исчерпывающим и представляет собой лишь поверхностный взгляд на некоторые технологии. Но прежде чем пускаться во все тяжкие, используя средства автоматизации, библиотеки, framework’и, готовый код и прочее, стоит, всё-таки, изучить основы работы с html, css и js.

Надеюсь, что все описанные вещи будут полезны вам в изучении темы веб-дизайна и фронтенд разработки.

Несмотря на общепринятое мнение, центральное место в процессе дизайна и разработки веб-сайтов не всегда занимает фаза написания кода. В первую очередь приходящие на ум технологии, такие как HTML, CSS и JavaScript, и в самом деле создают образ Сети, к которому мы привыкли и определяют способы нашего взаимодействия с информацией. Что обычно остается вне поля зрения, но в то же время является едва ли не самой важной частью процесса разработки, так это стадии предварительного сбора информации, тщательного планирования, а также поддержки уже после запуска сайта. В этой статье мы поговорим о том, как может выглядеть типичный процесс разработки веб-сайта. Можно выделить разное количество этапов, из которых состоит процесс разработки. Обычно это число от пяти до восьми, но в каждом случае общая картина остается примерно одинаковой. Давайте остановимся на среднем значении. Итак, семь основных этапов разработки: 1) Сбор информации, 2) Планирование, 3) Дизайн, 4) Создание контента, 5) Разработка, 6) Тестирование, обзор и запуск 7) Поддержка.

График разработки

Когда вы приступаете к планированию процесса разработки веб-сайта, две главные проблемы, с которыми вы сталкиваетесь, это время и стоимость разработки. Эти два значения во многом зависят от размера и сложности проекта. Для того, чтобы представлять в общих чертах, как будет протекать работа над проектом, вы можете создать график процесса разработки, который будет содержать основные задачи проекта, а также этапы, из которых он состоит. Это позволит удобно следить за общей картиной и всегда быть уверенным в том, что поставленные задачи будут решены точно в срок. Для данной цели мы предпочитаем использовать GanttPRO, удобную диаграмму Гантта для управления проектами и задачами онлайн:

график разработки сайта

Мы подготовили детальное описание каждой фазы жизненного цикла разработки веб-сайтов, включая приблизительное время, необходимое для завершения каждой стадии. Также мы создали список основных этапов разработки, чтобы вы были уверены в том, что вы ничего не упустили. Он доступен в конце этой статьи и вы можете использовать его в качестве подсказки, когда приступите к разработке собственного сайта.

Жизненный цикл разработки веб-сайта

Этап 1. Сбор информации: назначение, основные цели и целевая аудитория

Этап предварительного исследования и сбора информации определяет то, как будут протекать все последующие стадии разработки. Самое важное на этом этапе — получить ясное и полное понимание того, каким будет назначение вашего будущего сайта, каких целей вы хотите достичь с его помощью, а также какова целевая аудитория, которую вы хотите на него привлечь. Такая своеобразная анкета веб-разработки позволит определить наилучшую стратегию дальнейшего развития проекта. Новостные порталы отличаются от развлекательных сайтов, а сайты для подростков отличаются от таковых для взрослой аудитории. Разные сайты предоставляют посетителям разную функциональность, а значит разные технологии должны использоваться в том или ином случае. Детально составленный план, созданный на основе данных, полученных на этом этапе, может предотвратить вас от затраты дополнительных ресурсов на решение непредвиденных трудностей, таких как смена дизайна или добавление функционала, не предусмотренного изначально.

Приблизительное время: от 1 до 2 недель

Этап 2. Планирование: создание карты сайта и макета

На этой стадии разработки заказчик уже может получить представление о том, каким будет будущий сайт. На основе информации, собранной на предыдущей стадии, создается карта сайта (sitemap). Так, например, выглядит карта сайта ИксБи Софтваре:

карта сайта xbs

Карта сайта описывает взаимосвязь между различными частями вашего сайта. Это помогает понять, насколько удобным в использовании он будет. По карте сайта можно определить «расстояние» от главной страницы до других страниц, что помогает судить о том, насколько просто пользователю будет добраться до интересующей его информации. Основная цель создания карты сайта — создать легкий с точки зрения навигации и дружественный к пользователю продукт. Это позволяет понять внутреннюю структуру будущего сайта, но не описывает то, как сайт будет выглядеть. Иногда, прежде чем приступить к написанию кода или к разработке дизайна, может быть важным получить одобрение заказчика. В этом случае создается макет (wireframe или mock-up). Макет представляет из себя визуальное представление будущего интерфейса сайта. Но, в отличие например, от шаблона, о котором мы поговорим далее, он не содержит элементов дизайна, таких как цвет, логотипы, и т.п. Он только описывает, какие элементы будут помещены на страницу и как они будут расположены. Макет представляет собой своего рода набросок будущего сайта. Вы можете использовать один из доступных онлайн-сервисов для создания макетов. Обычно мы используем Moqups.

создание макета страницы

Также на этом этапе стоит определиться с тем, какой стек технологий (язык программирования, фреймворки, CMS) будет использован.

Приблизительное время: от 2 до 6 недель

Этап 3. Дизайн: шаблон страницы, обзор и утверждение

На этом этапе веб-сайт становится еще ближе к своей окончательной форме. Весь визуальный контент, такой как изображения, фото и видео, создается именно сейчас. И опять-таки вся информация, которая была собрана на самой первой стадии проекта, крайне важна на этом шагу. Интересы заказчика, а также целевая аудитория должны учитываться в первую очередь во время работы над дизайном. Дизайнером на данном этапе создается шаблон страницы (page layout). Основное назначение шаблона — визуализировать структуру страницы, ее содержимое, а также отобразить основной функционал. На этот раз, в отличие от макета, используются элементы дизайна. Шаблон содержит цвета, логотипы и изображения. Он дает возможность судить о том, как в конечном результате будет выглядеть готовый сайт. После создания шаблон может быть отправлен заказчику. После обзора заказчиком проделанной работы, он присылает свой отзыв. Если его не устраивают какие-то аспекты дизайна, вы должны изменить существующий шаблон и снова отправить его заказчику. Этот цикл повторяется до тех пор, пока заказчик не будет полностью удовлетворен результатом.

Приблизительное время: от 4 до 12 недель

Этап 4. Создание контента

Процесс создания контента обычно проходит параллельно с другими стадиями разработки и его роль не стоит недооценивать. На данном шаге необходимо описать самую суть того, что вы хотите донести до аудитории своего веб-сайта, а также добавить CTA (призыв к действию). Эта стадия включает в себя также создание привлекательных и броских заголовков, написание и редактирование текста, компиляция существующих текстов и т.д. Все это требует затраты дополнительного времени и усилий. Как правило, заказчик предоставляет контент, уже готовый к тому, чтобы быть размещенным на сайте. Важно, чтобы весь контент был подготовлен до или во время стадии разработки.

Приблизительное время: от 5 до 15 недель

Этап 5. Верстка и разработка

Теперь вы наконец-то можете перейти непосредственно к верстке сайта. Все графические элементы, разработанные ранее, используются на данной стадии. Обычно в первую очередь создается домашняя страница, а затем к ней добавляются остальные страницы в соответствии с иерархией, разработанной на этапе создания карты сайта. Также на этом этапе происходит установка CMS. Все статичные элементы веб-сайта, дизайн которых был разработан ранее при создании шаблона, превращаются в реальные динамические интерактивные элементы веб-страницы. Немаловажная задача — проведение SEO-оптимизации (Search Engine Optimization), которая представляет собой оптимизацию элементов веб-страницы (заголовков, описания, ключевых слов) с целью поднятия позиций сайта в результатах выдачи поисковых систем. Валидность кода является крайне важной в этом случае.

Приблизительное время: от 6 до 15 недель

Этап 6. Тестирование и запуск

Тестирование является, наверное, самой рутинной частью разработки. Каждая ссылка должна быть проверена, каждая форма и каждый скрипт должны быть протестированы. Текст должен быть проверен программой проверки орфографии для выявления возможных опечаток и ошибок. Валидаторы кода используются для того, чтобы быть уверенным, что созданный на предыдущем этапе код полностью соответствует современным веб-стандартам. Это может оказаться крайне важным, если для вас критична, например, кроссбраузерная совместимость. После того, ка вы проверили и перепроверили ваш сайт, он может быть загружен на сервер. Обычно для этого используется FTP-клиент. После загрузки сайта на сервер, необходимо провести еще один тест для того, чтобы быть уверенным, что во время загрузки не произошло непредвиденных ошибок и все файлы целы и невредимы.

Приблизительное время: от 2 до 4 недель

Этап 7. Поддержка: отзывы пользователей и регулярные обновления

Важно понимать, что веб-сайт представляет из себя скорее сервис, чем продукт. Недостаточно просто «доставить» его потребителю. Также важно быть уверенным в том, что все работает, как и было запланировано, а пользователи удовлетворены конечным продуктом. Нужно также быть готовым быстро вносить изменения, если это будет необходимо. Система отзывов позволит вам выявлять возникшие проблемы, с которыми сталкиваются посетители сайта. Самой критичной задачей в подобных случаях будет решение возникших проблем настолько быстро, насколько это возможно. В противном случае, ваши пользователи скорее предпочтут другой ресурс, чем будут мириться с неудобствами. Также не следует забывать о регулярном обновлении CMS. Регулярные обновления избавят вас от ошибок и проблем с безопасностью.

Непрерывный процесс

Бонус. Чек-лист основных этапов разработки

Чтобы быть уверенным в том, что вы ничего не пропустили и завершать всю запланированную работу вовремя, забирайте себе этот чек-лист:

чеклист разработки сайта

Заключение

Нужно постоянно помнить, что процесс разработки веб-сайта не начинается с написания кода и не заканчивается после запуска сайта. Этап подготовки затрагивает все последующие этапы, определяя то, насколько продуктивным окажется процесс работы над проектом. Основательное и глубокое исследование таких аспектов, как пол, возраст и интересы конечных пользователей может оказаться определяющим. Поддержка сайта уже после его запуска также крайне важна. Вы должны быть достаточно оперативны, чтобы иметь возможность быстро исправлять возникшие ошибки и решать возникшие у пользователей проблемы. Понимание того, что среди этапов разработки веб-сайта нет таких, которые можно было бы считать маловажными или необязательными, поможет вам избежать лишних хлопот и даст вам уверенность в том, что работа над проектом движется так, как и было задумано и вы имеете полный контроль над процессом разработки.

The following two tabs change content below.

  • Об авторе
  • Последние статьи

Светлана Гордиенко

Маркетолог ИксБи Софтваре с большим опытом в области интернет-маркетинга. Увлекается юзабилити и стремится создавать полезный контент, отвечающий интересам ИТ-аудитории.

Светлана Гордиенко

Добавить комментарий