Затраты WURFL против адаптивного дизайна в PHP - PullRequest
3 голосов
/ 28 января 2012

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

Он построен с использованием Symfony2, jQuery, HTML5.

Есть ли какие-либо сравнения производительности между использованием WURFL и адаптивным дизайном как на стороне сервера, так и на стороне клиента? В частности, я думаю о времени рендеринга, HTTP-вызовах (это довольно тяжело в AJAX).

Ответы [ 3 ]

4 голосов
/ 16 февраля 2012

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

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

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

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

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

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

3 голосов
/ 21 февраля 2012

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

Решение на основе RESS (т. Е. Responsive Design + Server Side Components - http://www.lukew.com/ff/entry.asp?1392) всегда будет иметь возможность быть быстрее, чем само адаптивное дизайнерское решение. Вам всегда нужно будет учитывать значение «быстрее»). Но когда я вижу (возможно, плохо спроектированные) сайты с адаптивным дизайном, которые доставляют на мобильное устройство более 1 МБ контента, оптимизация производительности, которую они могли бы получить с помощью небольшого количества информации на стороне сервера, огромна. сайт имеет значение от gomez @ http://www.gomez.com/resources/whitepapers/why-web-performance-matters/ и почему каждая секунда имеет значение.

Несколько примеров того, как может помочь обнаружение функций на стороне сервера, перечислены в http://www.opendeviceknowledge.com/discovery, включая сведения о том, как адаптивный дизайн и мир на стороне сервера могут играть вместе.

2 голосов
/ 07 апреля 2014

Изобретатель WURFL, здесь. Похоже, что Ронан Кремин достаточно подробно рассмотрел этот вопрос. В конце концов, это вопрос юзабилити против стоимости (как разработка, так и сопровождение).

Единственное, на что я хочу обратить внимание, это то, что WURFL и адаптивный веб-дизайн не обязательно должны быть отдельными мирами. Это и это сообщения имеют мою точку зрения на эту тему.

Что еще интереснее, мы недавно запустили сервис, который делает некоторые из WURFL также бесплатными для разработчиков Javascript. Я советую вам проверить http://wurfl.io/ сайт.

В двух словах, если вы импортируете крошечный файл JS:

<script type='text/javascript' src="//wurfl.io/wurfl.js"></script>

у вас останется объект JSON, который выглядит следующим образом:

{
 "complete_device_name":"Google Nexus 7",
 "is_mobile":true,
 "form_factor":"Tablet"
}

(предполагается, что вы используете Nexus 7, конечно), и вы сможете делать такие вещи, как:

if(WURFL.form_factor == "Tablet"){
    //dostuff();
}

Это то, что вы ищете.

Спасибо

...