В качестве предисловия: я хочу сделать это в качестве учебного упражнения. Я не пытаюсь создать коммерчески выгодное приложение.
Каковы уровни/абстракции приложения iOS, которое подключено к пользовательскому, самостоятельно размещенному бэкенду? Какие технологии необходимы для построения этого стека?
Этот пост помог мне немного понимая. В настоящее время я использую Firebase в качестве своего бэкэнда, но обнаружил, что его структура NoSQL не подходит для моего приложения. Данные, которые я храню, являются реляционными, поэтому я думаю, что база данных SQL, хранящая JSON, будет работать лучше. Данные моделируют транспортные средства, совместно используемые пользователями. Судя по моим исследованиям, платформа Realm выглядит хорошим выбором. Я правильно понимаю технологии здесь? Имеет ли это предложение смысл?
Общая функциональность:
- Регистрация и вход пользователей
- Загрузить/выгрузить данные автомобиля
- Некоторая серверная логика
- Отправка обновлений данных пользователям в режиме реального времени
Так будет ли стек выглядеть следующим образом?
Интерфейс пользователя: приложение для iOS, написанное на Swift
База данных: База данных Realm (SQL)
Сервер: Объектный сервер Realm
Я действительно ищу обзор общей архитектуры. Я ничего об этом не знаю, поэтому я уверен, что не смог предоставить много деталей, необходимых для исчерпывающего ответа.
Прошу прощения, если этот вопрос излишен; большинство ответов, которые я видел на подобные вопросы, обычно заканчиваются словами «просто используйте AWS, Firebase и т. д.».
Спасибо!