Чтение онлайн

на главную - закладки

Жанры

Программирование мобильных устройств на платформе .NET Compact Framework

Салмре Иво

Шрифт:

■ Поддержка безопасности объектов. Наконец, управляемый код может расширить возможности политик безопасности, используемых на устройстве. Среды выполнения управляемого кода с развитой поддержкой средств безопасности могут установить политику, определяющую, какие именно полномочия предоставляются тем или иным разновидностям кода. Такой подход часто называют обеспечением безопасности путем явной проверки полномочий. Примерами политик безопасности подобного рода могут служить следующие: "Код, подписанный заслуживающей доверия третьей стороной, может выполняться без каких-либо ограничений", "Код, присутствующий в локальной файловой системе, может получать доступ к файлам, находящимся в указанном наборе папок" или "Загруженный из Internet код, не снабженный подписью заслуживающей доверия третьей стороны, имеет минимальные права доступа без возможности выполнения типовых операций файлового ввода-вывода". В разных средах выполнения поддержка средств безопасности различна; так, поддержка средств безопасности платформой J2ME отличается от той, которая обеспечивается платформой .NET Compact Framework v1.1. Политики безопасности, поддерживаемые платформой .NET Compact Framework v1.1, являются подмножеством политик безопасности, поддерживаемых платформой .NET Framework.

Двумя наиболее распространенными средами выполнения управляемого кода на мобильных устройствах являются J2ME (Java Mobile Edition) и .NET Compact Framework. В данной книге для иллюстрации принципов разработки программного обеспечения для мобильных устройств используется платформа .NET Compact Framework, хотя большинство обсуждаемых положений справедливы по отношению к любым разновидностям методов разработки мобильных программ, включая разработку программ с использованием собственных кодов

Преимущества управляемого кода трудно переоценить. Руководствуйтесь следующим общим правилом: если имеется хоть малейшая возможность использовать для разработки проекта управляемый код, воспользуйтесь ею. Благодаря этому значительно сократятся сроки разработки кода и количество ошибок в нем, облегчится перенос кода на новые устройства, повысятся его безопасность и устойчивость, а сопровождать его будет гораздо легче, чем аналогичный собственный код. Разрабатывать приложения с использованием собственных кодов имеет смысл лишь тогда, когда это диктуется соображениями производительности или необходимостью получения низкоуровневого доступа к устройствам. Но и в этих случаях лучше всего написать на собственном коде лишь небольшие критические участки программы, а во всей остальной ее части использовать высокоуровневый управляемый код. Как будет показано далее в этой книге, использование проверенных методов проектирования мобильного программного обеспечения в сочетании с управляемой средой времени выполнения, поддерживающей JIT-компиляцию, приводит к тому, что необходимость в привлечении собственных кодов возникает лишь в редких случаях. Возможностей управляемого кода чаще всего будет вполне достаточно даже для создания динамичных игр с высокой долей анимации. Преимущества высокоуровневых абстракций управляемого кода невозможно оспаривать. Пару десятков лет тому назад программисты переходили при разработке программ от языка ассемблера к языку С, оставляя ассемблерный код лишь для решения узкоспециальных или критических задач. Такой переход на более высокий уровень абстракции позволил разрабатывать намного более сложные приложения, отличающиеся повышенной надежностью, в гораздо более короткие сроки. В настоящее время совершается аналогичный переход от собственных кодов C/C++ к средам с управляемым кодом.

.NET Compact Framework — среда выполнения управляемого кода для устройств

Поскольку для иллюстрации рекомендуемых методов разработки программного обеспечения для мобильных устройств в этой книге используется платформа .NET Compact Framework, целесообразно привести в данной вводной главе высокоуровневый обзор этой платформы. Подробному описанию того, как работает .NET Compact Framework и какие методы управления памятью, компиляции кодов и сборки мусора она обеспечивает, посвящена следующая глава. Разработчики, остановившие свой выбор на других моделях программирования для мобильных устройств, обнаружат, что многие понятия имеют одинаковый смысл во всех моделях.

Платформа .NET Compact Framework состоит из двух основных частей:

1) основного исполнительного механизма;

2) широкого набора библиотек управляемых классов. 

Основной исполнительный механизм

Основной исполнительный механизм .NET Compact Framework реализован на собственном коде. Его задачей является загрузка управляемого кода, компиляция, запуск и выполнение всех задач, связанных с обеспечением выполнения управляемого кода. Платформа .NET Compact Framework перенесена на несколько различных семейств процессоров, включая х86, StrongARM, SH3, MIPS и другие. 

Плавающая запятая: что собой представляет число?

Исполнительный механизм .NET Compact Framework и библиотеки времени выполнения имеют встроенную поддержку операций с плавающей запятой. Это следует особо подчеркнуть, так как не каждая среда выполнения мобильных устройств может похвастаться этим. Понимание этого играет очень важную роль, если до того, как приступить к работе с мобильными устройствами, вы занимались разработкой программ для настольных компьютеров или серверов.

Например, для Java J2ME CLDC (Common Limited Device Configuration) версии 1.0 поддержка операций с плавающей запятой не требуется, чего нельзя сказать о версии J2ME CLDC 1.1. Java MIDP 2.0 (Mobile Information Device Profile) требует только поддержки CLDC 1.0. Если вы ориентируетесь на мобильные устройства со средой выполнения J2ME, выясните, какую версию CLDC поддерживает эта среда.

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

Определяя требования к среде выполнения своего мобильного приложения, обратите особое внимание на наличие поддержки математических функций, причем не только тех, которые предназначены для выполнения операций с плавающей точкой, но и тех, которые используются для обработки величин, представляющих валюту, дату и время. Нелишне также удостовериться в том, что обеспечивается поддержка и таких более сложных библиотечных функций, как тригонометрические и экспоненциальные функции. В .NET Compact Framework все эти средства поддерживаются.

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

Библиотеки классов

Ниже перечислены API-интерфейсы, используемые разработчиками при создании приложений. Эти API-интерфейсы можно разбить на следующие четыре логические категории:

1. Библиотеки базовых классов. Эти классы являются основой основ программирования. Поддержка строк, массивов, коллекций, файловых операций ввода-вывода, потоков, сетей и многих других вещей, которые вам всегда хотелось бы иметь под рукой при написании кодов, — все это содержится в библиотеках базовых классов.

2. Рисунки/формы. Библиотеки инструментов рисования и создания форм обеспечивают поддержку создания двумерных рисунков и богатого набора всевозможных форм и элементов управления, которые вы будете использовать при построении пользовательских интерфейсов.

3. Доступ к данным. Библиотеки доступа к данным предлагают модель реляционных таблиц, функционирующих в памяти, которая носит название ADO.NET и предназначена для работы с данными, созданными в памяти, загруженными из XML-документов или запрошенными из базы данных.

4. XML и Web-службы. В библиотеках этой категории содержатся средства, необходимые для работы с XML-документами и вызова Web-служб для обмена информацией между устройствами и серверами посредством XML и протокола SOAP. 

Переносимость

Исполнительный механизм .NET Compact Framework и библиотеки классов проектировались таким образом, чтобы их можно было сравнительно легко переносить на устройства различных типов, работающие под управлением различных операционных систем. Одними из первых целевых устройств были те, которые работали под управлением операционных систем Windows СЕ 4.1, Pocket PC 2000/2002/2003 и выше, а также Microsoft Smartphone. В будущем возможна поддержка и других платформ, не относящихся к семейству платформ Windows.

Следует также отметить, что поскольку платформа .NET Compact Framework создавалась поверх стандартов ЕСМА и ISO для инфраструктуры общего языка (Common Language Infrastructure — CLI), то вполне возможно, что другие организации разработают собственные варианты реализации CLI для языков С# и VB.NET, ориентированные на различные типы устройств. В этих реализациях библиотеки базовых классов, вероятнее всего, останутся теми же, но высокоуровневые библиотеки в них могут быть другими. В настоящее время существует, по крайней мере, две реализации CLI от независимых производителей, предназначенные для настольных компьютеров и серверов.

Поделиться:
Популярные книги

Запечатанный во тьме. Том 1. Тысячи лет кача

NikL
1. Хроники Арнея
Фантастика:
уся
эпическая фантастика
фэнтези
5.00
рейтинг книги
Запечатанный во тьме. Том 1. Тысячи лет кача

Глэрд VIII: Базис 2

Владимиров Денис
8. Глэрд
Фантастика:
фэнтези
боевая фантастика
попаданцы
5.00
рейтинг книги
Глэрд VIII: Базис 2

Афганский рубеж 3

Дорин Михаил
3. Рубеж
Фантастика:
попаданцы
альтернативная история
6.00
рейтинг книги
Афганский рубеж 3

Маленькая женщина Большого

Зайцева Мария
5. Наша
Любовные романы:
эро литература
современные любовные романы
5.00
рейтинг книги
Маленькая женщина Большого

Воронцов. Перезагрузка. Книга 5

Тарасов Ник
5. Воронцов. Перезагрузка
Фантастика:
попаданцы
альтернативная история
фэнтези
фантастика: прочее
6.00
рейтинг книги
Воронцов. Перезагрузка. Книга 5

Кодекс Охотника. Книга ХХ

Винокуров Юрий
20. Кодекс Охотника
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Кодекс Охотника. Книга ХХ

Камень Книга двенадцатая

Минин Станислав
12. Камень
Фантастика:
боевая фантастика
городское фэнтези
аниме
фэнтези
5.00
рейтинг книги
Камень Книга двенадцатая

Клан

Русич Антон
2. Долгий путь домой
Фантастика:
боевая фантастика
космическая фантастика
5.60
рейтинг книги
Клан

Бояръ-Аниме. Газлайтер. Том 30

Володин Григорий Григорьевич
30. История Телепата
Фантастика:
альтернативная история
аниме
фэнтези
5.00
рейтинг книги
Бояръ-Аниме. Газлайтер. Том 30

Сирийский рубеж

Дорин Михаил
5. Рубеж
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Сирийский рубеж

Кодекс Охотника. Книга XXV

Винокуров Юрий
25. Кодекс Охотника
Фантастика:
фэнтези
попаданцы
аниме
6.25
рейтинг книги
Кодекс Охотника. Книга XXV

Кодекс Охотника. Книга XXI

Винокуров Юрий
21. Кодекс Охотника
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Кодекс Охотника. Книга XXI

Здравствуй, 1985-й

Иванов Дмитрий
2. Девяностые
Фантастика:
альтернативная история
5.25
рейтинг книги
Здравствуй, 1985-й

Приказано выжить!

Малыгин Владимир
1. Другая Русь
Фантастика:
боевая фантастика
попаданцы
альтернативная история
7.09
рейтинг книги
Приказано выжить!