Значительно больше информации относительно разработки мобильных ASP.NET- приложений вы найдете в оперативной справочной документации. (Великолепной отправной точкой для этого может служить раздел "Mobile" на Web- сайте http://www.asp.net.)
Рис. 1.1. Создание нового проекта ASP.NET для мобильного Web приложения
Мобильные приложения на основе модели интеллектуального клиента
В этой книге основное внимание уделено разработке клиентских приложений для мобильных устройств. Если вы решаете, что ваше мобильное приложение будет лучше всего работать в качестве "толстого" клиента, то вам придется принять еще одно важное решение. Вы должны решить, какую именно технологию следует использовать на стороне клиента. Будете ли вы создавать приложение с использованием собственного или управляемого кода? У каждого из этих двух вариантов имеются свои преимущества и недостатки.
Собственный код
Приложения на основе собственного кода (native code) обычно разрабатываются с использованием языков С или С++. Собственные коды полезны в тех случаях, когда вы хотите добиться от системы максимальной производительности или же вам требуется низкоуровневый доступ к оборудованию. В то же время, собственным кодам свойствен ряд серьезных недостатков, перечень которых приводится ниже.
■ Процесс разработки приложений с использованием собственного кода менее продуктивен по сравнению с вариантом управляемого кода . Поскольку вы работаете на более низком уровне абстракции, для создания кода программы потребуется больше времени.
■ Собственный код зависит от процессора. Результатом компиляции собственного кода является последовательность машинных команд, которые зависят от целевого микропроцессора. Таким образом, если предполагается, что в дальнейшем программа должна будет выполняться на процессорах, относящихся к разным семействам, то вам придется компилировать и развертывать несколько версий приложений. Иногда то же самое может потребоваться даже в случае разных процессоров, принадлежащих одному семейству. Так, существует несколько различных вариантов очень популярных микропроцессоров ARM, для каждого из которых необходимо использовать отдельные версии компиляторов собственного кода.
■ Собственный код требует более жесткого тестирования по сравнению с управляемым кодом. Работая с собственным кодом, вы должны самостоятельно заботиться о распределении памяти и других ресурсов. Как показывает практика, создание "идеального приложения" — задача не из легких, если вообще осуществимая. В сложных системах почти всегда найдутся области памяти, которые в силу тех или иных причин не были освобождены после того, как необходимость в них отпала. По прошествии некоторого времени даже небольшая утечка памяти или иных ресурсов в повторяющемся коде может привести к исчерпанию ресурсов устройства. Многие сотовые телефоны почти никогда не выключаются. Во многих устройствах PDA предусмотрены средства немедленного восстановления состояния системы, которые поддерживают выполнение приложений или их сохранение в памяти даже в тех случаях, когда устройство выключается. Своим поведением в отношении утечки памяти мобильные устройства больше напоминают не настольные компьютеры, а серверы, которые часто также остаются включенными в течение длительного времени. В случае утечки памяти система, в конечном счете, перестанет отвечать на ваши запросы или будет работать нестабильно. Разработка собственных кодов для мобильных устройств требует предельного внимания и строгого тестирования приложений в режиме "24/7" (24 часа в сутки, 7 дней в неделю).
Инструменты разработки на С++ для мобильных устройств
Во время написания данной книги компания Microsoft предлагала свободно распространяемый инструментальный набор средств для разработчиков устройств на языках C/C++ под названием eVC++. eVC++ — это аббревиатура от Embedded Visual С++. Этот продукт, который можно бесплатно загрузить с Web-сайта Microsoft, позволяет разработчикам создавать собственный код на языках C/C++ для устройств, работающих под управлением операционных систем Windows СЕ, Pocket PC и Microsoft Windows Mobile 2003 Software for Smartphone (ради краткости при дальнейших ссылках на последний из названных программных продуктов я буду использовать его сокращенное название — Microsoft Smartphone). В основу этой среды разработки была положена среда Visual Studio 6.0 С++, являющаяся предшественницей Visual Studio .NET. Согласно планам Microsoft последующие версии Visual Studio .NET (начиная с выпуска "Whidbey" в 2005 году) будут обеспечивать поддержку разработки собственных кодов C/C++ для устройств, в результате произойдет слияние обеих указанных сред в одну среду.
Читать дальше