Независимое приложение или часть большой системы?
Основным вопросом, на который вы должны дать ответ, является вопрос о том, каким образом ваше мобильное приложение будет связано с другими приложениями. Мобильное приложение может быть создано как независимое приложение, как часть набора специализированных приложений, установленных на устройстве, или же как переносимая часть крупной распределенной системы.
Простая игровая или вычислительная программа может быть выполнена в виде независимого приложения. Независимые приложения характеризуются отсутствием взаимодействия с другими приложениями и предоставляют пользователям лишь ограниченный набор средств, к которым возможен быстрый доступ. Если ваше приложение попадает в эту категорию, то определить сферу его применения будет сравнительно просто. Однако даже в этом случае могут потребоваться некоторые уточнения. Например, калькулятор, позволяющий быстро складывать, вычитать, умножать и делить числа, и калькулятор, предназначенный для решения алгебраических уравнений и построения графиков, должны фокусироваться на совершенно разных вещах. Можно предположить, что модели пользовательских интерфейсов и навигации в этих приложениях должны значительно различаться между собой. В каждом из этих случаев пользователям хотелось бы иметь возможность решать за 20 секунд совершенно непохожие задачи, а это требует расстановки различных акцентов в процессе проектирования приложений. Даже в случае небольших независимых приложений вопрос о сфере их применения не теряет своей актуальности.
Наборы взаимосвязанных приложений, установленных на устройстве
Большинство приложений, заслуживающих интереса, взаимодействуют с другими системами. В некоторых случаях вместо варианта, предусматривающего создание одного крупного многоцелевого приложения, можно выбрать вариант создания набора приложений, установленных на одном устройстве, которые осуществляют совместный доступ к локальной базе данных. Каждое приложение может быть ориентировано на решение отдельного круга задач и разрабатываться так, чтобы наилучшим образом обеспечить достижение соответствующих целей. При построении набора приложений, которые будут совместно работать с разделяемыми данными, важно как можно точнее определить, что именно каждое приложение должно делать, а что не должно. Хорошим примером разделения функций между отдельными приложениями может служить набор офисных приложений. Типичное программное обеспечение офисного набора включает в себя текстовый процессор, программу для выполнения расчетов (электронные таблицы), а также программное обеспечение для подготовки презентационных материалов и обеспечения связи. Указанные программы могут взаимодействовать между собой множеством способов и разделять общие данные и компоненты, но сомнения в отношении того, какое из приложений больше всего подходит для решения той или иной задачи, возникают лишь в очень редких случаях. Кое-кому может показаться, что отдельные офисные приложения сами по себе являются слишком сложными, чтобы каждое из них можно было считать ориентированным на решение узкого круга задач, однако представьте, что бы произошло, если бы все они были объединены в одно огромное "суперприложение". Результат напоминал бы собой некий конгломерат. Залог создания успешных мобильных приложений — минимизация их размеров и специализация выполняемых ими функций
Во многих случаях, когда имеется вполне определенный набор задач, которые должны выполняться на мобильном устройстве, целесообразно предусмотреть для каждой из них отдельное приложение, а не создавать один программный гигант, подобный кухонному комбайну, совмещающему в себе функции раковины, устройства для нарезки салатов и жаровни для приготовления барбекю. Навигация в пределах таких составных приложений чрезвычайно усложняется, а их сопровождение становится затруднительным.
У конечного пользователя не должно возникать никаких сомнений относительно того, каким именно инструментом следует воспользоваться для решения той или иной конкретной задачи. Размытие целевого назначения приложений в пределах набора говорит о незавершенности продукта или разработке проекта путем незапланированного наращивания его возможностей, когда вместо систематического создания заранее предусмотренных средств существующие приложения дорабатываются в специализированном стиле по мере выявления новых потребностей. Если в процессе разработки мобильного приложения у вас рождается идея "убийственного сценария", задайтесь вопросом, следует ли включать этот сценарий в состав существующего приложения или лучше реализовать его надлежащим образом в виде независимого приложения. Можно легко объединить приложения в одно целое, но выделить вплетенный в тело приложения код очень непросто. Если вы сомневаетесь в том, как лучше поступить, начните с создания независимого приложения, не забыв при этом о правиле "20 секунд": пользователь, действуя без спешки, должен успевать достать устройство из кармана и перейти к разделу с нужной информацией в течение не более 20 секунд.
Читать дальше