РџСЂРё помощи 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.
Все четыре части устанавливаются из одного установочного файла.
eMbedded Visual Basic
В этой среде вы можете создавать приложения, которые будут работать на Pocket PC 2002, Pocket PC 2003 и Pocket PC 2003 SE, то есть приложения для наиболее распространенных сегодня платформ.
Несмотря РЅР° то, что Microsoft настоятельно рекомендует отказаться РѕС‚ этого инструмента, СЏ считаю, что РѕРЅ отлично РїРѕРґС…РѕРґРёС‚ для тех, кто хочет освоить программирование для Pocket PC. Преимущества среды eVB заключаются РІ быстроте Рё легкости освоения как языка, так Рё среды разработки, РІ РѕРіСЂРѕРјРЅРѕРј количестве примеров РєРѕРґР° Рё приложений РІ Рнтернете, РІ простоте Рё понятности РєРѕРґР°. Рљ недостаткам можно отнести лишь ограниченное число встроенных элементов управления, медлительность приложений, вызванная интерпретирующей РїСЂРёСЂРѕРґРѕР№ языка, необходимость иметь РЅР° устройстве run-time библиотеку, Рё некоторую ограниченность применения. Например, РІ этой среде нельзя создавать компоненты ActiveX.
Среда разработки eVB дает возможность быстро создавать приложения СЃ несколькими экранными формами, которые позволяют работать чаще всего СЃ текстовой информацией. Рто РјРѕРіСѓС‚ быть РІСЃСЏРєРѕРіРѕ СЂРѕРґР° тестировщики знаний, маленькие обучающие программы, записные книжки или РёРіСЂС‹, Рє которым можно отнести шашки Рё логические головоломки.
eMbedded Visual C++ 3.0
Приложения, созданные в 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 СЃ его ограниченными ресурсами утечки памяти РјРѕРіСѓС‚ иметь весьма плачевные последствия.