Библиографическое описание:

Шакирова Ю. К., Савченко Н. К., Абилдаева Г. Б., Зайцева С. В., Мартыненко О. В. Проектирование мобильных приложений и облачных сервисов // Молодой ученый. — 2016. — №2. — С. 254-258.

 

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

Ключевые слова: облачные сервисы и мобильные приложения — это возможность наращивать клиентскую базу, повышая качество индивидуального обслуживания и уменьшая расходы на IT-инфраструктуру.

 

Облачные сервисы

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

Преимущества облачных сервисов:

                     сокращение затрат на закупку дорогостоящего программного обеспечения и оборудования;

                     сокращение затрат на содержание созданной инфраструктуры;

                     снижение затрат на содержание штата собственных технических специалистов;

                     высокая производительность и доступность информационных систем;

                     возможность аренды оборудования и программного обеспечения по требованию;

                     надежная защита информации;

                     высокая отказоустойчивость;

                     снижение затрат на утилизацию вышедшего из строя оборудования.

Мобильные приложения

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

Основные этапы разработки мобильных приложений:

                     Обследование

                     Формирование технического задания на разработку

                     Формирование технического проекта

                     Программирование и тестирование

                     Оформление всей необходимой технической документации

                     Запуск в эксплуатацию.

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

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

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

                     Ценности проектирования служат отправной точкой для принципов более низкого уровня, перечисленных ниже.

                     Концептуальные принципы помогают определять сущность продукта.

                     Поведенческие принципы описывают, как продукт должен себя вести — в целом и в конкретных ситуациях.

                     Интерфейсные принципы описывают эффективные стратегии визуального взаимодействия информационных аспектов интерфейса.

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

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

                     Когнитивная работа — понимание поведения продукта.

                     Мнемоническая работа — запоминание поведения продукта, паролей, названий и расположения элементов управления.

                     Работа зрения — поиск стартовой точки на экране, поиск одного объекта среди многих, расшифровка визуальной планировки, выявление различий между элементами интерфейса.

                     Физическая работа — использование жестов (нажатие, перемещение по экрану, прокрутка, смахивание и т.д.), переключение между режимами ввода, количество кликов для осуществления навигации.

Логические маршруты

Композиция должна не только в точности следовать сетке, но и структурировать эффективный логический маршрут через интерфейс для пользователей, принимая во внимание тот факт, что (в случае западных языков) взгляд движется сверху вниз и слева направо (Рисунок 1).

Слева представлен хороший логический маршрут: движение взгляда и маршрут в интерфейсе совпадают. Справа – неудобный логический маршрут: все разбросано по экрану.

Рис. 1. Логические маршруты движения взгляда в интерфейсе

 

На рисунке 1 слева представлен хороший логический маршрут: движение взгляда и маршрут в интерфейсе совпадают. Справа — неудобный логический маршрут: все разбросано по экрану.

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

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

                     сократить время и усилия, затрачиваемые на проектирование в новых проектах;

                     повысить качество проектных решений;

                     способствовать улучшению коммуникации между проектировщиками и программистами;

                     повысить профессиональный уровень проектировщиков.

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

Типы шаблонов проектирования взаимодействия

Шаблоны проектирования взаимодействия можно выстроить в иерархию. Их можно применять на различных уровнях инфраструктуры интерфейса:

                     Шаблоны позиционирования могут применяться на концептуальном уровне и помогают определить тип продукта в отношении к пользователю.

                     Структурные шаблоны решают проблемы, связанные с управлением отображением информации и функциональных элементов на экране.

                     Поведенческие шаблоны решают широкий спектр проблем, относящихся к конкретным взаимодействиям с теми или иными элементами интерфейса.

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

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

Навигационная схема приложения

Рис. 2. Высокоуровневый структурный шаблон

 

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

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

Необходимость в портировании возникает обычно из-за различий в системе команд процессора, различий между способами взаимодействия операционной системы и программ (API — Application Program Interface), принципиальных различий в архитектуре вычислительных систем, либо по причине некоторых несовместимостей или даже полного отсутствия используемого языка программирования в целевом окружении.

Международные стандарты значительно упрощают портирование. Они описывают среду исполнения программ таким образом, что различия между платформами становятся минимальными. Часто портирование программ между платформами, реализующими один и тот же стандарт (такой как POSIX.1), сводится к перекомпиляции программы на новой платформе.

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

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

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

К особенностям смартфонов, требующим особого внимания при разработке приложений, относятся:

                    Ограниченный доступный объем памяти, как оперативной, так и используемой для хранения пользовательских приложений.

                    Сравнительно невысокая скорость обработки информации.

                    Слабый графический процессор.

                    Ограниченный срок работы устройства от батареи.

                    Небольшой экран.

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

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

                    Наличие датчиков gps, гироскопа, акселерометра и других, позволяющих использовать изменение положения устройства в пространстве.

                    Небольшой размер позволяет легко переключаться между горизонтальным и вертикальным расположением экрана в отличие от устройств с физической клавиатурой.

Особенности портирования приложений на мобильные платформы

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

Разработка мобильного приложения "с нуля" состоит из нескольких важных этапов:

  1.                Постановка задачи.
  2.                Создание прототипа (бумажного или приложения-заглушки).
  3.                Определение системных требований и выбор инструмента.
  4.                Работа над графикой и дизайном приложения и разработка приложения (эти процессы обычно выполняются разными людьми и идут параллельно).
  5.                Тестирование и оптимизация.
  6.                Подготовка и публикация приложения в магазине.
  7.                Сбор аналитики и получение обратной связи.
  8.                Исправление недочетов и выпуск обновлений.

При портировании приложения на Android есть некоторые отличия от описанного процесса. Задача уже поставлена, есть работающий код, который хотелось бы использовать с минимальными изменениями. Готовое приложение нужно будет готовить к публикации и т.д. абсолютно таким же образом. Но на остальных этапах есть значительные отличия:

Интерфейс, графические элементы и дизайн необходимо продумать на этапе прототипирования и переделать подходящим образом.

Необходимо выбрать наиболее удобный инструмент разработки.

При разработке нужно будет подключить работающий код портируемого приложения.

В процессе тестирования и оптимизации возможны значительные изменения в коде исходного приложения (например, при работе с графикой), к этому надо быть готовым.

При выборе платформы разработки приложения необходимо сначала определиться с ее типом. Существуют три варианта: родная (нативная), Web и гибридная.

Родные (нативные) платформы позволяют создавать приложения, которые замечательно выглядят и воспринимаются, а также обеспечивают сравнительно высокую производительность. Оборотная сторона разработки родных приложений для каждой платформы нужно писать свой код. Портирование нативных приложений наиболее сложное.

Мобильные Web-приложения обычно пишут на HTML5, CSS и JavaScript. Их можно написать один раз и запускать на разных платформах, но такие приложения могут уступать родным по внешнему виду, восприятию и производительности. Портирование не представляет особых сложностей.

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

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

 

Литература:

 

1.                  Л. Константайн, Л. Локвуд Разработка программного обеспечения. Пер. с англ. — СПб: Питер, 2004.

2.                  Дж. Тидвелл Разработка пользовательских интерфейсов Пер. с англ. — СПб: Питер, 2008.

3.                  Голощапов А.Л. Android. Создание приложений для смартфонов и планшетных ПК СПб: БХВ-Петербург, 2013 г.

4.                  Майер P Android 2 : программирование приложений для планшетных компьютеров и смартфонов М. : Эксмо, 2011. — 672 с.

Обсуждение

Социальные комментарии Cackle