ИД "Мой компьютер"   "Игроград"   "Реальность фантастики"   Ассамблея "Портал"
Сделать стартовой   

 
Домашняя страница
Расширенный поиск
E-mail

 

N 16 (447)




МОЙ КОМПЬЮТЕР




  Новости:

 
МК
Украина
Игры
Интернет
Железо
Софт
Пресс-релизы

  Статьи:

 
Уголок читателя
Прочее
Имеющий уши
Программирование
Интернет
Железо
Софт
Игры


 
КОНКУРСЫ



Правила конкурсов

Конкурс "АВЧ"

Рейтинг победителей


ОПРОС

Вы посещаете нас:
первый раз
1-2 раза в месяц
1-2 раза в неделю
1-2 раза в день
более 2-х раз в день Что привело Вас к нам?
поиск информации
интерес к статьям
интерес к новостям
любопытство
реклама
другое








боулинг

ads.mycomputer.ua

ads.mycomputer.ua

ads.mycomputer.ua

ads.mycomputer.ua

ads.mycomputer.ua













Argumentum ad ignorantiam!

 

статьи
Программирование



 

Прочее  
Visual basic  
Delphi  
C++  
Интернет приложения  
Теория  




    Прочее


Карманное программирование

Сергей ЖУК
N 52 (431) 22.12.2006


С каждым годом становится все больше счастливых владельцев такого чуда техники как карманный компьютер. Если вы один из них или планируете им стать, то вас наверняка посещали мысли о том, как же создаются программы для КПК. На самом деле программирование наладонников — дело не такое уж и сложное. Особенно если речь идет о семействе устройств под управлением Windows Mobile (иногда их называют Pocket PC). О разработке программ для этих устройств и пойдет речь в статье. Все, что потребуется от вас — минимальный опыт работы в среде Visual Studio.NET и знакомство с технологиями .NET Framework.

Немного истории…

Первопроходцем в мире мобильных компьютеров по праву можно считать компанию Apple, представившую в 1993 году КПК Newton. Но массовыми наладонные компьютеры стали лишь во второй половине 90–х. Тогда «яблочников» уже вытолкнули из этого сегмента рынка, и пальма первенства по праву перешла к компании Palm с ее операционной системой PalmOS. В то время Microsoft только начала продвигать устройства со своей ОС Windows CE. Они были весьма нестабильными в работе, и первые коммерческие версии продолжали носить маркировку «beta». Вообще, далеко не каждый мог себе позволить электронную записную книжку с весьма ограниченными аппаратными мощностями, бедным набором программ и скромными коммуникационными возможностями. Девайсы были скорее имиджевыми.

Однако в 2002 году Microsoft сделала огромный рывок вперед, выпустив новую операционную систему для КПК — Windows Mobile. Palm, разумеется, тоже не хотела сдавать позиции… В результате карманные компьютеры стали доступными и по-настоящему нужными для широкого круга пользователей. Не сидели сложа руки разработчики софта всех видов и направлений, ведь, как известно, в наши дни лидерство на рынке во многом определяется спектром программ для мобильного устройства, поэтому компании-конкуренты Palm и Microsoft изо всех сил старались переманить программистов на свою сторону.

Раньше программирование наладонников было делом довольно непростым. Обе противоборствующие стороны, и Microsoft, и Palm, предлагали специализированные наборы программ. Основными средами разработки приложений для Palm были Metrowerks CodeWarrior (мощнейший инструмент, но и стоит недешево) и PRC-Tools (бесплатная, состоит из набора утилит и работает из командной строки), предназначенные для работы на С++, на сегодняшний день сюда же добавился пакет Palm OS Developer Suite. Microsoft предлагала eVC (не требует дополнительных библиотек, по сей день остается мощным средством в руках профессионалов, выпускаются новые версии) — для программирования на С++, и eVB (характерна нестабильность и низкая скорость работы созданных приложений, больше не поддерживается) — для программирования на одной из разновидностей Visual Basic. Даже имея опыт программирования на этих языках, не прочитав солидного объема документации, разобраться было очень сложно.

В 2003 году увидела свет версия пакета программ Microsoft Visual Studio .NET (VS.NET), в комплект которой входят новые средства разработки программного обеспечения для КПК с операционной системой Windows Mobile — Smart Device Extensions (SDE). Помимо карманных компьютеров, поддерживается разработка приложений для коммуникаторов и смартфонов. Для программирования мобильных устройств под управлением семейства ОС от Microsoft стали доступны языки Visual Basic .NET (с точки зрения архитектуры имеет очень мало общего с eVB) и C#. Именно в VS.NET 2003 (или 2005, она тоже подойдет) мы и будем работать. Обратите внимание, что программирование для карманных компьютеров не поддерживается в Visual Basic .NET 2003 Standard и серии Visual Studio .NET 2005 Express.

Следует обратить внимание, что среда Visual Studio позволяет отлаживать на настольном компьютере приложения, рассчитанные на мобильные устройства, используя программный эмулятор или отладку во время выполнения на устройстве. К тому же для разработчиков стали доступны те же инструменты и библиотеки классов, которыми они пользовались при создании приложений для «больших» компьютеров. Много интересного несет в себе и технология .NET Framework — без преувеличений, это огромный прыжок вперед. В среде VS.NET именно на платформе .NET и базируется создание как настольных, так и мобильных программ.

.NET Compact Framework

Несмотря на стремительное развитие мобильных технологий, КПК не поддерживают все возможности, которые заложены в их настольных родственниках. Поэтому для них создана «компактная» версия .NET Framework — .NET Compact Framework (.NET CF).

Технологии .NET CF поддерживают практически все типы микропроцессоров карманных компьютеров. В отличие от настольных систем, где архитектура процессоров очень схожая и приложения практически полностью совместимы с любыми их типами, в КПК применяются процессоры, принципиально отличные. Так что нет ничего удивительного в том, что в архиве с программой для Windows Mobile, скачанной вами из Интернета, можно обнаружить установочные файлы для разных типов CPU — MIPS, ARM, ARMV4 и т.д. Для каждого процессора — своя программа. Но разработчик писал одну-единственную программу, а компилятор уже сам оптимизировал ее под разные КПК. Мы позже еще вернемся к этой теме.

.NET Compact Framework создавалась для работы как на мобильных, так и на встраиваемых устройствах. Определенно, политику Microsoft можно смело назвать дальновидной, ведь .NET CF может быть портирована и на другие операционные системы. Вряд ли в ближайшем будущем нам предстоит увидеть PalmOS с работающей .NET CF на борту, но вот в новых мобильных разработках редмондского гиганта поддержка .NET будет наверняка. Более того, южноафриканская компания RedFiveLabs занимается портированием .NET CF на платформу Series 60.

При установке .NET Compact Framework 1.0 на КПК требуется примерно 1.5 Мб дискового пространства (общий размер файлов — 2.0 Мб, но в файловой системе, используемой на КПК, существуют специальные алгоритмы сжатия, что сокращает общий размер файлов примерно до 1.5 Мб). При запуске программы на устройстве загружается CLR (Common Language Runtime — общеязыковая исполняющая среда, как и в .NET Framework) и код приложения, так что для его работы потребуется как минимум 1 Мб.

В .NET CF поддерживается тот же механизм доступа к Win32 API, что и в .NET Framework. Для библиотек Windows Mobile главной кодировкой является Unicode. В табл. 1 приводятся размеры (в килобайтах) основных пространств имен, используемых в .NET Compact Framework 1.0.

Таблица 1.

Следует обратить внимание, что на большинство пространств имен наложены серьезные ограничения. В каждом классе только наиболее важные функции не претерпели изменений и уменьшений. Портативность требует жертв. Но забегая вперед, замечу, что почти все ограничения, наложенные на .NET CF, можно легко обойти, используя специальные библиотеки от сторонних разработчиков, которые могут существенно упростить вам написание программ и расширить их возможности. Огромные возможности для работы с базами данных предлагает SQL Server Mobile Edition, но его тоже нужно устанавливать отдельно.

На сегодняшний день существует несколько версий .NET Compact Framework. В табл. 2 приводится совместимость разных версий CF с разными операционными системами Microsoft для мобильных компьютеров.

На сегодняшний день самыми распространенными остаются устройства с ОС Windows Mobile 2003, хотя WM 5.0 уже наступает на пятки. Как видим из таблицы, наиболее универсальной версией .NET CF пока что является 1.х (самая свежая — 1.0 SP3). Серьезные проблемы возникли у Microsoft с внедрением .NET CF 2.0. Дело в том, что по умолчанию в поставку Windows Mobile 5.0 включена первая версия фреймворка, но производитель по желанию может включить .NET Compact Framework второй версии вместо первой.

По сравнению с версией 1.0, среда .NET Compact Framework 2.0 демонстрирует более высокую производительность. В состав .NET CF 2.0 входят специальные средства для работы с графикой, в том числе поддержка DirectX. В нее также добавлен ряд новых элементов управления пользовательским интерфейсом, добавлена поддержка технологий IPv6, SOAP 1.2, WS–Security, XPath, поддерживается разработка COM-объектов и т.д. И хотя версия 2.0 несет в себе немало инноваций, сначала не мешало бы разобраться, нужны ли они конкретно в вашей программе, сто[ударение!!]ят ли они того, чтобы конечный пользователь вашей программы тратил свое драгоценное время и свободное место в памяти своего устройства, чтобы установить эти дополнительные библиотеки.

Согласно документации, .NET CF 2.x содержит в себе первую версию, и по уверениям MSDN, программы, написанные на .NET CF 1.x, должны работать нормально. Но тщательно протестировать стабильность работы все же следует. Учитывая новизну этих технологий, перестраховаться лишним не будет.

Наши первые программы мы будем создавать в среде Visual Studio .NET 2003 с использованием библиотек .NET Compact Framework 1.0 SP3. Пока что эта пара — самая универсальная и обеспечивает максимальную совместимость.

Ну вот и подошло к концу краткое введение в программирование с использованием .NET Compact Framework. Дальше будет еще интересней! Продолжение следует!







Расширенный поиск 
 

О проекте  Рекламодателям  Карта сайта  Контакт  Обратная связь 

© ИД "Мой компьютер"®, 1998-2004