В прошлом году мы (Клуб ИКТ Национальной школы Гамини Диссанаяке) соревновались на Codefest, организованном SLIIT. Мы заняли 1-е место в старшей возрастной категории. Продукт, который мы разработали для конкурса, назывался LEAF — Learn Earn And Fun», мобильное приложение-викторина, которое награждает вас кредитами.
Серверная часть приложения LEAF была основана на Nest.js с базой данных MongoDB (прочитайте статью от нашего бэкэнд-разработчика), а внешний интерфейс был разработан с помощью Flutter.
Flutter – это инструментарий пользовательского интерфейса Google для создания красивых, компилируемых в собственном коде приложений для мобильных устройств, Интернета и настольных компьютеров из единой кодовой базы (веб-результат😋).
Основной поток приложения LEAF был следующим:
Вход/Регистрация -> Главное меню -> Экран MCQ -> Экран результатов
Поэтому мы сделали прототип полного приложения, в котором есть все необходимые экраны с помощью Adobe XD.
Благодаря XD мы получили все необходимые активы отдельно при экспорте наших дизайнов.
Затем Мастера виджетов начали писать 🧙
У нас было 2 ноутбука для фронтенд-разработки с разными характеристиками. Только один ноутбук имел достаточную мощность для одновременной работы Android Studio, нескольких вкладок Chrome и эмулятора. Благодаря поддержке Visual Studio Code во Flutter помог и другой ноутбук с низкими характеристиками.
После 2 дней кодирования, в основном отладки 😊, мы создали первую версию релиза приложения LEAF. Codemagic (CI/CD для проектов Flutter и мобильных приложений) нам очень помог в процессе ❤.
Связь между интерфейсом и сервером осуществлялась через REST API. Пакет Flutter httpупростил задачу. Поваренная книга здесь.
Кнопки загружаются с изображениями/активами. Все фоны также загружаются с изображениями.
Благодаря флаттеру мы не тратили время на переполнение стека, потому что все было очень просто. Почти в каждом контенте приложения использовались методологии флаттера по умолчанию. Даже управление состоянием осуществлялось с помощью виджетов State-full. Мы планировали, что приложение лучше всего будет работать с виджетами с полным состоянием на ранних этапах.
Так как все виджеты были запланированы до разработки в Adobe XD, мы были в курсе кошмаров разработчиков 😎.
Приложение Leaf будет доступно для публики в конце 2k21.