Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ООП / ООП / ры_приложений_полная_книга.pdf
Скачиваний:
500
Добавлен:
18.02.2017
Размер:
7.08 Mб
Скачать

Silverlight в последней версии браузера Microsoft Internet Explorer® for Mobile. Но не забывайте о том, что несмотря на возможность использования одного и того же Silverlight-кода для мобильного устройства и для настольного компьютера, для мобильного устройства необходимо учесть другой размер экрана и ограничения ресурсов. Код должен быть оптимизирован для Windows Mobile.

Если требуется создавать Веб-страницы как для настольных, так и для мобильных платформ, используйте Silverlight for Mobile или обычный ASP.NET/HMTL. Применяйте ASP.NET for Mobile, только если устройство не поддерживает никакие другие альтернативные варианты. Браузеры устройств стали более мощными и теперь могут обрабатывать обычный HTML и ASP.NET, используемый для настольных браузеров, поэтому специальная разработка на ASP.NET для мобильных устройств теряет свою актуальность. В настоящее время ASP.NET for Mobile поддерживает самые разнообразные мобильные устройства благодаря специальным адаптерам разметки и профилям устройств. ASP.NET for Mobile во время выполнения автоматически формирует содержимое соответственно возможностям устройства, но в ней присутствуют издержки, связанные с тестированием и обслуживанием профилей устройств. Поддержка разработки для этих элементов управления включена в

Microsoft Visual Studio 2003 и 2005, но не входит в Visual Studio 2008. Поддержка среды выполнения до сих пор доступна, но может быть изъята в будущем. Дополнительные источники по этим вопросам можно найти в разделе «Дополнительные источники» в конце данной главы.

.NET Compact Framework

При работе с Microsoft .NET Compact Framework руководствуйтесь следующими рекомендациями:

Если вы знакомы с Microsoft .NET Framework и разрабатываете приложение одновременно для настольной и мобильной платформ, примите во внимание, что .NET Compact Framework является подмножеством библиотеки классов .NET Framework. Она также включает некоторые классы, специально разработанные для Windows Mobile. .NET Compact Framework поддерживает только системы разработки Microsoft Visual Basic® и Microsoft Visual C#®.

В случае возникновения проблем с построчной трассировкой кода Windows Mobile в отладчике Visual Studio, используйте несколько сеансов отладки. Например, при отладке в одном сеансе машинного и управляемого кода Visual Studio, возможно, не сможет отследить сеанс через границы контекстов. В этом случае придется запустить два экземпляра Visual Studio и отслеживать содержимое между ними вручную.

Windows Mobile

При разработке приложений для Windows Mobile руководствуйтесь следующими общими рекомендациями:

Если приложение планируется выполнять как под управлением Windows Mobile Professional, так и Windows Mobile Standard, принимайте во внимание отличия модели безопасности в разных версиях Windows Mobile. Код, работающий на одной платформе, может не работать на другой из-за разных моделей безопасности для API. Изучите документацию Windows Mobile для своего устройства и используемой версии. Также ознакомьтесь с источниками, предлагаемыми в разделе «Дополнительные источники» в конце данной главы.

Если планируете обслуживать приложение в будущем или модернизируете существующее приложение, убедитесь, что понимаете наследование, схему присваивания имен продуктам и дерево версий операционной системы Windows Mobile. В каждой версии имеются небольшие отличия, которые должны быть учтены при разработке приложения.

Windows Mobile является производной выпущенных версий операционной системы Windows CE.

Windows Mobile версии 5.x и 6.x основаны на Windows CE версии 5.x.

Windows Mobile Pocket PC переименована в Windows Mobile Professional, начиная с версии Windows Mobile 6.0.

Windows Mobile Smartphone переименована в Windows Mobile Standard, начиная с версии Windows Mobile 6.0.

API Windows Mobile Professional и Windows Mobile Standard несколько отличаются. Например, в Windows Mobile Standard (Smartphone) в ее Compact Framework реализации нет класса Button, потому что вместо него для ввода данных используются программируемые клавиши.

Для реализации доступа к памяти и файловым структурам всегда используйте API Windows Mobile. Не выполняйте доступ к ним сразу после получения дескриптора любой из структур. Windows CE версия 6.x (и, следовательно, следующая выпущенная версия Windows Mobile) использует виртуализированную модель памяти и модель выполнения процесса, отличную от предыдущих версий. Это означает, что такие структуры, как дескрипторы и указатели файлов, возможно, больше не являются указателями на физическую область памяти. Программы Windows Mobile, использующие эту деталь реализации в версиях 6.x, будут давать сбой при переходе на следующую версию Windows Mobile.

Mobile Device Manager (MDM) является возможным решением авторизации, отслеживания и сбора журналов с мобильных устройств при использовании инфраструктуры Active Directory. Как и в случае с использованием Windows Mobile 6.1 на управляемых устройствах, для полноценного функционирования MDM на сервере должен быть установлен ряд других продуктов, включая:

Windows Mobile 6.1 на устройствах

Windows Server Update Service (WSUS) 3.0

Windows Mobile Device Management Server

Enrollment Server

Gateway Server

Active Directory как часть Windows Server

SQL Server 2005 или последующие версии

Microsoft Certificate Authority

Internet Information Server (IIS) 6.0

.NET Framework 2.0 или последующие версии

Windows Embedded

При выборе технологии Windows Embedded руководствуйтесь следующими рекомендациями:

При проектировании ПО для ресивера цифрового телевидения или других мощных устройств используйте Windows Embedded Standard.

При проектировании ПО для POS-терминала (устройства пункта обслуживания), такого как банкомат (ATM, терминалы для работы с клиентами или системы кассового самообслуживания) используйте Windows Embedded for Point of Service.

При проектировании ПО для устройства с поддержкой GPS или устройства с возможностями навигации, используйте Microsoft Windows Embedded NavReady™.

Обратите внимание, что Windows Embedded NavReady 2009 встроена в Windows Mobile 5.0, тогда как в последних версиях Windows Mobile Standard и Professional

используется Windows Mobile версия 6.1. Если целью является создание общего кода для NavReady и других устройств, работающих под управлением Windows Mobile, убедитесь, что используете API, доступные на обеих платформах.

Вопросы развертывания

Существует множество разных методов развертывания мобильных приложений. Продумывая стратегию развертывания, учитывайте требования пользователей, а также то, как будет обслуживаться приложение. Убедитесь, что обеспечиваете соответствующее управление, администрирование и безопасность развертывания приложения. Рассмотрим возможные сценарии развертывания приложений для устройств, работающих под управлением Windows Mobile (первыми указаны наиболее часто используемые):

Технология Microsoft Exchange ActiveSync® с использованием файла Windows Installer (MSI).

По беспроводному соединению с использованием HTTP, SMS или CAB-файлов для обеспечения функциональности установки и запуска.

С применением Mobile Device Manager, использующим Active Directory для загрузки из файла CAB или MSI.

Постзагрузка и автоматический запуск, в этом случае специальный пакет компании загружается как часть операционной системы.

Загрузка с сайта, вручную с использованием SD-карты.

При проектировании стратегии развертывания руководствуйтесь следующими рекомендациями:

Если требуется предоставить пользователям возможность устанавливать и обновлять приложения удаленно, находясь вне офиса, предусмотрите развертывание по беспроводному соединению.

При использовании распределения для множества устройств с помощью CAB-файла включите в CAB-файл исполняемые файлы для множества устройств. Обеспечьте выявление необходимого исполняемого файла устройством и удаление всех остальных исполняемых файлов.

Если приложение широко использует возможности компьютера, применяйте для его развертывания ActiveSync.

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

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

Более подробно шаблоны и сценарии развертывания рассматриваются в главе 19, «Физические уровни и развертывание».

Шаблоны проектирования

Основные шаблоны проектирования организованы по категориям, таким как Кэширование, Сетевое взаимодействие, Доступ к данным, Синхронизация и UI, и представлены в следующей таблице. Рассмотрите возможности применения этих шаблонов при принятии проектных решений для каждой из категорий.

 

Категория

 

 

Шаблоны

 

 

 

 

 

 

 

 

 

 

 

Кэширование

 

 

Lazy Acquisition (Отложенное получение). Максимально долго откладывает

 

 

 

 

 

получение ресурсов для оптимизации использования ресурсов устройства.

 

 

 

 

 

 

Сетевое

 

 

Active Object (Активный объект). Поддерживает асинхронную обработку путем

 

взаимодействия

 

 

инкапсуляции запроса сервиса и ответа по завершении выполнения сервиса.

 

 

 

 

 

Communicator (Коммуникатор). Инкапсулирует внутренние детали взаимодействия

 

 

 

 

 

в отдельном компоненте, который может обмениваться данными по разным

 

 

 

 

 

каналам.

 

 

 

 

 

Entity Translator. Объект, преобразующий типы данных сообщения в бизнес-типы

 

 

 

 

 

для запросов и выполняющий обратные преобразования для ответов.

 

 

 

 

 

 

 

Соседние файлы в папке ООП