ВВЕДЕНИЕ В современном мире мобильные устройства, ... обращения, играют огромную роль в жизни человека. Рост рынка мобильных

advertisement
ВВЕДЕНИЕ
В современном мире мобильные устройства, лёгкие для переноса и
обращения, играют огромную роль в жизни человека. Рост рынка мобильных
устройств уже перестал быть линейным. Количество крупных игроков рынка
к сегодняшнему моменту увеличилось в несколько раз по сравнению с
началом 2005-х. В начале-середине 2005-х, когда мобильные устройства стали
доступны широким массам, для мобильных устройств, стали разрабатываться
различные приложения, нацеленные на решение локальных задач, в
большинстве своём не связанных с доступом в сеть Интернет. В середине
2005-х начался рост рынка мобильного интернета, что привело к созданию
приложений, заранее ориентированных на доступ в Интернет.
Главное направление совершенствования мобильных телефонов можно
определить одним понятием: конвергенция технологий. Мобильные телефоны
объединили в себе едва ли не всё, что можно и разумно объединять под
корпусом одного устройства.
Основные задачи телефона прошлого – совершать и принимать звонки,
писать SMS. Сегодня эти задачи дополнилась работой с интернет - ресурсами,
прослушиванием музыки, фотосъемкой, использованием игр и приложений.
Мобильный будущего, скорее всего, добавит к списку основных задач
просмотр телепрограмм, управление различной техникой, функции контроля
состояния здоровья своего владельца и возможно многое другое.
Мобильные устройства — смартфоны и планшеты —становятся все
более производительными и универсальными. В настоящее время они
способны обрабатывать значительные объемы информации. Соответственно,
все более актуальными становятся задачи хранения этой информации и
синхронизации данных между мобильными устройствами и более мощными
ноутбуками и ПК. Проблема обмена файлами между компьютерами,
планшетами и телефонами решается с помощью создания на облачном сервере
в интернете папки, которая будет содержать в себе все данные, которые вы
загрузите в папку облачного хранилище на своем компьютере. Доступ к этой
папке можно будет получить либо через веб интерфейс, либо с помощью
программы установленной на других ваших компьютерах, планшетах и
телефонах. Поэтому преимуществом мобильных приложений становиться
использование облачных сервисов таких как iCloud, Dropbox, GoogleDrive и
другие, которую в свою очередь дает возможность хранение данных в
облачных хранилищах.
Некоторые из перечисленных функций уже существуют в современных
телефонах, но пока они относятся к разряду экзотических, а прогресс в области
их создания, скорее всего, переведёт наиболее нужные из них в область
обыденных. Скорее всего, у аппаратов будущего могут появиться такие
возможности, о которых мы сегодня даже не подозреваем.
Эксперты обращают внимание потребителей на тот факт, что сейчас на
рынке доступно несколько мобильных платформ, стремительную
популярность среди которых в последнее время приобретает iOS и Android. На
рынке США компания Apple уже давно заняла пальму первенства в сегменте
дорогих и презентабельных мобильных устройств, постоянно удивляя клиента
интересными новинками. На примере Apple, видно, как кардинально может
измениться тот или иной рынок с появлением новых устройств.
Мобильность сегодня - явление глобальное, проникающее во многие
сферы нашей жизни. Почти половина всех пользователей мобильных услуг
проживают в пяти странах, среди которых и Казахстан. Ныне потребитель
ищет не просто мобильный телефон, он внимательно изучает условия,
соотнося их с требованиями современного рынка. Именно поэтому можно
утверждать, что развитие мобильных технологий будет только ускоряться.
Целью данной работы является разработка приложение заметок для ОС
Ios, который будет применяться вид защиты Touch ID — это удобный способ
использовать отпечаток пальца в качестве пароля. А так же синхронизация с
облачным сервисом.
Для достижения поставленной цели требуется решить следующие
задачи:
 Ознакомится литературой зарубежный и отечествнных авторов по
разработке и защита мобильных приложений;
 Изучить архитектуру, инструменты и особенности разработки
приложений для ОС Ios;
 Создать макет - прототип будущей программы;
 Разработать приложение согласно макету;
 Разработать интерфейс пользователя;
 Разработать защиту методом Touch ID;
 Разработать модуль для синхронизации с облачным сервисом;
 Протестировать разработанное приложение.
Обзорно аналитический часть современного состояния вопроса
1.1 Анализ популярных мобильных операционных систем
На рынке мобильных платформ список лидирующих имен неизменен в
течении последних трех лет. Изменения происходят исключительно между
этими лидерами. Таких лидеров четверо: IOS, Android, BlackBerry OS,
Windows Phone.
iOS (до 24 июня 2010 года — iPhone OS) — мобильная операционная
система, разрабатываемая и выпускаемая американской компанией Apple.
Была выпущена в 2007 году; первоначально — для iPhone и iPod touch, позже
— для таких устройств, как iPad и Apple TV. В отличие от Windows Phone
(Microsoft) и Android (Google), выпускается только для устройств,
производимых фирмой Apple (рисунок 1).
В iOS используется ядро XNU, основанное на микроядре Mach и
содержащее программный код, разработанный компанией Apple, а также код
из ОС NeXTSTEP и FreeBSD. Ядро iOS почти идентично ядру настольной
операционной системы Apple OS X. Начиная с самой первой версии, iOS
работает только на планшетных компьютерах и смартфонах с процессорами
архитектуры ARM.
Рисунок 1 – Операционная система iOS
IOS — закрытая операционная система от Apple. Выпускается
исключительно для устройств, разрабатываемой компанией Apple. Разработка
под IOS требует либо наличия техники Apple и программы разработки XCode,
либо использовать сторонние сервисы для удаленной компиляции
приложений. Так же существует возможность разработки на Flach CS5.5 или
других средах флеш разработки с помощью компилятора Flex, но стоит
учитывать, что производительность будет невысока. Публикация приложений
так же не возможна без сертификатов от виртуального магазина App Store, так
же App Store, является единственным полностью легальным средством
дистрибуции приложений. Стоит отметить, что так же возможно
распространять приложение через пиратские площадки приложений, но это
требует разблокировки устройств, которая нарушает гарантию, вследствие
чего, является непопулярной среди пользователей данной платформы. К
плюсам этой системы можно отнести стабильность и гарантированную работу
приложений на современных устройствах. Неподобающие по качеству или
контенту приложения не допускаются к распространению в App Store.
Пользовательский интерфейс iOS основан на концепции прямого
манипулирования с использованием жестов мультитач. Элементы управления
интерфейсом состоят из ползунков, переключателей и кнопок.
iOS разработана на основе OS X и использует тот же набор основных
компонентов Darwin, совместимый со стандартом POSIX.
В iOS есть четыре уровня абстракции: слой Core OS, слой Core Services,
слой Media Layer, и слой Cocoa Touch.
Для текущей версии операционной системы (iOS 8.1) выделяется 1,4—2
Гб флеш-памяти устройства для системного раздела и примерно 800 Мб
свободного места (варьируется в зависимости от модели).
Операционная система iPhone OS была представлена 9 января 2007 года
совместно с мобильным телефоном iPhone лично Стивом Джобсом на
выставке-конференции Macworld Conference & Expo и выпущена в июне того
же года[2]. Apple не предполагала отдельного названия для операционной
системы, поэтому первоначальный слоган звучал так: «iPhone работает на OS
X». По состоянию на 19 мая 2013 года магазин приложений App Store
содержит более 900 тыс. приложений для iOS, которые все вместе были
загружены более 50 миллиардов раз
BlackBerry OS — операционная система от BlackBerry. Устройства
компании BlackBerry нацелены, в первую очередь, на категорию бизнесменов
и корпоративных клиентов. Имеет крайне малую долю на рынке в мире, на май
2013 года не более 3% (по данным IDC Wourldwide Quartenly Mobile Phone
Tracker). Работает только на устройствах компании BlackBerry. Имеет
возможность адаптации Android приложений под себя, но полная
работоспособность не гарантирована (рисунок 2).
В марте 2012 года магазин приложений для BlackBerry OS насчитывал
более 70 тыс. программ. Чтобы запустить приложения для ОС Android 2.3.3 на
интернет-планшете BlackBerry PlayBook, используется утилита конвертации.
Планшет BlackBerry PlayBook получил возможность запуска игр от Sony
PlayStation. Существует сервис для конвертирования приложений Android.
Разрабатываемая BlackBerry 10 получит множество интегрированных
слоев безопасности. Слои безопасности будут связаны между собой, будут
задействованы внешние центры и аппаратные возможности, системы
управления привилегиями и прочее. Из ОС QNX будет взято несколько
решений для принудительного управления привилегиями на уровне
приложений и файлов, а на уровне ядра — технология Neutrino RTOS Secure
Kernel.
Рисунок 2 – Операционная система BlackBerry
Windows Phone – мобильная операционная система, разработанная
Microsoft, вышла 11 октября 2010 года. 21 октября начались поставки первых
устройств на базе новой платформы. В России телефоны с Windows Phone
начали продаваться 16 сентября 2011 года, первым из которых стал HTC 7
Mozart.
Операционная система является преемником Windows Mobile, хотя и
несовместима с ней, с полностью новым интерфейсом и — впервые — с
интеграцией сервисов Microsoft: игрового Xbox Live и медиаплеера Zune. В
отличие от предшествующей системы, Windows Phone в большей степени
ориентирован на рынок потребителей, чем на корпоративную сферу. На
данный момент так же имеет малую долю рынка в Казахстане (рисунок 3).
Рисунок 3 – Операционная система Windows Phone
Windows Phone поддерживает технология мультитач (одновременное
определение координат двух и более точек касания на сенсорном экране).
Начальный экран не содержит статичных иконок, они заменены на так
называемые “живые плитки” (Live Tiles), которые в режиме реального
времени без участия пользователя отражают информацию. Live Tiles имеют
квадратную или прямоугольную форму (в Windows Phone 8 пользователи
имеют возможность менять их размеры – маленькие, средние, большие) и
могут служить ярлыком для приложения, контакта, заметки, web-страницы и
т.д.
Также новый интерфейс Metro содержит так называемые хабы (hubs). По
умолчанию установлено 6 хабов, что не мешает пользователю создавать свои
собственные. Например, хаб “Контакты” объединяет всю информацию об
определённом человеке (его записи и комментарии в социальных сетях,
фотографии). Хаб “Фото” объединяет все фотографии пользователя,
хранящиеся в памяти устройства, компьютере или Интернете.
В Windows Phone последней восьмой версии, появилась возможность
объединять планшеты, смартфоны и персональные компьютеры в единую
экосистему. Операционная система работает на базе ядра NT (что роднит её с
персональными компьютерами), поддерживает многоядерные процессоры и
имеет увеличенное максимальное разрешение экрана (1280*768 или
1280*720), нежели прошлые версии. Windows Phone 8 поставляется вместе с
web-браузером Internet Explorer 10 с поддержкой HTML 5 и ускоренной
обработкой javascript.
Для мобильных устройств, работающих на базе операционной системы
Windows Phone предусмотрен Интернет-магазин приложений и игр Windows
Phone Marketplace. Покупка и установка приложений доступна как через хаб
Marketplace на телефоне или через браузер. На данный момент Windows Phone
Marketplace содержит более 100 000 приложений под мобильную
операционную систему от Windows. Для покупки медиаконтента (музыка,
видео, подкасты) существует отдельный сервис – Zune Marketplace.
Android («Андро́ид») — операционная система для смартфонов,
планшетных компьютеров, электронных книг, цифровых проигрывателей,
наручных часов, игровых приставок, нетбуков, смартбуков, очков Google и
других устройств. В будущем планируется поддержка автомобилей и
телевизоров. Основана на ядре Linux и собственной реализации виртуальной
машины Java от Google. Изначально разрабатывалась компанией Android Inc.,
которую затем купила Google. Впоследствии Google инициировала создание
альянса Open Handset Alliance (OHA), который сейчас занимается поддержкой
и дальнейшим развитием платформы. Android позволяет создавать Javaприложения, управляющие устройством через разработанные Google
библиотеки. Android Native Development Kit позволяет портировать (но не
отлаживать) библиотеки и компоненты приложений, написанные на Си и
других языках.
В 86 % смартфонов, проданных во втором квартале 2014 года, была
установлена операционная система Android (рисунок 4).
Рисунок 4 – Операционная система Android
Приложения для Android являются программами в нестандартном байткоде для виртуальной машины Dalvik.
Google предлагает для свободного скачивания инструментарий для
разработки (Software Development Kit - http://ru.wikipedia.org/wiki/SDK),
который предназначен для x86-машин под операционными системами Linux,
Mac OS X (10.4.8 или выше), Windows XP и Windows Vista. Для разработки
требуется JDK 5 или более новый.
Разработку приложений для Android можно вести на языке Java (не ниже
Java 1.5). Существует плагин для Eclipse — «Android Development Tools»
(ADT), предназначенный для Eclipse версий 3.3-3.6. Для IntelliJ IDEA также
существует плагин, облегчающий разработку Android-приложений. Для среды
разработки NetBeans IDE разработан плагин, который начиная с версии
Netbeans 7.0 перестал быть экспериментальным, тем не менее пока не является
официальным. Кроме того существует Motodev Studio for Android, которая
представляет собой комплексную среду разработки, основанную на базе
Eclipse и позволяет работать непосредственно с Google SDK.
1.2 Обзор существующих
пользовательских интерфейсов.
подходов
к
проектированию
Пользовательский интерфейс обеспечивает взаимодействие между
пользователем и компьютером, обмен действиями и ответными реакциями на
них. Юзабилити — степень, с которой продукт может быть использован
определенными пользователями при определенном контексте использования
для достижения определенных целей с должной эффективностью,
продуктивностью, удовлетворенностью [2].
Исследования в области взаимодействия пользователя и компьютера
показывают, что каждый пользовательский интерфейс обязан выполнять
следующие четыре функций:
1) управление компьютером только путем пользовательских
действий: прерывание, инициация, отмена компьютерных процессов;
2) ввод данных от пользователя, обратная реакция системы;
3) отображение данных от пользователя;
4) поддержка пользователя в процессе деятельности, что включает в
себя обратную связь и сбор информации об ошибочных или
случайных
действиях пользователя.
Хорошо спроектированный пользовательский интерфейс обязан
соответствовать этим принципам:
1) иметь низкий порог вхождения, полностью способствовать
быстрому освоению интерфейса пользователем, формировать устойчивые
навыки;
2) предоставлять ввод информации естественным образом, не
демонстрируя процесс вычислений;
3) отвечать требованиям рабочих потребностей пользователя, не
заостряя его внимание на процессе обработки данных.
На рисунке 5 изображен итерационный процесс проектирования
пользовательского интерфейса. Наиболее эффективным подходом к
проектированию интерфейса пользователя является разработка с
применением моделирования пользовательских функций.
Рисунок 5 - Итерационный процесс проектирования
пользовательского интерфейса
Для
получения
эффективного
результата
разработки
пользовательского интерфейса используют различные подходы к
проектированию. Основные из них:
1) Подход, ориентированный на пользователя (User-Centered Design),
который характеризуется активным вовлечением пользователей в процесс
проектирования и тестирования программного продукта, четким пониманием
пользовательских требований и задач, оптимальным распределением функций
между
пользователями
и
технологиями,
интерактивностью
и
мультидисциплинарностью подхода. Применение данного подхода при
разработке пользовательского интерфейса для достижения высоких
показателей в области юзабилити (согласно ISO 9241-11, это степень
эффективности, продуктивности и удовлетворенности, с которой продукт
может использоваться определенными пользователями для достижения
определенных целей в определенном контексте). Так же приводит к
сокращению расходов на разработку и повышению эффективности продукта,
как в отношении бизнеса (дополнительная прибыль), так и в
удовлетворенности пользователей (повышение лояльности к продукту и
разработчику).
2) Подход, ориентированный на деятельность (Activity-Centered
Design). Согласно определению Дональда Нормана (Donald Norman),
деятельность включает задачи, которые состоят из действий, в свою очередь
составленных
из операций. Подход к проектированию интерфейсов,
предлагаемый Норманом, уделяет внимание прежде всего пониманию
деятельности пользователя. Он утверждает, что человек приспосабливается к
имеющимся инструментам и что понимание деятельности, выполняемой
человеком при помощи инструментов, может положительно сказываться на
интерфейсе этих инструментов.
3) Целеориентированный подход (Goal Centered Design). В основе
данного метода лежат конечные цели пользователей, которые должны быть
ими достигнуты посредством взаимодействия с программным продуктом.
4) Подход, ориентированный на данные (Data Centered Design).
Проектирование интерфейса поддерживает такую модель взаимодействия
пользователя с системой, при которой первичными являются обрабатываемые
данные, а не требуемые для этого программные средства. Другими словами,
при таком подходе основное внимание пользователя концентрируется на тех
данных, с которыми он работает, а не на поиске и загрузке необходимого
приложения.
5) При использовании этого подхода основным программным
объектом является документ, который представляет собой некоторое
абстрактное устройство
хранения
данных,
используемых
для
выполнения заданий пользователей и
для их взаимодействия. Документ
должен быть доступен как различным приложениям, используемым для его
обработки, так и всем взаимодействующим пользователям.
6) Итеративный подход (Agile) - метод последовательных
приближений. Суть итеративного подхода заключается в создании изначально
самого простейшего прототипа с целью формирования у заказчика и самого
проектировщика общего видения проекта. Затем постепенно прототип
дорабатывается и детализируется.
7) При разработке интерфейса целесообразно гибко пользоваться
существующими подходами, учитывая при выборе методов назначение
разрабатываемого продукта, целевую аудиторию, время и бюджет разработки.
Процесс разработки интерфейса мобильных приложений показан на
рисунке 6.
Рисунок 6 – Процесс разработки интерфейса мобильных приложений
Современные мобильные телефоны, смартфоны, обладают мощным
функционалом, сравнимым с компьютерами, потребляют меньше энергии и
вместе с тем имеют незначительный вес и размер. Смартфон – компьютер,
помещающийся в кармане. Однако, ввиду этих особенностей, накладываются
значительные ограничения и различия в управлении таким устройством. В
отличии от компьютера, с большим экраном и возможностью точного
перемещения по экрану посредством мыши, мобильный телефон управляется
пальцами рук, его дисплей значительно меньше, именно на это стоит обращать
внимание, при разработке интерфейса мобильного приложения.
Стоит начать с того, что обращаясь к мобильному приложению или
сайту, пользователь намеревается найти конкретную информацию, которая
нужна ему здесь и сейчас, а значит его не должны стеснять проблемы
связанные с неудобной навигацией, затянутыми откликами приложения на его
действия, проблемами мобильного интернета и прочие. Поэтому рассмотрим
основные моменты, на которые стоит обратить внимание и которые помогут в
разработке более удобного и эффективного приложения.
Интерфейс должен быть простым и понятным с первого взгляда, у
пользователя не должно возникать вопросов, как взаимодействовать с
приложением для достижения собственных целей. Кроме того, число шагов,
которые сделает пользователь для достижения цели должно быть
минимальным. У пользователя, работающего с грамотно разработанным
интерфейсом, не возникнет вопросов, и он не сможет сделать ошибку,
производя то или иное действие, пользователь должен понимать на
интуитивном уровне, какие изменения это повлечет.
Требования к дизайну мобильных приложений достаточно простые.
Цветовая гамма приложения не должна быть излишне яркой, пестрой, чтобы
не рябить в глазах пользователя, однако сочетания цветов должны быть
контрастными – это эффектно выглядит на дисплеях мобильных устройств и,
что самое главное, позволяет продолжать пользоваться приложениях в
неудачных условиях освещенности, например на солнце. Дизайн должен быть
простым и понятным, нужно избегать непонятных иконок, нетривиальных
пояснений – пользователь пришел за информацией, которую ему, вероятно,
нужно получить срочно, и он не хочет разгадывать ребусы. Система навигации
должна быть такой же простой, понятной. Если в приложении планируется
создание большого количества разных разделов, их можно разделить на
небольшое количество обобщенных, считается что для получения нужной
информации пользователь готов пройти через 4 уровня вложенности. Списки,
с помощью которых также может быть реализовано меню не должны
превышать 5-9 элементов. Для сложных систем можно использовать функцию
поиска, такое решения подойдет к примеру для телефонного справочника
ВУЗа, или возможность прогрессивного раскрытия, когда дополнительная
информация появляется без перехода на другой экран.
Правилом хорошего тона является наличие обратной связи с
пользователем, то есть уведомление его о деятельности приложения, о том,
что оно откликнулось на какой-либо запрос. Можно показывать анимацией
ход загрузки страницы/изображения/экрана, уведомлять пользователя о тех
или иных изменениях с помощью всплывающих окон.
Нужно учесть также и то, что приложение будет использоваться на
разных мобильных телефонах, с разными разрешениями, пропорциями сторон
дисплея, небольшими различиями в реакциях устройства на запросы. На этапе
проектирования и при разработке программного кода следует учесть эти
особенности, проектируя интерфейс так, чтобы он легко масштабировался и
подстраивался под то или иное устройство [3].
1.3 Архитектура ОС iOS
iOS - операционная система, производства компании Apple, которая
используется для управления мобильными устройствами (телефонами iPhone
и планшетами iPad). Набор разработчика iOS (iOS SDK) включает в себя
набор фреймворков для взаимодействия с аппаратными компонентами
устройств, например GPS-датчик; библиотеки для работы со звуком,
анимациями и другими ключевыми инструментами для построения
современных приложений.
Еще одно отличие веб-приложений, работающих в браузерах Safari,
заключается в том, что родные приложения взаимодействуют напрямую с ОС
iOS и родными системными платформами iOS. ОС выступает в роли
посредника между приложением и аппаратным оснащением. Ключевое
преимущество этого посредничества или абстрагирования в том, что родным
приложениям не нужно заботиться о будущих изменениях в спецификации
устройства или в его аппаратном оснащении. ОС предоставляет
приложениями необходимую информацию о способностях аппаратного
оснащения (то есть, имеет ли устройство камеру?), а также о спецификациях
устройства (то есть, приложение запускается на iPhone или iPad?).[11][7]
iOS-архитектуру можно разобрать на 4 отдельных слоя: (1) CocoaTouch, (2)
Media, (3) CoreServices, и (4) Core OS (рисунок 7). Такая послойная
архитектура иллюстрирует нам тот уровень абстракции, где слои высшего
уровня больше отделены, а низшие слои выполняют более фундаментальную
задачу, и больше связаны с аппаратным оснащением.
Download