Что касается разработки приложений для настольных компьютеров и серверов, то за последние 10–15 лет в разрешении "временных" проблем в этой области был достигнут огромный прогресс.
Современные средства разработки несравненно более производительны по сравнению с теми, которые использовались какой-нибудь десяток лет тому назад. Это особенно справедливо по отношению к проектированию и отладке пользовательских интерфейсов. Аналогичные преобразования в настоящее время происходят и в области разработки программного обеспечения для мобильных устройств. Многие усовершенствования, касающиеся проектирования и отладки программ для настольных компьютеров и серверов, сейчас доступны и для мобильных устройств, что значительно упрощает выполнение этих видов работ и делает их доступными для более широкого круга разработчиков, чем несколько лет тому назад. Темпы разработки программ резко возросли. В результате этого значительно увеличилось число проектов, которые могут быть реально осуществлены (за некоторые из них при других условиях не имело бы смысла даже и браться). Благодаря достижениям в области средств и технологий программирования сейчас вполне осуществимы такие проекты мобильного программного обеспечения, реализация которых еще несколько лет тому назад была невозможной из-за их высокой сложности и стоимости.
Однако, как и в случае разработки программ для настольных компьютеров и серверов, между "возможностью написания кода" и "возможностью создания замечательного приложения" лежит огромная пропасть. Реализация последней из указанных возможностей сопряжена с трудностями, присущими разработке любого современного программного обеспечения. Одно дело — просто взяться за работу, написать и отладить код, и совершенно другое — связать весь код в корректно функционирующее, надежное и гибкое приложение.
Путь, позволяющий преодолеть трудности, свойственные разработке программного обеспечения, пролегает через использование подходящих методологий. В двух словах, методология — это набор руководящих принципов, соблюдение которых позволяет успешно завершить начатое дело. Многие из методологий, ориентированных на приложения для настольных компьютеров и серверов, в равной степени можно использовать и при разработке программного обеспечения для мобильных устройств, однако трудности, которые являются специфическими для устройств или становятся в этом случае особенно заметными, заслуживают отдельного рассмотрения
Данная глава разделена на две части. В первой из них обсуждается общая методология разработки программ с добавлением в необходимых случаях отдельных пояснений, относящихся к частному случаю мобильных устройств. Во второй части главы рассматриваются узкие методологические вопросы, связанные непосредственно с особенностями разработки мобильных приложений. Задача начальных разделов данной главы состоит в том, чтобы развить в вас понимание всей важности выбора подходящей методологии разработки, тогда как в остальных разделах настоящей главы раскрываются принципы конкретной методологии, которыми следует руководствоваться при разработке программного обеспечения для мобильных устройств.
Трудности постоянного и временного характера, с которыми приходится сталкиваться при разработке программного обеспечения
НА ЗАМЕТКУ
Данная тема великолепно исследуется и обсуждается в книге The Mythical Man Month (Мифический человеко-месяц) Фредерика Брукса (Frederick Brooks). Каждый, кто хочет получить солидную подготовку в области общей методологии разработки программного обеспечения, должен обязательно прочесть эту книгу.
Трудности временного характера и способы их преодоления
Некоторые из проблем, с которыми приходится сталкиваться разработчикам программного обеспечения, можно с полными основаниями охарактеризовать как "временные трудности". С появлением более совершенных инструментальных средств разработки острота этих проблем может снизиться. Хорошим примером временных трудностей могут служить проблемы отладки. За многие годы был достигнут огромный прогресс в предоставлении разработчикам средств отладки приложений в процессе их выполнения. Это привело к кардинальным изменениям самого процесса отладки, благодаря чему эта ранее трудоемкая задача, которая решалась при помощи столь разнородного инструментария, как карандаш и бумага, низкоуровневые средства наподобие дизассемблеров или отладочная печать, и требовала немалой доли интуиции, в настоящее время превратилась в весьма естественную интерактивную составную часть любого набора современных средств разработки. Среди разработчиков, пользующихся современным инструментарием, сегодня вряд ли найдутся такие, кто считает отладку отдельным видом деятельности, отличным от проектирования и написания кода. Сейчас все это объединено в рамках одного естественного процесса разработки программного обеспечения, и разработчики плавно переключаются с одного вида деятельности на другой. Еще не так давно наблюдалась явно иная картина, и, по крайней мере, в отношении программного обеспечения, выполняющегося на устройствах, об этом можно говорить со всей определенностью. Представляя собой когда-то сложнейшую проблему, отладка кода в наши дни значительно упростилась. То были временные трудности, и улучшение технологий позволило с ними справиться
Читать дальше