UPDATE
Хотя большая часть приведенного ниже текста по-прежнему применима, я бы сказал, что jQuery Mobile отлично справляется с предоставлением хорошо разработанного и удобного набора компонентов пользовательского интерфейса, одновременно облегчая работу многих устройств. проблемы тестирования и обнаружения, для которых я использовал WURFL в прошлом. Это все еще в бета-версии, но, кажется, работает довольно хорошо. Я рекомендую проверить это.
Две наиболее важные проблемы, которые необходимо учитывать при начале работы:
1) Обнаружение устройства
2) Дизайн мобильного интерфейса
Для выпуска номер 1 я настоятельно рекомендую взглянуть на набор данных устройства WURFL:
http://wurfl.sourceforge.net/
Используя это, вы можете получить (некоторые) возможности устройств, которые обращаются к вашему сайту, используя их строку User Agent. Тестирование мобильных веб-приложений похоже на тестирование браузера из ада - существует так много разных комбинаций устройств и браузеров, что это трудная задача. Если вы можете сосредоточиться на разработке одной или двух версий для довольно функциональных телефонов, скажите:
1) минимальная ширина 300 пикселей с заявленной «веб» поддержкой и сенсорным экраном
2) То же, что и выше, но без сенсорного экрана
Вы можете создать очень удобный сайт, который будет работать для большинства "смартфонов" или "телефонов приложений", как David Pogue назвал их более точно. Для фактического тестирования вы можете попробовать:
1) Составление списка всех ваших друзей и какие у них телефоны
2) Пойти в магазин телефонов и использовать эти телефоны для проверки вашего сайта
и, независимо от того, что вы делаете, вам нужно быть гибким, когда вы получите неизбежные отзывы пользователей о сломанном / медленном контенте на их устройстве.
Что касается дизайна пользовательского интерфейса, есть пара вопросов. Самый простой - красивый CSS. Здесь просто посмотрите на некоторые мобильные сайты, которые вам нравятся, и украдите их CSS. Как только вы это сделаете, вы в основном делаете обычную старую веб-разработку, просто на маленьком экране. ul станут красивыми iPhone-y столами и т. д.
Большая проблема - удобство использования мобильного интернета. Во многих отношениях мы находимся в 90-х годах с веб-разработкой для мобильных устройств. Я имею в виду, что мы работаем без устоявшихся шаблонов проектирования. Это делает разработку мобильных веб-приложений действительно увлекательной, но это также означает, что вы должны быть готовы скорректировать свой уродливый / испорченный пользовательский интерфейс по мере развития лучших идей. Одним из текущих примеров являются глобальные навигационные / хлебные крошки, которые вы видите на многих мобильных сайтах. Удивительное число людей пытаются имитировать поведение нативных приложений для iPhone, предоставляя постоянный инструмент навигации (кнопка «Назад») в мобильном приложении. Хотя это довольно мило, у него есть несколько проблем:
1) Это избыточно, учитывая, что браузер поставляется с кнопкой возврата, с которой пользователи хорошо знакомы. Причина, по которой эти глобальные навигации существуют в нативных приложениях, заключается в том, что они не поставляются с бесплатным инструментом навигации.
2) Сеть отличная. Вы можете входить, выходить и повторно вводить «приложения» в любой точке их структуры. Предполагая, что пользователь выбирает линейный путь через ваше приложение, вы уменьшаете его веб-функциональность, делая его намного более грубым по сравнению с остальной частью Интернета.
3) Это ломается. Либо вы можете попасть в ситуацию, когда навигация приложения и навигация браузера указывают в противоположных направлениях (нажатие кнопки «Назад» в вашем приложении шагает вперед по истории приложения), либо вы имитируете кнопку «Назад» с помощью JavaScript, который ломается, если они не t запуск в начале приложения (ссылка по электронной почте, закладка), или вы настроили сеансы, что может быть большой болью просто для того, чтобы скопировать то, что вы получаете из браузера бесплатно. Сессии также уязвимы для прерывания (ссылки по электронной почте, закладки), и вы действительно не получаете много.
Я предполагаю, что мои основные моменты здесь:
1) Не забывайте, что вы в сети. Сеть классная, браузеры классные, воспользуйтесь этим.
2) Не бойтесь поиграть. Здесь не так много устоявшихся шаблонов, поэтому вам, возможно, придется попробовать свои собственные.