Прогресс разработки приложения
Всем привет! Последние несколько месяцев работала над полировкой своего приложения. Давно не постила видео с прогрессом, так как UI уже был готов, и я доводила до ума всю backend-составляющую. Пришлось многое переделать полностью, так как некоторые части кода я писала давно, ещё совсем не понимая, как работает Flutter.
Поначалу было страшно — вдруг всё сломается (и оно, конечно же, сломалось), но в процессе я наконец-то поняла, как все части приложения работают вместе, как легко передавать данные из одного элемента другому без танцев с бубнами, и разделила весь код на отдельные части, чтобы каждая отвечала только за себя.
Вот что получилось сделать:
- Перенесла всю работу с базами данных в Provider
- Добавила сохранение данных на облако
- Настройки теперь сохраняются на устройстве в SharedPreferences
- Почистила код для работы с Hive
- Данные теперь загружаются во время первого экрана, а не для каждой страницы отдельно
А ещё я слышала такую идею, что 20% кода вызывают 80% багов, и именно так у меня случилось с повторяющимися делами. Там оказалось столько вариантов удаления, добавления и изменения, что я долго сидела, пытаясь сделать универсальный код, который будет работать для всех случаев.
Ещё хочу сделать шифрование данных для облака, чтобы никакой вредный хацкер у вас ничего не украл, а также попробовать добавить API Rustore, так как на другие площадки пока сложно попасть.
Над визуальной частью тоже успела поколдовать: добавила страничку с Настройками, где теперь можно:
- Включить перенос незавершённых дел в "Сегодня"
- Выбрать первый день недели
- Выбрать одну из четырёх тем (цвета ещё могут меняться)
В планах — добавить сюда выбор языка, тёмную тему и возможность войти в свой аккаунт для синхронизации данных между устройствами.
Забавно, что под конец разработки я наконец-то начала понимать, как тут всё устроено, и если бы начала делать всё с самого начала, думаю, у меня ушло бы раз в 10 меньше времени на разработку. Но поэтому это и пет-проект — чтобы учиться, пробовать и всё переделывать так, чтобы можно было с чистой совестью нажать Commit.
Всем 💜