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

на главную

Жанры

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

Салмре Иво

Шрифт:

Библиотеки классов, поставляемые в составе .NET Compact Framework версии 1.1, могут быть условно разбиты на пять логических блоков: 1) пользовательский интерфейс и поддержка графики, 2) поддержка XML, 3) поддержка клиентов Web-служб, 4) поддержка доступа к данным и всей связанной с этим функциональности, и 5) библиотеки базовых классов. Библиотеки базовых классов проектировались таким образом, чтобы разработчики приложений для настольных компьютеров чувствовали себя комфортно и уверенно при написании кодов для устройств; они должны найти здесь все средства, наличие которых могли ожидать. Сочетание указанных библиотек предоставляет разработчикам богатую палитру функциональных возможностей, которые позволяют создавать приложения коммерческого, производственного, научного и развлекательного

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

При создании приложений, предназначенных для выполнения в управляемых средах, особенно на мобильных устройствах, полезно иметь общее концептуальное представление о том, каким образом в таких средах осуществляется управление памятью и выполнением приложения. В .NET Compact Framework предлагается JIT-компиляция кода, а также освобождение памяти, используемой приложением, от "мусора". При нормальном выполнении приложения в очистке от "мусора" и периодическом уплотнении нуждается лишь память, занимаемая объектами. Если же необходимость в свободном пространстве возникает в условиях интенсивной загрузки памяти, то операции освобождения памяти и сборки мусора могут применяться также по отношению к JIT-компилированному коду. Аналогично тому, как в случае приложений, основанных на собственных кодах, возможно исчерпание памяти, серьезные проблемы, связанные с перерасходом памяти, могут возникать и в управляемых средах. Это происходит тогда, когда приложение исчерпывает всю доступную память в процессе размещения объектов. В подобных случаях производительность приложения резко падает, поскольку сборщик мусора постоянно пытается освобождать для вновь возникающих нужд память, острая нехватка которой становится все ощутимее. Если необходимую память распределить не удается, приложение завершается аварийно. Ситуаций, в которых возникает острая нехватка памяти, следует избегать, и в последующих главах книги значительная доля внимания будет уделена обсуждению того, как проектировать алгоритмы и создавать приложения, способные эффективно работать с такими ресурсами устройств, как память, освобождаемая в результате сборки мусора.

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

ГЛАВА 4

Как добиться успеха при разработке мобильных приложений

Из словаря Merriam-Webster

Основная запись: meth• od• ol• о• gy (методология)

Функция: существительное

Форма(ы) с окончаниями: мн.
gies

Этимология: нов. лат. methodologia, от лат. methodus + -logialogy

Дата: 1800

1: Совокупность методов, правил и допущений, используемых в определенной дисциплине: конкретная процедура или набор процедур.

2: Анализ принципов и процедур, применяемых при проведении исследований в определенной области.

(www.m-w.com, 2004)

Введение

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

Можно выделить два рода проблем, с которыми приходится сталкиваться

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

Что касается разработки приложений для настольных компьютеров и серверов, то за последние 10–15 лет в разрешении "временных" проблем в этой области был достигнут огромный прогресс.

Современные средства разработки несравненно более производительны по сравнению с теми, которые использовались какой-нибудь десяток лет тому назад. Это особенно справедливо по отношению к проектированию и отладке пользовательских интерфейсов. Аналогичные преобразования в настоящее время происходят и в области разработки программного обеспечения для мобильных устройств. Многие усовершенствования, касающиеся проектирования и отладки программ для настольных компьютеров и серверов, сейчас доступны и для мобильных устройств, что значительно упрощает выполнение этих видов работ и делает их доступными для более широкого круга разработчиков, чем несколько лет тому назад. Темпы разработки программ резко возросли. В результате этого значительно увеличилось число проектов, которые могут быть реально осуществлены (за некоторые из них при других условиях не имело бы смысла даже и браться). Благодаря достижениям в области средств и технологий программирования сейчас вполне осуществимы такие проекты мобильного программного обеспечения, реализация которых еще несколько лет тому назад была невозможной из-за их высокой сложности и стоимости.

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

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

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

Трудности постоянного и временного характера, с которыми приходится сталкиваться при разработке программного обеспечения

НА ЗАМЕТКУ

Данная тема великолепно исследуется и обсуждается в книге The Mythical Man Month (Мифический человеко-месяц) Фредерика Брукса (Frederick Brooks). Каждый, кто хочет получить солидную подготовку в области общей методологии разработки программного обеспечения, должен обязательно прочесть эту книгу.

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

Калибр Личности 1

Голд Джон
1. Калибр Личности
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Калибр Личности 1

Третий. Том 3

INDIGO
Вселенная EVE Online
Фантастика:
боевая фантастика
космическая фантастика
попаданцы
5.00
рейтинг книги
Третий. Том 3

Действуй, дядя Доктор!

Юнина Наталья
Любовные романы:
короткие любовные романы
6.83
рейтинг книги
Действуй, дядя Доктор!

Дарующая счастье

Рем Терин
Любовные романы:
любовно-фантастические романы
6.96
рейтинг книги
Дарующая счастье

Охота на эмиссара

Катрин Селина
1. Федерация Объединённых Миров
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Охота на эмиссара

Боги, пиво и дурак. Том 3

Горина Юлия Николаевна
3. Боги, пиво и дурак
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Боги, пиво и дурак. Том 3

Кровь и Пламя

Михайлов Дем Алексеевич
7. Изгой
Фантастика:
фэнтези
8.95
рейтинг книги
Кровь и Пламя

Идущий в тени 4

Амврелий Марк
4. Идущий в тени
Фантастика:
боевая фантастика
6.58
рейтинг книги
Идущий в тени 4

Сумеречный стрелок 7

Карелин Сергей Витальевич
7. Сумеречный стрелок
Фантастика:
городское фэнтези
попаданцы
аниме
5.00
рейтинг книги
Сумеречный стрелок 7

Титан империи 5

Артемов Александр Александрович
5. Титан Империи
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Титан империи 5

Подаренная чёрному дракону

Лунёва Мария
Любовные романы:
любовно-фантастические романы
7.07
рейтинг книги
Подаренная чёрному дракону

Бальмануг. (Не) Любовница 2

Лашина Полина
4. Мир Десяти
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Бальмануг. (Не) Любовница 2

Восход. Солнцев. Книга IV

Скабер Артемий
4. Голос Бога
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Восход. Солнцев. Книга IV

Измена. Мой непрощённый

Соль Мари
2. Самойловы
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Измена. Мой непрощённый