Система управления контентом, ориентированная на мобильные устройства - PullRequest
1 голос
/ 30 ноября 2009

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

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

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

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

Спасибо за ваши мнения и ответы.

Ответы [ 2 ]

1 голос
/ 10 января 2010

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


Идентификация телефона

При работе с мобильным телефоном как веб-контекстом абсолютно необходимо правильно идентифицировать телефон. Это должно быть наивысшим приоритетом. Вот несколько проблем с идентификацией телефонов и их функций:

  • Не используйте userAgent.contains("iPhone") схему обнаружения. Уже есть множество веб-ботов и других приложений, которые содержат iPhone в своей строке агента пользователя, и, таким образом, вы их неправильно опознаете.
  • Не все телефоны даже отправляют заголовки User-Agent. Однако некоторые из них отправляют UAProf URL-адреса, которые содержат все функции телефона в формате RDF . К сожалению, это приводит к следующим двум проблемам:
  • Очевидно, у вас не будет доступа к данным каждого отдельного устройства , и вы обязаны использовать общедоступные хранилища данных, такие как WURFL . Эти базы данных, однако, неполны, немного отстают или не содержат данных, которые вы хотели бы иметь. Тем не менее, они являются лучшим выбором для начального набора данных.
  • UAProfs лгут. Да, они содержат ложную информацию - ее много! Частично это связано с тем, что производители забывают обновить XML: s, а частично из-за того, что файлы UAProf записываются во время разработки телефона, и, как мы знаем, функции меняются во время разработки.
  • Когда вы полагаетесь на какую-либо функцию, убедитесь, что вы не полагаетесь на конкретную версию определенного телефона. Например, в BlackBerry есть функция под названием Tile, которая по сути представляет собой действительно необычную закладку, но вы можете ' Чтобы обслужить его только на всех телефонах BlackBerry, вы должны указать версию операционной системы фактического телефона, чтобы обеспечить правильную вариацию Tile. То же самое касается сенсорного экрана, iPhone не был первым с сенсорным экраном и, конечно же, не единственным - также не ожидайте ситуации, когда устройство имеет только одну форму ввода, например Nokia N900 имеет сенсорный экран, физическую клавиатуру и даже стилус.

Создание актуальных страниц

К счастью, это то, с чем люди согласились, и при создании страниц вы должны использовать XHTML-MP . Но как бы хотелось, чтобы все было так просто ...

  • Все телефоны имеют разный уровень поддержки XHTML-MP / CSS. Например, если я правильно помню, некоторые старые BlackBerries не поддерживают background-color для блочных элементов. Или теги заголовка. Мы также видели неправильный порядок элементов span, когда их несколько. Да, и по какой-то причине таблицы действительно сложны. По сути, вам нужно уделить немного внимания трюкам разметки / стиля.
  • Вы не можете проверить существование функции, используя саму функцию. Если вы хотите обнаружить поддержку JavaScript, вы можете подумать, что добавление небольшого количества JavaScript на страницу для этой цели может работа, верно? Нет, это сбивает значительный процент мобильных телефонов, посещающих ваш сайт. Конечно, новые телефоны не выходят из строя, но не все купили свои телефоны за последние 12 месяцев. Кроме того, специфичные для мобильных устройств API-интерфейсы JavaScript различаются в зависимости от производителя, в качестве еще одного примера в настоящее время существует по меньшей мере три различных API-интерфейса: для определения геолокации на основе JavaScript, причем ни один из них не совместим с другими.

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

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

1 голос
/ 01 декабря 2009

Пара, которую мы использовали ...

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

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

Также полезна возможность подкачки на выходе, в отличие от рендеринга очень больших страниц (если объем содержимого велик).

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

...