Как я пишу своё первое приложение - и почему оно уже стоит у меня на телефоне
Идея этого приложения, как я писал в прошлой статье, пришла от моей девушки - она просто сказала что было бы прикольно иметь что-то вроде сайта для заметок и задач. Я взял эту идею и додумал до полноценного продукта: трекер привычек, списки задач, заметки. А в будущем - семейные группы, где можно писать задачи как для себя, так и для членов семьи, следить за их выполнением и общаться в чате.
Приложением уже пользуются мои друзья, так что у меня есть живые пользователи которые дают обратную связь и иногда говорят что это классное приложение. Это мотивирует продолжать, даже когда начинаешь выгорать.
Что уже есть
На данный момент приложение почти готово для одного человека: авторизация, восстановление пароля, трекер привычек, задачи, заметки и профиль. Осталось доделать уведомления и минимальные настройки - и можно выкатывать.
Почему приложение уже стоит на телефоне
Я пишу на React, и пока до публикации в сторе далеко - я использую PWA (Progressive Web App). Это веб-приложение которое выглядит и работает как нативное мобильное, но запускается через браузер.
Как это работает: PWA держится на трёх вещах — безопасное соединение HTTPS, файл манифеста и сервис-воркер. Сервис-воркер кэширует данные и обеспечивает работу офлайн. При первом запуске загружается «оболочка» интерфейса, данные подгружаются динамически — это даёт быструю загрузку даже при слабом интернете. Плюс приложение обновляется само, без участия пользователя.
Для меня это идеальное промежуточное решение: приложение уже живёт на телефоне, им можно пользоваться, и при этом не нужно проходить модерацию стора.
Почему Firebase, а не свой бэкенд
Я разрабатываю приложение один и хочу фокусироваться на фронтенде, а не писать бэкенд с нуля. Firebase - это облачная платформа от Google с готовым набором инструментов: авторизация, база данных, хостинг, восстановление пароля. Всё это подключается без написания серверного кода.
Да, у Firebase есть лимиты - и когда я их почувствую, планирую мигрировать на Supabase. Но это уже тема для отдельной статьи.
Что дальше
Осталось совсем немного: уведомления и минимальные настройки. После этого хочу выложить приложение в RuStore (он просто бесплатный), и это логичный первый шаг. Дальше немного отдохнуть, собрать обратную связь, пофиксить баги, и приступать к самому сложному: семейным группам и чату.
Если интересно посмотреть на процесс разработки, попробовать приложение или дать обратную связь - заходи в мой ТГ-канал: t.me/dreamdevmaybe.