По статистике, собранной в 2022 году, среднестатистический человек, живущий в городе, тратит около 3,7 часа, используя смартфон или другой гаджет каждые сутки. По подсчетам ученых, если ребенок пользуется гаджетами с 10 лет, то за всю жизнь он проведет более 8 лет за экраном, хотя еще неизвестно, будут ли экраны в будущем.
Смартфон стал основным источником потребления контента, средством взаимодействия друг с другом и, конечно же, одним из инструментов бизнеса. Каждый средний или крупный бизнес, который работает напрямую с клиентами, рано или поздно задумывается о создании мобильных приложений. В основном на рынке две платформы - IOS и ANDROID (до определенного времени существовали еще смартфоны под операционную систему WINDOWS, разрабатываемые компанией Nokia).
Гиганты рынка IT в сфере мобильной разработки готовы предоставить совершенно разные подходы к разработке мобильных приложений: от простых блочных конструкторов и мультиплатформенных решений до крупных нативных IOS, Android систем и облачной оптимизации. В большинстве случаев на начальных этапах заказчики не готовы выделять огромные бюджеты на такие проекты, поэтому используются быстрые и относительно простые решения, от которых в результате масштабирования возникают нюансы и возникает нужда переделывать приложения.
Поскольку разработка мобильного программного обеспечения - довольно дорогостоящий процесс, мы рассмотрели возможность создания нашей собственной концепции, предполагающей быструю настройку мобильного приложения на платформе IOS и настройку его работы. Простыми словами, это конфигуратор мобильных приложений, основной особенностью которого должна стать безграничность доработки и расширения функционала без ущерба общей архитектуре.
На рынке уже существуют похожие системы - nocode и lowcode платформы, основной задачей которых является изменение подхода к процессу проектирования мобильного приложения. В рамках простых приложений и банальных задач избавиться от кода конечно получится, но у вышеупомянутых систем есть главный минус - масштабируемость. Рано или поздно может встать вопрос о том, как добавить специфический функционал в приложение, а nocode и lowcode в этот момент становятся ограничены в своих возможностях и не позволяют этого сделать.
Почему же именно IOS? Еще с детства техника Apple вызвала сильный интерес у меня и моего научного руководителя, также имел вес тот факт, что у нас был опыт работы в данном направлении, поэтому продуктом дипломной работы стала система конфигурации мобильного приложения именно под ОС IOS с использованием сервиса Google Firebase.
Научная значимость данной работы состоит в исследовании предметной области, новых технологий и тенденций в сфере мобильной разработки, изучением систем аналогов с схожим функционалом, а практическая значимость темы заключается в применении полученного опыта и знаний для создания системы конфигурации мобильного приложения.
Содержание
1. Введение……………………………………………….……………
2. Постановка задачи………………………………………………….
3. Исследование предметной области…………….………………….
3.1. Firebase………………………………………………………..
3.2. Low-code……………………………………………………...
3.3. No-code………………………………………………………..
3.4. SwiftUI.………………………………………………………..
3.5. UI/UX…………………………………………………………
3.6. CI/CD………………………………………………………….
3.7. Архитектуры мобильных приложений……………………..
4. Практическая часть…………………………………………………
4.1. Анализ функционала популярных приложений……………
4.2. Дизайн приложения в Figma………………………………...
4.3. Конфигурация приложения в Firebase…..………………….
4.4. Инструменты Firebase в приложении……………………….
4.5. CI/CD………………………………………………………….
4.6. Демонстрационное приложение…………………………….
5. Заключение …………………………………………………………
6. Источники .……...………………………………………………….
3
5
6
6
7
9
12
15
18
21
25
25
26
27
27
28
29
30
31
Источники
Apple inc. Официальная документация Apple. [Электронный ресурс]
документация: https://developer.apple.com/documentation/technologies
Роберт Мартин. (2013) Чистый код. [Книга]
Google inc. Документация Firebase. [Электронный ресурс]
документация: https://firebase.google.com/docs
Amy Brown. 500 Lines or Less null Edition. [Книга]
Блог Swift Programming на Medium. [Электронный ресурс]
ссылка: https://medium.com/swift-programming
Ресурс, содержащий лучшие выдержки из книг и опыта разработчиков на тему архитектуры мобильных приложений, паттернов программирования и практик рефакторинга. [Электронный ресурс]
ссылка: https://refactoring.guru/ru/design-patterns/what-is-pattern
Во Ханг. (2013) Оптимизация производительности приложений для iOS [Книга]
Образовательный портал Raywenderlich [Электронный ресурс]
ссылка: https://www.raywenderlich.com/
Leigh Williamson, John Ponzo, Patrick Bohrer, Ricardo Olivieri, Karl. Weinmeister, Samuel Kallner «Swift in the Cloud» [Книга]