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

Шрифт
Интервал

стр.

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

■ Поддержка безопасности объектов. Наконец, управляемый код может расширить возможности политик безопасности, используемых на устройстве. Среды выполнения управляемого кода с развитой поддержкой средств безопасности могут установить политику, определяющую, какие именно полномочия предоставляются тем или иным разновидностям кода. Такой подход часто называют обеспечением безопасности путем явной проверки полномочий. Примерами политик безопасности подобного рода могут служить следующие: "Код, подписанный заслуживающей доверия третьей стороной, может выполняться без каких-либо ограничений", "Код, присутствующий в локальной файловой системе, может получать доступ к файлам, находящимся в указанном наборе папок" или "Загруженный из 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++ к средам с управляемым кодом.


стр.

Похожие книги