-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathВведение
40 lines (25 loc) · 9.68 KB
/
Введение
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
[http://adaptist.ru/blog/statistika-mobile/]
[https://habrahabr.ru/company/alconost/blog/323020/]
Мобильные устройства стали для нас чем то само собой разумеющимся. Этот рынок растет невероятными темпами и вот лишь некоторая статистика, которая это подтверждает. В четвёртом квартале 2015 года совместная доля мобильных ОС от Google и Apple на мировом рынке составляла 98,4%. Наиболее распространённой мобильной платформой остаётся Android с долей 80,7%, в то время как iOS владеет 17,7% рынка — это глобальные цифры. [https://therunet.com/articles/5948][http://wp-seven.ru/stat-i/novosti/statistika-mobil-ny-h-os-za-dekabr-2016.html]. В октябре 2016 года мобильные устройства опередили ПК по использованию интернета. Если в 2009 году распределение составляло приблизительно 100% против 0% в пользу ПК, то в прошлом месяце две линии наконец пересеклись и мобильные устройства вышли вперед[http://itc.ua/blogs/mobilnyie-ustroystva-vpervyie-prevzoshli-po-kolichestvu-pk-v-internete/] [http://gs.statcounter.com/press/mobile-and-tablet-internet-usage-exceeds-desktop-for-first-time-worldwide]. В 2017 году мировой рынок мобильных приложений достигнет $77 млрд [https://mobile.simbirsoft.ru/blog/top-5-trendov-mobilnoy-razrabotki-2017-goda-predpolozheniya/].
Тенденции, диктуемые рынком, позволяют заглянуть за грань текущей границы развития рынка и понять, что будет важно в следующие годы. Создания специализированных приложений с небольшим функционалом сильно влияет на рынок. Пользователям не нужны громоздские приложения, а простые эффективные решения. В то же время копрпоративный сектор все больше внедряет мобильные решения для оптимизации и автоматизации внутренних процессов компании. [https://rb.ru/opinion/mobile-2017/] Именно эти тенденции диктуют разработчикам наращивать скорорсть разработки и не терять, а то и повышать качество приложений.
Часто приходится создавать приложения из схожих высокоуровневых модулей. Как пример таких приложений, фирменные приложения "умного дома" для жилых комплексов. Их главная особенность в том, что у разных заказчиков свои требования к набору функционала, но при этом любые два набора пересекаются в виде некоторого базового функционала[https://www.etrok.ru]. Эта особенность предполагает, что каждый уникальный функционал реализуется в виде отдельного модуля. Кроме того, для ускорения сборки готовых приложений, необходимо наложить на модуль и его описание такие ограничения, которые позволили бы не писать какого либо дополнительного исходного кода, а генерировать исходный код собрки. Такие ограничения позволяют полность излоировать пользователя от финальной сборки приложения.
Но каким именно ограничениям необходимо следовать при написании таких модулей. Так как модули являются функционально обособленными фрагментами исходного кода, то для их функционариования может потребоваться использования функционала других модулей. Напирмер, модулю авторизации небоходим функционал модули, реализующего HTTP-запросы. Но в то же время, если в приложении отсутствует HTTP-модуль, то модуль авторизации может авторизировать пользователя локально, например завпрашивая пин-код, сохраненный на телефоне. Первый тип взаимодействия между модулями назовем "зависимостью". Тогда второй ьип будет называться "слабой зависимостью". Одна из главных целей данной работы показать, что при наличии определенных ограничений на модуль и его описания и реализации концепции "слабой зависимости", можно ускорить процесс сборки готовых приложений для мобильных платформ из таких модулей, полностью автоматизировав данный процесс. Итогом данной работы станет инструментальное окружение, которое позволит реализовывать выше перечисленные принципы.
В главе "Обзор существующих решений" рассмотрены возможные готовые решения, доступные для использования в мобильной разработке - конструкторы приложений, case-решения для мобильной разработки, менеджеры пакетов. Это отражено в главе "Обзоры существующих решений". Кроме того, в данной главе будет описаны причины по которым данные решения не подходят для данной задачи. Именно по этим причинам было принято решение разработать собственное инструментальное окружение, которое позволило бы наиболее эффектифно решать поставленные задачи. Так же будет обосовано решение о выборе для текущей реализации инструметального окружения CocoaPods.
Для реализации такой системы требуется решить множество задач по проектированию и формализации:
описать основные понятия инструментального окружения.
спроектировани используемые модели
спроектировать архитектуру системы
описать компоненты и способы их взаимодействия
описать используемые алгоритмы
подробно прописать технологические процессы использования инструментального окружения
Решение данных задач описано в главе "Архитектура и модели инистументального окружения".
В рамках данной выпускной квалификационной работы будет реализовано данной инструментальное окружение для сборки приложений на платформе iOS. Особенности плфтформы iOS и одробности реализации иснформационной системы будут описаны в последней главе. В заключении приводится описание как и процесса разработки самого инструментального окружения, так и описание разработки готовых приложений на базе данного окружения. На основании данного опыта реализации и сформированных моделей в главе 2 будет принято решение о расширении данной информационной системы для сборки приложений и для других платформ и описаны возможне перспективы развития данного окружения.
Обзор существующих решений
Конструкторы приложений
Менеджеры пакетов
Архитектура и модели инистументального окружения
Модели
Архитектура
Алгоритмы
Технологические процессы
Реализация системы