Веб для мобильных устройств - рекомендации для ASP.NET [закрыто]

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

Вопрос

Начинаю создавать веб-приложения для мобильных устройств (любой телефон).
Каким был бы наилучший подход с использованием ASP.NET 3.5 / ASP.NET 4.0 и C #?

ОБНОВЛЕНИЕ (февраль 2010)
Есть какие-нибудь новости об использовании Windows mobile 7?

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

Решение

Это зависит от того, действительно ли вы хотите поддержка каждого мобильного телефона или только высококлассный или новый телефон, такой как iPhone, у которого не так много ограничений на рендеринг веб-страниц.Если бы вы могли попросить по-настоящему По требованию предоставляется поддержка HTML-рендеринга, Javascript и файлов cookie на телефоне, тогда реальным ограничением является ограниченный размер экрана.Вы должны прекрасно справляться с "обычной" веб-разработкой в ASP.NET заботясь о размере страниц.

Если это так , то, вы могли бы прекратить читать здесь.

Если вы действительно хотите поддерживать каждый сотовый телефон, особенно старые, вы должны знать, что существуют разные типы телефонов.У многих из них есть ограничения и ограничители отображение веб-страниц.Некоторые из них могут использовать JavaScript, но многие из них этого не делают.Некоторые из них могут отображать HTML-контент, но многие другие этого не могут.Они должны полагаться на стандарт "Wireless Markup Language" для доступа к Интернету.Таким образом, непросто создать веб-сайт, который поддерживает все эти различные устройства.

Вот несколько ссылок на общий контент (не ASP.NET конкретный), которые могли бы помочь получить полную картину:

Однако их основным ограничением, как я уже упоминал, является меньший экран, чем на обычных ПК.И многие мобильные телефоны не поддерживают JavaScript, Cookies, а некоторые даже не показывают изображения.

Существуют специальные стандарты разметки для мобильных телефонов. Страницы WML это, например, широко принятый стандарт для мобильных телефонов.WML расшифровывается как "Wireless Markup Language", который основан на XML.Вы можете найти описание и ссылку на WML здесь , на w3schools.com.

Приведенный ниже код показывает пример страницы WML:

<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
   "http://www.wapforum.org/DTD/wml_1.1.xml">

<wml>
   <card id="card1" title="Stackoverflow">
      <do type="accept" label="Menu">
         <go href="#card2"/>
      </do>
      <p>
         <select name="name"> 
            <option value="Questions">Questions</option>
            <option value="MyAccount">My account</option>
            <option value="FAQ">FAQ</option>
         </select>
      </p>
   </card>
   <card id="card2" title="Menu">
      <p>
           You selected: $(name)
      </p>
   </card>
</wml>

Хорошей новостью является то, что ASP.NET содержимое WML (и других стандартов мобильной разметки) отображается автоматически.Вам не нужно самостоятельно писать WML-файлы.Встроенный механизм определяет тип устройства (сотовый телефон) веб-запросов.Однако обнаружение мобильного устройства на ASP.NET работает некорректно для некоторых (более новых) устройств.Взгляните на ВУРФЛ, XML-конфигурационный файл, который содержит информацию о возможностях многих мобильных устройств.

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

ASP.NET Мобильные Элементы управления

ASP.NET Мобильные элементы управления, ранее известные как "Microsoft Mobile Internet Toolkit", расширяют возможности .NET Framework и Visual Studio для создания мобильных веб-приложений, позволяя ASP.NET доставлять разметку на широкий спектр мобильных устройств.

ASP.NET Мобильные элементы управления отображают соответствующую разметку (HTML 3.2, WML 1.1, cHTML, XHTML) при работе с различными размерами экрана, ориентацией и возможностями устройства.

Узнать больше здесь, на официальном веб-сайте.

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

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

Я знаю, что на вас это не влияет, но если вы используете какие-либо другие протоколы, такие как потоковая передача или любые протоколы на основе UDP, установите максимальный размер пакета не менее 1300 байт или ниже.Просто из-за того, как работает мобильное устройство при перемещении по сети, добавляется дополнительная информация в заголовке get.В TCP / IP мы используем MSS-clamping для защиты от проблем с большими пакетами, но это не может быть применено ни к каким передачам UDP или любому другому защищенному протоколу, использующему заголовок аутентификации.Если мобильные телефоны, на которые вы ориентируетесь, предлагаются компанией RIM, этот момент можно полностью игнорировать.

Некоторые мобильные телефоны могут использовать WAP-прокси при общении с вашим сервером, в этом случае старайтесь избегать использования любых подключений, требующих постоянного TCP / IP.Некоторые прокси настроены так, чтобы через них не проходили никакие сеансы поддержания жизни, хотя я верю, что большинство новых работают нормально.

Я уверен, что есть еще кое-что, самое важное, что вы должны иметь в виду, это то, что подключение по IP к мобильному устройству намного сложнее, чем при открытии веб-браузера.Этот транспорт может быть чрезвычайно сложным, поэтому, если вы попытаетесь сделать что-то действительно необычное, даже если это сработает сейчас, это может сработать не всегда.И последнее замечание: задержка и потеря пакетов могут сильно колебаться, поэтому, если вы делаете что-либо в режиме реального времени, задержка может достигать 200 + мс, и я видел, как потери пакетов на короткое время увеличивались до 20-30%.

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

Более подробная информация здесь:разработка для Windows-mobile-с чего начать

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