Программирование мобильных устройств на платформе .NET Compact Framework
Шрифт:
Об авторе
Иво Салмре (Ivo Salmre) более десяти лет работал в компании Microsoft, занимаясь в основном проектированием и выпуском инструментальных средств разработки программного обеспечения для настольных компьютеров и серверов, но впоследствии сосредоточившись на мобильных устройствах. Иво был ведущим программистом проекта .NET Compact Framework. Он получил степень бакалавра в области электротехники в университете штата Коннектикут, и его доклады можно часто услышать на отраслевых конференциях. Прожив десять лет в Сиэтле и немногим более года в Лондоне, в настоящее время Иво работает в Европейском Инновационном Центре компании Microsoft (Microsoft European Innovation Center — EMIC) в городе Аахене, Германия, где занимается исследованиями в области разработки программных моделей для современных мобильных устройств. Иво —
Предисловие
Мобильные устройства на наших глазах претерпевают революционные изменения
Мобильные вычислительные устройства лишь совсем недавно вышли за рамки техники сугубо связного назначения и превратились в гибкие расширяемые компьютерные платформы, завоевывающие массовый рынок. На протяжении ближайшего десятилетия мы станем свидетелями взрывного развития коммуникационных и вычислительных устройств, способных предоставить еще более богатый спектр информационных и прочих услуг, облегчающих людям условия труда и повседневной жизни. Влияние истинно мобильных вычислительных устройств, всегда находящихся под рукой, на характер нашей производственной деятельности, а также образ жизни, общения и взаимодействия с окружающим миром переоценить довольно-таки трудно. Ключевая роль в происходящих преобразованиях мобильных устройств принадлежит их интеллектуальному программному обеспечению.
Эта книга учит тому, как создавать великолепные приложения для мобильных устройств. С этой целью изложение важных концептуальных сведений сопровождается конкретными практическими примерами. Примеры разработаны на языках программирования С# и Visual Basic .NET для выполнения в среде Microsoft .NET Compact Network, хотя лежащие в их основе идеи в равной степени применимы ко всем мобильным компьютерным программным технологиям и платформам. Наибольшую пользу эта книга принесет тем, кто использует в своей работе Visual Basic и С#, поскольку они получат возможность расширить свои познания в этой области. В общем, книга адресована всем, кто заинтересован в создании высококачественного программного обеспечения для мобильных устройств, вне зависимости от того, приверженцами какой технологии программирования они являются.
Если бы мне позволили помечтать о рецензии, то хотелось бы, чтобы она была примерно такой:
"Несмотря на сугубо практическую направленность этой книги, она не только помогает вам повысить свой профессиональный уровень как программиста, но и стимулирует творческое воображение и пробуждает желание сразу же взяться за создание нового, доселе неизвестного программного обеспечения для мобильных устройств."
Когда эта книга появится перед читателями, они смогут сами оценить, насколько мне удалось приблизиться к реализации этой дерзкой мечты.
Приступая к написанию книги, я поставил перед собой задачу "написать техническую книгу, не похожую на все остальные". При обсуждении идеи проекта с издателями и другими заинтересованными сторонами мне всегда задавали один и тот же вопрос: "Чего, по вашему мнению, в наши дни не хватает большинству технических книг, и что нового сможет предложить ваша книга?"
Чего в наши дни не хватает большинству технических книг?
В наши дни выходит в свет очень много технической литературы, посвященной разработке программного обеспечения. На полках книжных магазинов и в Web в изобилии представлены описания всевозможных программ и масса справочного материала. Мы живем в мире, в котором на нас обрушиваются мощные информационные потоки, но, несмотря на это или, возможно, именно по этой причине, приблизиться к реальным знаниям очень трудно. Тому, кто к этому стремится, приходится переворачивать тонны породы, чтобы докопаться до скрытых где-то в их недрах драгоценных алмазов сути. Будучи, как и порода, чрезвычайно полезными сами по себе, сырые факты — это все же далеко не те драгоценные камни, которые мы хотим отыскать. Чего не хватает — и это особенно касается имеющейся литературы по разработке программного обеспечения для мобильных устройств — так это доступной книги прикладного характера, в которой принципы и методы эффективного проектирования мобильных программ излагались бы с использованием конкретных примеров, иллюстрирующих теорию. Автор надеется передать читателям книги те драгоценные крупицы знаний, которые обогатят их и подтолкнут к открытию замечательных возможностей,
Что нового в этой книге?
Настоящая книга посвящена теме разработки программного обеспечения для мобильных устройств и написана с намерением не привязываться к какой-то одной определенной технологии. Хотя в многочисленных примерах, предлагаемых в книге, используется платформа .NET Compact Framework, общие принципы, которые мы будем обсуждать, справедливы для всех технологий, относящихся к интересующей нас области. Несмотря на стремительную поступь технологий, надежные методы прикладного программирования и искусство проектирования развиваются медленно, проходя болезненный путь обучения на пробах и ошибках. Излагаемые в этой книге принципы проектирования и разработки программ не должны потерять своей актуальности даже в условиях дальнейшего технологического прогресса.
Цель данной книги состоит не в том, чтобы предоставить читателю множество деталей, излишних в контексте более высокого порядка, а в том, чтобы помочь ему выработать правильную оценку философии и методов проектирования мобильного программного обеспечения. Необходимую фактическую информацию и численные данные вам предоставят подробные примеры, но основная задача книги — развить в читателе понимание глубинных принципов, позволяющих разрабатывать замечательные приложения для мобильных устройств. Появление нового фактического материала, требующего изучения, никогда не прекратится, а новые технологии всегда будут эволюционировать, чтобы, в конечном счете, уступить место более совершенным, но в данной книге внимание сосредоточено на объяснении всех тех уникальных и наиболее интересных элементов технологий разработки, знание которых необходимо для создания успешных мобильных приложений.
На кого рассчитана эта книга?
■ Те, кто в настоящее время занят разработкой программного обеспечения для мобильных устройств. Интересующая нас область разработки программного обеспечения стремительно развивается и из своего рода искусства черной магии, которым владели лишь посвященные, постепенно становится сферой деятельности, доступной для самого широкого круга разработчиков. В этой книге предпринимается попытка обрисовать многообещающие и, как я могу надеяться, новые перспективы разработки мобильного программного обеспечения, что будет полезно как тем, кто впервые столкнулся с тематикой мобильных устройств, так и тем, кто уже набил руку на разработке подобных программ.
■ Разработчики программного обеспечения на языках Java, С# и VB.NET для настольных компьютеров и серверов, которые подумывают о переходе, или уже перешли, к разработке программного обеспечения для мобильных устройств. Те разработчики программного обеспечения для настольных компьютеров и серверов, кто уже использует упомянутые языки программирования, смогут сразу же приступить к работе с приведенными в книге примерами программ. Кроме того, книга поможет им глубже понять различия между разработкой программного обеспечения для классических настольных компьютеров и серверов с одной стороны и мобильных устройств с другой. Надеюсь, что для разработчиков этой категории чтение книги послужит своего рода приятным ознакомительным туром и убедит их в том, что разработка мобильного программного обеспечения — это стрела, которая каждый разработчик обязательно должен иметь в своем колчане. Эта книга поможет им получить знания и навыки, без которых невозможно создать хорошее мобильное приложение.
■ Разработчики программного обеспечения на С++, которые подумывают о переходе к языкам управляемой среды выполнения, например С#. Существует довольно большая вероятность того, что те, кто сегодня использует для разработки программ С и С++, в ближайшем будущем для выполнения некоторой части своей программистской работы будут использовать языки с управляемым кодом, примером которых может служить язык С#. Достигаемый при этом выигрыш в производительности и надежности программ просто ошеломляет. Многие примеры в этой книге написаны на С#, так что разобраться в текстах программ разработчикам на С/С++ не составит особого труда.