Это будет мое первое приложение для iOS хоть какой-то сложности. Я хотел бы обрисовать в общих чертах компоненты и структуру, чтобы получить некоторую обратную связь, прежде чем я попытаюсь это сделать.
С точки зрения пользователя, приложение отслеживает уровень воды в местном озере и получает push-уведомления, когда уровень воды изменяется на указанную пользователем величину. Я думаю, что использовать Parse будет проще всего для управления пользовательскими данными, и я попытаюсь использовать серверный компонент Node.js на Nodester (я знаю некоторые основы JS и считаю, что это хороший и перспективный язык для ознакомления). Вот как я вижу, как это работает...
- Пользователь создает учетную запись на устройстве и указывает
lakeLevelChange
сумму, на которую он получит push-уведомление. Данные пользователя передаются в управление данными Parse. - The server side component will run this program 3-6 times a day:
- Pulls a
currentLakeLevel
via HTTP request - Извлекает пользовательские данные из Parse
- Сравнивает
currentLakeLevel
с указанным пользователемlakeLevelChange
- Если разница =>
lakeLevelChange
, отправляется HTTP-запрос push-уведомления для каждого пользователя, для которого выполняется указанное условие.
- Pulls a
- Parse получает POST-запрос и отправляет push-уведомление на сервер APNS.
- Клиент получает push-уведомление
На самом деле это не звучит ужасно сложно, когда его печатают. Это правильный способ структурирования этой функциональности? Я что-то упустил? Предложения приветствуются!