Xiper

Кроссбраузерность и кроссплатформенность.

Автор: Евгений Рыжков Дата публикации:

Кроссбраузерность — это когда с сайтом можно полноценно работать независимо от того какой браузер и его версия используется посетителем сайта. В идеале он еще и отображается везде одинаково.

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

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

С этими терминами приходится сталкиваться, когда составляешь ТЗ (а составляешь ли вообще? :)) front-end разработчику. Обычно в этой графе мне приходится видеть такой ответ: «все популярные браузеры». Если же заказчик плохо знаком с миром Веб, ответ обычно: «Все браузеры». А о том, что бывают разные платформы пока еще мало кто знает и/или задумывается (имею в виду как минимум постсоветское пространство).

Достаточно ли такого ответа? Стоит ли «мучать» заказчика рассказами о том, как много браузеров, и что есть и другие операционные системы кроме Windows, да еще и к Интернет способны подключатся не только настольные компьютеры? Однозначно ответить на эти вопросы достаточно сложно, ведь бывают разные проекты, разные заказчики, разная степень пофигизма веб разработчика и т.д. Зачастую приходится удовлетворяться ответом «Все популярные браузеры» и делать разработку с поддержкой около 90% пользователей.

Заметка

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

у пользователя большой выбор устройств для выхода в Сеть

Подсчитаем потери

Но если предположить, что стоит задача разработки коммерческого сайта (а таковыми по сути являются большинство сайтов), где каждый посетитель — это потенциальный покупатель / клиент / бизнес партнер, то потеря 10% посетителей может очень дорого стоить. Чтобы не быть многословным приведу простой пример. Наверное всем известен интернет магазин Ozon.ru:

  • посещаемость составляет 400 000 уникальных посетителей в сутки;
  • конверсия в среднем составляет 3% — это значит, что 12 тысяч посетителей что-то купят;
  • средний чек, по собственным оценкам магазина, составляет 1800 руб;
  • в сутки средний доход составит 21 600 000 рублей.

Не сложно догадаться, что потерять 10% посетителей равно потери более 2-х млн рублей! И это только за 24 часа. Впечатляет, правда? Но чтобы подсчитать полный объем потерь, нужно добавить к этой сумме стоимость привлечения одного посетителя, умноженную на 40 000: ведь этих пользователей мы привлекли зря, т.к. они не смогут работать с сайтом.

Без паники

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

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

Это грозит:

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

Ищем компромисс

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

  1. Где мой клиент? От географического положения требования к фронтэенду могут очень сильно отличаться. Например, в странах СНГ Opera имеет большую популярность, а на Западе ею почти не пользуются. В Британии пользователей Android около 15%, а в США более 30.
  2. Кто мой клиент? Возраст, профессия, уровень дохода, сколько времени проводит в Сети — все это влияет на то, чем пользуется человек для выхода в Сеть. Например, молодежь любит всякие новинки и гаджеты, потому активно обновляет браузеры использует различные альтернативные платформы, вроде смартфонов, игровых консолей и т.д.
  3. Каковы цели и стратегия проекта? Например, это может быть максимальная простота и доступность проекта — можно подумать о поддержке старых браузеров, от которых уже отказались ваши конкуренты. Или же первенство на рынке — а тут лучше не медлить и максимально быстро закончить разработку, пусть даже у какого-то процента посетителей сайт не заработает.
  4. Какие технологии будут использоваться? Например, если создается браузерная игра на HTML5, то в поддержке IE6, IE7 И даже IE8 нет просто смысла.

Заметка

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

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

  • LiveInternet — статистика русскоязычного Интернет. Тут можно найти статистику по используемым браузерам, операционным устройствам, разрешениям экранов и много еще чего полезного.
  • Statcounter — очень детальная статистика, где можно найти даже отчеты по определенным странам.
  • W3Counter — еще одна «забугорная» статистика.
статистика браузеров

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

При анализе статистики, неплохо бы учитывать тенденции Сети. Например, если доля IE6 составляет 2%, каждый месяц количество пользователей уменьшается на 0.5%, а запуск проекта запланирован через 6 месяцев, то поддержка IE6 в принципе смысла не имеет, даже если хочется обеспечить максимальную доступность.

Выводы

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

  • четкое представление задач и целей проекта;
  • понимание кто целевая аудитория и где она расположена;
  • изучение статистики.

Следствием этого может стать обдуманная, четко поставленная задача верстальщику и/или Javascript программисту.

P.S.

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

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

По теме