52628.fb2 Программирование КПК и смартфонов на .NET Compact Framework - читать онлайн бесплатно полную версию книги . Страница 2

Программирование КПК и смартфонов на .NET Compact Framework - читать онлайн бесплатно полную версию книги . Страница 2

Глава 1Знакомство с .NET Compact Framework

Мобильные устройства

Мобильные устройства все активнее вторгаются в нашу жизнь. Все чаще можно встретить в метро молодых людей, увлеченно работающих с карманным компьютером. Я сам несколько раз был свидетелем того, что обладателями КПК были девушки. Это говорит о том, что данные устройства уже утратили статус дорогой игрушки технократов и рассматриваются как необходимое устройство, которое вскоре будет таким же доступным, как обычный сотовый телефон.

В последнее время на рынок активно выходят смартфоны под управлением операционной системы Windows Mobile 5.0. Пока в этом сегменте рынка прочные позиции удерживают смартфоны под управлением Symbian, производимые фирмами Nokia и Sony Ericsson. Но умение Microsoft завоевывать себе место под солнцем давно стало общеизвестным. Достаточно вспомнить противоборство браузеров Netscape и Internet Explorer, а также КПК Palm и PocketPC. Эта тенденция позволяет считать, что и «умные» телефоны под управлением Windows Mobile скоро потеснят своих конкурентов.

И в этой ситуации очень ярко проявляется преимущество изучения .NET Compact Framework. Если вы знакомы с программированием для .NET Framework, то вам не составит труда перейти к освоению особенностей программирования для КПК и мобильных телефонов под управлением Windows Mobile. Ведь писать программы придется в уже знакомой вам среде Visual Studio .NET. Более того, вам даже не обязательно иметь сам карманный компьютер или смартфон для проверки написанного кода, так как в Visual Studio .NET уже имеются эмуляторы для этих мобильных устройств.

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

В данной книге все примеры написаны на новых языках семейства .NET, таких как C# и Visual Basic .NET.

Общие сведения

Главная страница, посвященная .NET Compact Framework, находится по адресу http://msdn.microsoft.com/netframework/programming/netcf/default.aspx. Там можно найти все последние новости о рассматриваемой технологии, обновления программ, ссылки на другие полезные сайты, примеры.

Технология .NET Compact Framework поддерживается операционными системами Pocket PC 2000, Pocket PC 2002, Windows Mobile 2003, Windows Mobile 2005 и Windows CE .NET 4.1.

Конечно, технология .NET Compact Framework несколько отличается от .NET Framework. Подробную информацию о различиях между этими технологиями можно найти на странице по адресу msdn.microsoft.com/library/default.asp?url=/library/en-us/dv_evtuv/html/etconComparisonsWithNETFramework.asp. Считается, что .NET Compact Framework является частью полной библиотеки .NET Framework. Действительно, между двумя этими платформами очень много общего. Но все же говорить о .NET Compact Framework как о подмножестве полной .NET Framework не совсем корректно. Дело в том, что .NET Compact Framework поддерживает серию классов, которых нет в полной библиотеке классов. Эти классы созданы специально для мобильных устройств и позволяют поддерживать, например, программную клавиатуру, возможности инфракрасной связи и отправки SMS.

Библиотека .NET Compact Framework действительно компактна. Вместо 20 Мбайт полного пакета .NET Framework, устанавливаемого на настольные компьютеры, она занимает около 2 Мбайт. Полная версия .NET Framework содержит 18 700 классов и 80 000 методов, a NET Compact Framework — всего лишь 4 700 классов и 13 000 методов. Но следует помнить, что это лишь приблизительная оценка.

Развитие .NET Compact Framework

Поначалу .NET Compact Framework устанавливалась в карманные компьютеры Pocket PC отдельно. Это порождало определенные проблемы для разработчиков. Не каждый пользователь хотел устанавливать пакет .NET Compact Framework, необходимый для работы программы, когда оперативной памяти и так не хватает. Впервые библиотека .NET Compact Framework стала встраиваться в портативные устройства под управлением Windows Mobile 2003 (Pocket PC 2003). На борту компьютеров под управлением Windows Mobile Second Edition уже находился пакет .NET Compact Framework 1.0 SP2). По уверениям Microsoft, работа с ресурсами стала быстрее на 600%, работа с XML с помощью класса XMLTextReader стала быстрее на 40%, а работа с ADO.NET — на 20%. Естественно, с выходом библиотеки .NET Compact Framework 2.0 создатели снова стали говорить о повышении быстродействия и надежности. Но следует учитывать, что устройства с предустановленной библиотекой .NET Compact Framework 2.0 еще не выпускаются, и пользователь должен сам установить необходимый пакет. Возможно, когда книга выйдет из печати, в мире уже появятся устройства встроенной версией .NET Compact Framework 2.0.

Что нового в .NET Compact Framework 2.0

Список основных изменений в .NET Compact Framework 2.0 приведен на странице msdn.microsoft.com/netframework/programming/netcf/default.aspx?pull=/library/en-us/dnnetcomp/html/whats_new_netcf2.asp. К основным улучшениям библиотеки .NET Compact Framework 2.0 относятся усовершенствованные возможности создания пользовательского интерфейса, новая мобильная база данных, существенные усовершенствования эмулятора, усиленная поддержка COM Interop и Managed Interfaces для D3D. Библиотека .NET Compact Framework 2.0 расширила существующую функциональность в .NET CF 1.0 новыми возможностями. Также разработчики добавили поддержку новых классов, которые ранее были доступны только в полной .NET Framework. В этой книге обязательно будут рассмотрены наиболее значительные новинки. А сейчас можно лишь упомянуть основные моменты.

Пакет .NET Compact Framework 2.0 в Visual Studio 2005 стал поддерживать новые элементы управления, позволяющие создавать очень сложные приложения без написания громоздкого кода. В частности, появилась поддержка элементов управления MonthCalendar и DateTimePicker, позволяющих создавать интерфейс календаря. Также появился новый элемент для уведомлений Notification. Кроме него разработчики получили доступ к элементам DocumentList и HardwareButton. Более подробно они будут рассматриваться в главе, посвященной элементам управления. Новое свойство ScreenOrientation позволяет без использования неуправляемого кода вращать экран устройства. Кроме того, стало значительно проще создавать собственные элементы управления, как это делается в полной версии .NET Framework.

Элементы пользовательского интерфейса в .NET Compact Framework 2.0 теперь поддерживают присоединение (docking). При перемещении элемента управления к определенной стороне контейнера он всегда заполняет эту сторону контейнера.

Некоторые элементы управления стали поддерживать свойство AutoScaleMode. Свойство AutoScaleMode показывает, как нужно перерисовывать элемент при изменении разрешения экрана. Также формы стали поддерживать свойство AutoScroll.

Помимо этого класс Control теперь поддерживает методы SuspendLayout и ResumeLayout. Также в .NET Compact Framework появилась полноценная поддержка буфера обмена.

Класс Graphics тоже получил новые возможности, и теперь при помощи свойств DpiX и DpiY разработчик может узнать размеры экрана. Помимо этого сейчас можно отображать текст под различными углами при помощи класса LogFont. Также разработчик может создавать перья заданных цвета и размера.

Значительно улучшена работа с растровыми изображениями. Программисты получили новые возможности для создания изображений и сохранения их в файле или потоке. В приложениях стало проще манипулировать изображениями при помощи комбинации методов LockBits и UnlockBits в сочетании с новым классом BitmapData. Приложения, использующие при работе с изображениями неуправляемый код, теперь могут получать дескриптор объекта Bitmap через метод GetHbitmap.

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

Так как на рынке все чаще стали появляться устройства со встроенной клавиатурой, то в библиотеку .NET Compact Framework 2.0 была введена поддержка клавиатуры.

Также следует отметить, что элементы управления теперь распознают события KeyUp, KeyDown и KeyPress. Объект Form теперь имеет свойство KeyPreview.

Тестировать программы тоже стало намного проще, так как эмулятор в .NET Compact Framework 2.0 подвергся значительной переработке. Перечень функциональных возможностей эмуляторов Pocket PC и смартфонов был расширен, что облегчает создание, проверку и развертывание приложений. Особое внимание было уделено поддержке сетевого взаимодействия. Кроме того, было улучшено быстродействие эмулятора. Появилась поддержка программы ActiveSync, можно работать с общими папками и использовать четыре COM-порта. Также эмулятор стал поддерживать работу с портретным и альбомным режимами отображения. Кроме того, эмулятор теперь эмулирует работу ARM-процессора.

Технология Smart Device CAB Project упростила развертывание мобильных приложений. Эта технология позволяет использовать в визуальном редакторе перемещение файлов, создавать папки и записи в реестре. Теперь создавать CAB-проект для установочного пакета так же просто, как при создании проекта Windows Installer для настольных компьютеров.

Новый компилятор теперь создает еще лучший и более быстрый код. Если в предыдущей версии использовались два JIT-компилятора, то теперь .NET CF 2.0 применяет единый компилятор для всех поддерживаемых процессоров.

В области безопасности добавлена поддержка идентификации NTLM и Kerberos. Также улучшена работа с технологией XML, и в распоряжение программистов поступил новый класс XmlSerialization.

Намного удобнее стало разрабатывать дизайн форм в среде разработки Visual Studio .NET 2005. Процесс создания программы стал еще более наглядным. Программист может создавать собственные элементы управления так же, как и для обычных приложений.

Что нового в Visual Studio .NET 2005

Если у вас уже был опыт программирования под Visual Studio .NET 2003, то вы заметите, что на панели инструментов появились новые элементы управления. Они будут рассматриваться в главе, посвященной элементам управления. При разработке дизайна приложения будет заметно, как Windows Forms Designer помогает выравнивать элементы и предлагает выбрать минимальное расстояние между элементами. Автоматически проявляющиеся линии выравнивания помогают создавать аккуратные интерфейсы за очень короткий срок. Также появилась возможность разработки приложений, которые могут переключаться между портретным и альбомным режимами экрана.