Как я могу создать сайт для мобильных телефонов - PullRequest
9 голосов
/ 08 марта 2009

Как начать разработку сайта, который можно просматривать с мобильных телефонов? Например, если вы просматриваете сайт Gmail с iPhone, он выглядит не так, как обычный сайт. Вы должны разработать два разных сайта, чтобы сделать это? Как я могу узнать, доступен ли сайт через мобильный браузер?

Ответы [ 8 ]

21 голосов
/ 09 марта 2009

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

Есть несколько способов решения этой проблемы, каждый из которых имеет свои плюсы и минусы. Я предполагаю, что ваш сайт имеет свою информацию в базе данных, и публикует эти данные с помощью набора шаблонов? (Например, сайт Ruby on Rails или Django; сайт PHP; блог и т. Д.) Если вы вручную кодировали несколько статических HTML-страниц, это будет для вас более трудоемким.

1: тот же HTML, разные таблицы стилей для ЭКРАНА и МОБИЛЬНОЙ

Идея: вы предоставляете одинаковую структуру HTML для всех запросов. Вы создаете таблицу стилей для ЭКРАНА и одну для МОБИЛЬНОЙ.

Хорошо: для вас, программист. Вам проще поддерживать 2 таблицы стилей, чем поддерживать 2 совершенно отдельных сайта-шаблона.

Плохо: для ваших пользователей. Сайт, который легко использовать на мобильном устройстве, обычно неэффективен для обычного браузера; и сайты, оптимизированные для настольного компьютера / ноутбука, часто терпят неудачу на мобильном устройстве. Очевидно, это зависит от того, как вы кодируете свои страницы, но в большинстве случаев загрузка обычного сайта в мобильный браузер будет плохой для ваших пользователей. (См. http://www.useit.com/alertbox/mobile-usability.html для краткого изложения недавнего исследования юзабилити Якоба Нильсена на мобильных сайтах.)

2: ведение отдельных сайтов

(Gmail поддерживает даже более 2 систем! В основном они имеют разные контейнерные приложения / шаблоны, которые обрабатывают одни и те же данные: полную версию браузера AJAX; простую версию браузера HTML; базовую мобильную версию; нативное приложение Blackberry и родное приложение для iPhone.)

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

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

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

Основная процедура:

  1. Дизайн и создание интерфейсов для мобильных устройств и экрана.
  2. запускать сайты по двум разным URL; Появляется соглашение: www.yoursite.com для настольной версии и m.yoursite.com для мобильной версии. (Это позволяет пользователям переходить непосредственно на m.yoursite.com, если они знают о соглашении.)
  3. На сайте www.yoursite.com найдите пользовательский агент и проверьте, является ли браузер пользователя мобильным. Если это так, направьте пользователя на m.yoursite.com.
    1. Существуют снифферы, написанные на разных серверных языках (PHP, Perl и т. Д.), Которые вы, вероятно, можете использовать. Проверьте лицензии. Вот пример сниффера, написанного на php .
    2. Из Статья Википедии о прослушивании пользовательского агента : «Веб-сайты, специально предназначенные для мобильных телефонов, такие как I-Mode NTT DoCoMo или порталы Vodafone Live! Vodafone, часто сильно зависят от прослушивания пользовательского агента, поскольку мобильные браузеры часто сильно отличаются друг от друга. За последние несколько лет были сделаны многие разработки в области мобильного просмотра, в то время как многие старые телефоны, не обладающие этими новыми технологиями, все еще широко используются. Поэтому мобильные веб-порталы часто генерируют совершенно другой код разметки в зависимости от Мобильный телефон использовался для их просмотра. Эти различия могут быть небольшими (например, изменение размера определенных изображений для отображения на экранах меньшего размера) или весьма значительными (например, отображение страницы в формате WML вместо XHTML). "
  4. На m.yoursite.com предоставьте ссылку на www.yoursite.com. Пользователи, которые нажимают на эту ссылку, НЕ должны перенаправляться обратно на мобильный сайт, и то, как вы это сделаете, зависит от вашей реализации.

Возможно, вы захотите следовать Quirksmode за его новыми статьями о мобильном тестировании.

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

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

В коде вашего шаблона вы можете сказать что-то вроде

if( $useragentType != mobile ) {
    echo( 'bigBlockOfRelatedArticlesAndAds.php' );
}

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

6 голосов
/ 09 марта 2009

Большинство мобильных устройств в наши дни поддерживают «мобильные таблицы стилей», которые являются просто альтернативными таблицами стилей для упрощения отображения. Вы можете добавить мобильную таблицу стилей на свой сайт обычным способом и включить атрибут media="handheld":

<link rel="stylesheet" type="text/css" href="/mobile.css" media="handheld" />

Тогда эти стили будут применяться к мобильным телефонам.

Единственная проблема этого метода в том, что если ваш HTML громоздкий, загрузка страницы может занять некоторое время, так как большинство мобильных браузеров работают медленнее (кроме Opera Mini). Вот почему крупные сайты, такие как flickr и digg, используют отдельные сайты.

Дополнительные примечания:

  • Объемный HTML не так сильно влияет на Opera Mini, поскольку он использует прокси-сервер, который выполняет рендеринг извне, а затем отправляет специальное «изображение» на устройство.
  • Используйте простой, чистый HTML, затем вы можете отправить его на обычные браузеры и мобильные устройства
  • Вам нужно будет проверить комбинации таблиц стилей с атрибутами media. IIRC, добавив код выше, заставит браузеры игнорировать первую таблицу стилей. Если вы добавите media="all" к первому, будут использоваться оба (и, таким образом, вы можете переопределить исходные стили, а не начинать заново).
2 голосов
/ 09 марта 2009

Ознакомьтесь с проектом WURFL . Его намерение состоит в том, чтобы помочь разработчикам ориентироваться на несколько телефонных браузеров и начать работу еще до появления Mobile Safari, во времена HDML, WAP и XHTML-MP. Однако он актуален, храня возможности современных устройств, таких как iPhone. Он имеет данные более чем на 400 устройствах и имеет библиотеки на Java, PHP, Perl, Ruby, Python, .NET, C ++. В зависимости от того, насколько широко вы хотите настроить таргетинг на свое мобильное приложение, на это нужно обратить внимание Вот список сайтов, которые используют WURFL.

Еще один смежный проект, написанный Люкой Пассани (соучредителем и сопровождающим WURFL), является Switcher . Вы можете использовать это для автоматического перенаправления на мобильную версию вашего сайта.

2 голосов
/ 09 марта 2009

Чтобы проверить, как выглядит weppage в мобильном браузере, используйте Opera Mini Emulator

2 голосов
/ 09 марта 2009

Будьте проще, подумайте opera mini , и вы все поймете правильно. (iPhone имеет больше от нормального браузера ...)

  1. Фокус на содержание

  2. Избегайте плагинов

  3. Следуйте веб-стандартам

  4. Отделите контент от макета / дизайна, используйте как можно больше css.

  5. Используйте текст и изображения.

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

Для получения дополнительной информации не стесняйтесь посетить любой браузер кампании


Редактировать: Если не очевидно, что вы работаете с разными CSS для разных типов браузеров, но всегда используете один и тот же контент. Посетите css zen garden для хорошей демонстрации.


Обновление: Добавление ссылки на типы мультимедиа css, и, как утверждают другие, это интересный вариант портативного устройства.

1 голос
/ 09 марта 2009

Большинство сайтов имеют несколько иной поддомен для мобильных сайтов (большинство используют «m»). например flickr использует m.flickr.com

(есть рекомендация использовать .mobi TLD , но я никогда не видел, чтобы он использовался)

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

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

Если различия в дизайне двух прицелов невелики, вы могли бы получить способ, просто обслуживая отдельные CSS-файлы?

1 голос
/ 09 марта 2009

Для этого нужно создать два разных сайта?

Да

Как узнать, доступен ли сайт с помощью мобильного браузера?

Ваш язык программирования, вероятно, каким-то образом просматривает информацию клиента. Например, в PHP есть суперглобальная переменная $_SERVER, которая содержит все виды информации как об обслуживающем сервере, так и о гостевом клиенте. В этом случае вас заинтересует значение $_SERVER['HTTP_USER_AGENT'], которое даст мне следующий результат, если я зайду на страницу:

Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_6; en-us) AppleWebKit/528.16 (KHTML, like Gecko) Version/4.0 Safari/528.16

Это говорит о том, что я использую Mac OS X 10.5.6, используя Safari 4.0. Есть известные ключевые слова для различных мобильных браузеров. Например, одна версия браузера iPhone имеет следующий пользовательский агент:

Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420+ (KHTML, like Gecko) Version/3.0 Mobile/1A543a Safari/419.3

«iPhone» уже отдает его, но дополнительно подтверждается ключевыми словами «Mobile» и «Safari»

0 голосов
/ 22 января 2010

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

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

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