Создание мини-сайта в ASP.NET, который работает на Blackberry, Windows Mobile и iPhone

Я работаю над сайтом ASP.NET, который предназначен для настольных браузеров. Мы хотим включить дополнительный мобильный вид (например, http://m.sample.com), который предложит несколько простых страниц, которые будут в основном текстовыми. Там не будет необходимости в AJAX или даже Javascript, и нет пользовательского ввода - это действительно просто таблицы с несколькими ссылками для перемещения между страницами.

Какой лучший способ настроить это, чтобы он работал на Blackberry, Windows Mobile и iPhone?

Должен ли я смотреть поддержка ASP.NET Mobile или просто сворачивать мои собственные страницы?

ОБНОВЛЕНИЕ. Это было для m.microsoftpdc.com. Мы пошли с подходом подкаталога /Mobile и использовали советы Скотта Хансельмана iPhone для просмотра и других материалов.

Ответы

Ответ 1

Я делал это в прошлом, и так, как я это делал, это разделение страниц путем создания каталога для Desktop и создания каталога для Mobile. Это дает вам лучшее разделение взглядов, поскольку на самом деле они очень разные. В формах ASP.NET я использовал шаблон Model View Presenter, так как он прошел так, как наилучшим образом работали ASP.NET Forms. Таким образом, я мог бы повторно использовать код между двумя представлениями. Затем на странице index.aspx для сайта вы просто разбираете строку пользовательского агента запроса, чтобы выяснить браузер и перенаправить соответственно. Итак, например, на ваш сайт приходит человек с iphone, вы анализируете строку user-agent и выясняете, что это iphone. Затем вы перенаправляете на m.sample.com, который указывает на страницу Mobile/Index.aspx. В противном случае вы перенаправляетесь на Desktop/Index.aspx.

Я проанализировал строку user-agent на уровне страницы, но, конечно же, вы могли бы делать такую ​​логику и на уровне HttpModule или HttpHandler.

Изменить

Я просто перевернул свои собственные страницы, так как мы не нацеливались на телефоны с поддержкой WML. Это единственная причина, по моему мнению, использовать поддержку ASP.NET Mobile, если вы хотите также поддерживать телефоны с поддержкой WML.

Ответ 2

В качестве вашей цели вы определили только 3 платформы. Одна вещь, которую следует учитывать, заключается в том, что там есть еще более не-Blackberry/Windows Mobile/iPhone телефоны, и, возможно, они будут большинством вашей аудитории. (?)

Из того, как вы описываете свое приложение (JUST text), вы должны иметь возможность использовать практически любой мобильный телефон с поддержкой Интернета, который почти каждый телефон продается за последние восемь лет.

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

Возможно ли, что они могут запросить больше возможностей рабочего стола на мобильной стороне? Если это вероятный "да" (тем более, когда я думаю о трех платформах, на которые вы нацеливаетесь), я бы рекомендовал использовать автоматическое средство форматирования/включения, например, ASP.NET mobile. Если нет, просто сверните свой собственный и оставьте его простым и легким для ваших посетителей.

Ответ 3

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

Только мои два цента.

Ответ 4

Различные таблицы стилей, основанные на пользовательском агенте, будут обрабатывать "красивые". Вы используете мастер-страницы? Вы также можете настроить различные мастера на основе устройства с помощью фильтров устройств.