18+
реклама
18+
Бургер менюБургер меню

Владимир Волков – Программирование для карманных компьютеров (страница 3)

18

Блок JScript 5.5 отвечает за поддержку одноименного скриптового языка общего назначения. Организация доступа к Active Directory Service реализована при помощи технологии Lightweight Directory Access Protocol (LDAP). Блок Multilingual User Interface (MUI) отвечает за многоязычный интерфейс пользователя. Он позволяет создавать приложения, которые могут переключать свой интерфейс с одного языка на другой. Очередь сообщений Message Queuing (MSMQ) позволяет приложениям обмениваться сообщениями в распределенных сетях. При помощи блока Network User Interface (NetUI) производится определение конфигурации сетевых и модемных подключений. В API Object Exchange Protocol (OBEX) входит набор функций, позволяющий устройствам обмениваться данными в упрощенном порядке через IrDA или Bluetooth.

Набор интерфейсов для работы с хранилищем данных и реестром содержит в себе дополнительные функциональные блоки. В блоке Database реализована работа со встроенной базой данных Windows CE, представляющей собой легкую файловую базу данных. Она позволяет использовать элементарную функциональность по созданию, хранению, сортировке и доступу к полям записей. Блок File I/0 содержит набор функций и процедур доступа к файлам и каталогам, а также методы для их создания, удаления и переименования. API File Mapping позволяет связывать виртуальное адресное пространство процесса с определенной частью файла или целым файлом, давая возможность процессу получить доступ к содержимому файла через указатели, а также позволяя разделять доступ к файлу между несколькими процессами.

При помощи File System Driver (FSD) файловая структура хранилища данных (например, карты памяти) встраивается в общую структуру файловой системы устройства. В API Registry содержится набор функций для работы с реестром. Информационная модель Pocket Outlook Object Model (POOM) позволяет использовать интерфейсы Pocket Outlook для организации пользовательской информации, которая имеет сходную структуру. Разработчик может использовать эту модель для хранения информации об адресх, контактах и расписании пользователя. API Windows Networking API/Redirector обеспечивает доступ к файловой системе на удаленном компьютере. Блок Virtual Private Networking позволяет объединять Pocket PC и настольный компьютер в единую сеть, а блок Waveform Audio отвечает за воспроизведение звуков. Поддержка протоколов HTTP и FTP и высокоуровневые функции работы с WinSock реализуются при помощи API Windows Internet Services (WinInet), в то время, как API Windows Sockets предоставляет доступ к разнообразным сетевым транспортным протоколам.

Легко заметить, что Windows CE с точки зрения богатства интерфейсов программирования мало в чем отличается от настольного компьютера. Можно сказать, что, программируя для Pocket PC, вы будете работать практически со всеми интерфейсами, с которыми можно работать, создавая приложения для полноценной операционной системы Windows. Разница состоит лишь в том, что количество функций, макросов, COM-интерфейсов и структур в Windows CE меньше, чем в полновесной операционной системе. Это и понятно. Какие-то функции оказались лишними из-за разницы в наборе управляющих компонентов компьютера, а другими пришлось пожертвовать для того, чтобы обеспечить работу операционной системы и приложений в оперативной памяти размером 32 Мбайта.

На самом деле разработчики Microsoft проделали большую работу, создавая Windows CE и заставляя ее работать в условиях ограниченных ресурсов. Невольно закрадывается мысль о том, что если бы такая же работа была проделана с десктопными и серверными моделями, то нам долго не пришлось бы беспокоиться об апгрейте наших компьютеров.

Инструменты программирования для Pocket PC

Компания Microsoft предлагает разработчикам приложений для Pocket PC множество разных инструментов, полностью покрывающих все потребности в создании приложений самого разного назначения, размера и функциональности. В этом разделе будут кратко описаны средства разработки и их предназначение. Естественно, основным источником сведений в этом случае будет сайт Microsoft, в частности опубликованная там в мае 2005 года статья Introduction to Development Tools for Windows Mobile-based Devices.

Мы обсудим следующие инструменты программирования:

♦ eMbedded Visual Tools 3.0;

♦ eMbedded Visual C++ 4.0;

♦ Visual Studio.NET 2003;

♦ Visual Studio.NET 2005.

eMbedded Visual Tools 3.0 и Pocket PC 2002 SDK

Этот набор инструментов включает в себя четыре составные части:

♦ eMbedded Visual Basic;

♦ eMbedded Visual C++ 3.0;

♦ Pocket PC 2002 SDK;

♦ Smartfone 2002 SDK.

Все четыре части устанавливаются из одного установочного файла.

В этой среде вы можете создавать приложения, которые будут работать на Pocket PC 2002, Pocket PC 2003 и Pocket PC 2003 SE, то есть приложения для наиболее распространенных сегодня платформ.

Несмотря на то, что Microsoft настоятельно рекомендует отказаться от этого инструмента, я считаю, что он отлично подходит для тех, кто хочет освоить программирование для Pocket PC. Преимущества среды eVB заключаются в быстроте и легкости освоения как языка, так и среды разработки, в огромном количестве примеров кода и приложений в Интернете, в простоте и понятности кода. К недостаткам можно отнести лишь ограниченное число встроенных элементов управления, медлительность приложений, вызванная интерпретирующей природой языка, необходимость иметь на устройстве run-time библиотеку, и некоторую ограниченность применения. Например, в этой среде нельзя создавать компоненты ActiveX.

Среда разработки eVB дает возможность быстро создавать приложения с несколькими экранными формами, которые позволяют работать чаще всего с текстовой информацией. Это могут быть всякого рода тестировщики знаний, маленькие обучающие программы, записные книжки или игры, к которым можно отнести шашки и логические головоломки.

Приложения, созданные в eVC 3.0, получают полный доступ ко всей функциональности Pocket PC 2002 и будут работать на Pocket PC 2003 и Pocket PC 2003 SE, если написаны с использованием только документированных функций API.

Приложения, написанные на eVC 3.0, выполняются гораздо быстрее, чем приложения, написанные на eVB. При помощи eVC разработчик практически не ограничен в своих возможностях. Можно создавать приложения, которые компилируются в «родной» код устройства, динамически загружаемые библиотеки и компоненты ActiveX. Среда eVC позволяет использовать легкую интеграцию с COM и WinAPI, а библиотека MFC предоставляет в распоряжение разработчика шаблоны для создания сложных приложений с функциональностью, которая в eVB была просто недоступна. Но за все надо платить, и сложные многофункциональные приложения потребуют много сил на изучение среды, языка, детального знакомства с вызовами API и внимательного отслеживания правильности использования памяти вашими программами. Это важно и для «большого» компьютера, но на Pocket PC с его ограниченными ресурсами утечки памяти могут иметь весьма плачевные последствия.

eMbedded Visual C++ 4.0 и Pocket PC 2003 SDK

Пакеты eVC 4.0 и Pocket PC 2003 SDK поставляются как два отдельных комплекта установки. При этом, если вы хотите разрабатывать полноценные приложения для Pocket PC 2003, то вам надо будет еще установить и Service Pack 2. Если же вы собираетесь использовать eVC 4.0 для разработки приложений для Pocket PC 2003 SE c поддержкой VGA-экрана разрешением в 192 dpi и возможностью поворота ориентации экрана с книжной на альбомную, то необходимо установить Service Pack 4, дополнительные образы для эмулятора и загрузить с сайта Microsoft пакеты Mobile Application Development Toolkit и Developer Resources for Windows Mobile 2003 Second Edition. Ссылки на загрузку всех дополнительных ресурсов можно найти в нижней части той же страницы на сайте Microsoft, с которой будет производиться загрузка eVC 4.0.

Все, что было сказано о eVC 3.0, остается верным и для eVC 4.0, с той лишь разницей, что разработчик получает возможность создавать полнофункциональные приложения для Pocket PC 2003 и Pocket PC 2003 SE. При этом eMbedded Visual Basic был исключен из числа инструментов разработки для Pocket PC 2003, как утверждает Microsoft, «по многочисленным просьбам трудящихся». Однако у меня есть подозрение, что просто надо было освободить место на устройстве для среды исполнения. NET CF, поэтому и была удалена библиотека run-time для Visual Basic.

Visual Studio.NET 2003

Как уже было сказано ранее, пакет разработки Visual Studio.NET 2003 нельзя загрузить с сайта компании Microsoft. Однако именно эту среду компания Microsoft в свое время позиционировала, как один из основных инструментов разработки для Pocket PC 2003. В этой среде разработчик может использовать языки Visual Basic.NET и C#. На обоих языках можно создавать приложения только для исполнения в среде. NET Compact Framework.

Работать с обоими этими языками – одно удовольствие. За счет введения общих стандартов языки стали похожи друг на друга, а также на Pacsal и Java одновременно. Visual Basic стал полностью объектно-ориентированным, что добавляет ему функциональности, а программам придает стройность и структурированность. Большинство приложений общего назначения в Visual Studio.NET 2003 удобно создавать и отлаживать. Собственно говоря, для этого Visual Studio.NET 2003 и создавалась. Если же вам надо создавать приложения, которые выполняют очень интенсивные видеооперации или ведут интенсивные расчеты, тогда вам придется выбрать eVC.