Система управления контентом, ориентированная на мобильные устройства

StackOverflow https://stackoverflow.com/questions/1822325

Вопрос

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

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

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

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

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

Это было полезно?

Решение

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


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

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

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

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

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

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

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

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

Другие советы

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

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top