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

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

Ваш текущий метод getRank() в настоящее время фактически не получает ранг. Обратите внимание, что если вы добавите команды в порядке их ранга сейчас, вы получите очень боковое дерево с поддеревом, всегда с правой стороны, с левой стороной всегда null. Также вероятно, что ваши ошибки возникли: getRank() всегда будет возвращать 1.

9
задан Hugo Assanti 8 March 2009 в 20:54
поделиться

8 ответов

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

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

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

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

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

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

2: Поддерживайте отдельные сайты

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

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

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

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

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

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

Можно хотеть следовать за Quirksmode для его появляющихся статей о мобильном тестировании.

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

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

В Вашем коде шаблона можно сказать вещи как

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

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

21
ответ дан 4 December 2019 в 06:41
поделиться

Большинство мобильных устройств в эти дни поддерживает "мобильные таблицы стилей", которые являются просто альтернативными таблицами стилей для отображения более простых вещей. Можно добавить мобильную таблицу стилей к сайту нормальным способом и включать 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" к первому оба будут использоваться (и можно таким образом переопределить первоначальные стили, а не начать заново).
6
ответ дан 4 December 2019 в 06:41
поделиться

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

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

2
ответ дан 4 December 2019 в 06:41
поделиться

Сохраните это простым, думайте Opera Mini, и Вы разберетесь в нем. (iPhone имеет больше от нормального браузера...),

  1. Внимание на содержание

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

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

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

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

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

Поскольку больше информации не стесняется посещать любую кампанию браузера


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


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

2
ответ дан 4 December 2019 в 06:41
поделиться

Для проверки, как weppage смотрит в мобильном браузере, используют Эмулятор Opera Mini

2
ответ дан 4 December 2019 в 06:41
поделиться

Необходимо ли разработать два differents сайта, чтобы сделать это?

Да

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

Ваш язык программирования имеет, вероятно, некоторый способ просмотреть информацию клиента. 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" уже отдает его, но далее подтвержден "Мобильными" ключевыми словами и "Safari"

1
ответ дан 4 December 2019 в 06:41
поделиться

Большинство сайтов имеет немного отличающийся sub домен для мобильных сайтов (большая часть использования "m"). например, flickr использует m.flickr.com

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

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

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

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

1
ответ дан 4 December 2019 в 06:41
поделиться

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

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

0
ответ дан 4 December 2019 в 06:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: