Дневник Flutter-разработчика
3.11K subscribers
323 photos
22 videos
10 files
290 links
Описание моего пути мобильного разработчика с нуля до junior, middle, senior
Download Telegram
Roadmap to learn Flutter
https://www.youtube.com/watch?v=7660DZ_HJqM

Если кратко, то roadmap такой:
-Dart basic
-Flutter
-Widgets
-Git Basics
-Start building
-Design Principles
-JSON
-Networking (APIs)
-Shared Preferences
-databases (SQlite, Hive/Moor)
-Firebase
-Dart Advanced
-State Management (Bloc, Redux ...)
-Animations
-Testing (Unit testing/ Widget testing/ Integration testing)
-Rx Dart
-Packages & Plugins
-Dev Tools
-Internals of Flutter
-Other Languages (little bit Kotlin, Swift, html/css/js)
-CI/CD
-Firebase Analytics
-Manual App Testing
-Deployment (App store, Play store)
День 80:

+ 4,49 часа программирования
(+ 2,30 практика
+ 2,19 теория
)

Занимаюсь слайдером. Больших изменений пока нет. Разместил кнопки по бокам для перехода между слайдами. Часа полтора этим занимался и не мог понять, что нужно просто Column заменить на Stack. Подсказали) Одно из больших преимуществ блога - новые знакомства👍

Посмотрел сегодня 2 интересных видео по Flutter:
1. https://youtu.be/mN8vGs3LweU видео о миграции с bloc 7 на bloc 8, так же затрагивается тема cubit. Интересное видео, рекомендую:)

2. https://www.youtube.com/watch?v=ULVuvzmnkos этим видео со мной поделились, но я еще не до конца его посмотрел. Тема очень интересная и актуальная. Про то, что лучше делать виджеты, а не функции. Так же рекомендую к просмотру:)

P.S. Уже 3 человека вдохновились моим блогом в инстаграм(я веду его в телеграм и инсте) и начали вести свои подобные. Я этому рад:)

Итого: 311 ч. 05 м.

Разработка приложения
Итого: 51 день

+1,14 часа английского
7, 8 серии 6 сезона сериала Друзья на англ.

Итого: 106 ч. 17 мин.

Спорт, здоровье
+ зарядка
+ силовая тренировка
54 дня придерживаюсь схемы 16-8(разделение приемов пищи на 2 окна: 16 часов - не ем, 8 часов - ем)
57 дней не ем сахар, мучное и фастфуд
6 дней встаю в 4:30 утра, ложусь спать к 10 вечера
День 175:

Ecommerce проект:
Сегодня вышел виджет недели от команды Flutter: https://www.youtube.com/watch?v=ZzQ_PWrFihg

Изучаю чистую архитектуру по туториалу Reso Coder:
https://github.com/ResoCoder/flutter-tdd-clean-architecture-course
https://resocoder.com/flutter-clean-architecture-tdd/

Изменил оформление github аккаунта. Сейчас он выглядит так:
https://github.com/dmitry-lyovochkin
Как вам?)

+1,04 часа английского
13 серия 3 сезона сериала Сверхъестественное на англ. с англ. субтитрами
Итого: 215 ч. 43 м.

Спорт, здоровье
+ зарядка
+ силовая тренировка(отдых)
126 дней не ем сахар, мучное и фастфуд

Прививаю полезные привычки:
- здоровый сон(пробую 22:00-5:00) 11 из 90 (+0)
+ зарядка/растяжка утром 16 из 90 (+1)
+ силовые тренировки через день 15 из 90 (+1)
- изучение доки dart/flutter час в день 3 из 90 (+0)
Forwarded from Product Friendly
Как упростить работу и повысить продуктивность Flutter-разработчика?

Проверенный способ: полезные плагины. VS Code позволяет создавать их на все случаи жизни. Наш Flutter Team Lead Юрий Петров делится подборкой своих любимых расширений Visual Studio Code в этой статье 👨🏽‍💻

#flutter
Forwarded from Product Friendly
В новой статье на Хабре наш Flutter Team Lead Юрий Петров рассказал о способах организации тестирования интерфейса приложения, написанного с использованием Flutter 💻

Эта статья — отправная точка для изучения темы тестирования: знакомство с тем, как функционирует тестирование пользовательского интерфейса.

Для лучшего понимания новичкам рекомендуем полностью повторить процесс написания кода 🤓

#flutter
03.11.2022

👨‍💻 Работа:

Занимался фиксом оценки приложения

🧑‍🎓 Что изучаю/сложности/интересное:

Столкнулся с проблемой:
модальное окно с оценкой приложения должно показываться после оплаты. Я его сделал и протестировал просто на кнопке. Всё работало)

QA тестирование фича не прошла - модалка не показывалась после оплаты. Сам я не мог потестить этот кейс, тк нужно произвести оплату

События накидываются следующим образом:
- происходит оплата и дальше сразу
Navigator.pop
показ верхнего TopSnackBar
показ модалки внизу

И вот всё отрабатывало, кроме самой главной нижней модалки с оценкой😁

Проблема связана с контекстом. Здесь описывается: https://www.youtube.com/watch?v=bzWaMpD1LHY

Постараюсь написать статью на эту тему с практическим кейсом:)

✈️ Английский язык:

+0,20 ч. - задания на площадке Яндекс.практикум

🧑‍🎓 Книги:

+ 0 стр. Идеальный программист. Как стать профессиональным разработчиком ПО. Роберт Мартин.
(всего: 114 страниц из 372)

+ 0 минут в аудиоформате. Трансерфинг реальности. Ступень I. Вадим Зеланд
(всего: ... страниц из 210)

💪 Баланс работа-остальные сферы:

- встаю в 5 утра, ложусь к 10 вечера +1 (всего - 18 дней)

- изучаю английский язык +1 (всего - 60 дней)

- читаю полезные книги/аудиокниги (всего - 9 дней)

- силовая тренировка через день +1(отдых) (всего - 17 дней)

- зарядка утром +1 (всего 20 дней)
Please open Telegram to view this post
VIEW IN TELEGRAM
21.02.2023
Челлендж - день 84🏔

👨‍💻 Работа:

Закрыл 1 задачу - RefreshIndicator не обновлял страницу, если заходишь в приложение без интернета. Нужно было пофиксить) Разобрался с условием на обновление данных, всё работает)
Сделал еще 1 задачу, но жду правки с бекенда

🧑‍🎓 Что изучаю/сложности/интересное:

В первой задаче получил интересное замечание на ревью. У меня была вложенность - родитель ListView и ниже ListVIew.separated.
Это плохая практика, здесь хорошее объяснение: https://www.youtube.com/watch?v=LUqDNnv_dh0

✈️ Английский язык:

+0,26 ч. - задания на площадке Яндекс.практикум

💪 Спорт:

4 дня не было постов, за это время стабильно ходил в зал и второй раз плавал в бассейне.
В этот раз с очками, чтоб снять лишнюю нагрузку при плавании. Помните, первый раз меня хватило минут на 9 и все мышцы забились?😁 Сейчас время увеличилось в 2.5 раза:)

С очками плавать намного лучше, тк голова находится в воде и меньше устаешь🥽

Прошлая неделя была первой неделей в зале. По итогу на весах +1кг(набираю)

👍 Баланс работа-остальные сферы:

- встаю в 5 утра, ложусь к 10 вечера + 4 (всего 9 дней)

- изучаю английский язык +4 (всего - 148 дней)

- зарядка утром +4 (всего 9 дней)

- отказ от сладкого, мучного и фастфуда +2 (всего 7 дней)
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное

У Алексея вышло 2 хороших видео по темам Жизненный цикл элементов во Flutter и Как работает EventLoop в Dart


1️⃣ В видео:
https://www.youtube.com/watch?v=Lhr8w_wpmFY

🟢как Flutter перестраивает дерево элементов
🟢как работает жизненный цикл элемента на примере State у StatefulWidget
🟢локальные/глобальные ключи при перестройке дерева элементов
🟢способы оптимизации перестроения дерева
🟢const

Советы из видео по оптимизации:

🔜 Старайтесь избегать напрямую вызова метода setState. Если все-таки делаете это, старайтесь делать это как можно ниже к элементам вашего дерева. Лучше всего использовать для этого стейтменеджеры

🔜 Избегайте как можно больше изменений иерархии вашего виджета. Если вы будете делать это без использования глобальных ключей(в примере), то на каждый элемент будет происходить новое создание. То есть иерархия у вас была из 100 виджетов, вы всего-лишь добавили обёртку в виде какого-нибудь Center и иерархия из 100 виджетов у вас просто с нуля пересоздалась, если конечно у вас не было глобальных ключей. И вот представьте, что вы делаете такое изменение иерархии внутри анимации, которая происходит на каждый кадр


2️⃣ В видео:
https://www.youtube.com/watch?v=eoPrGo4ffUA

🟢как работает EventLoop в Dart
🟢за счёт чего достигается асинхронное выполнение
🟢логика EventLoop
🟢подробный разбор задачки с собеседований по EventLoop(в какой последовательности будут распечатаны сообщения на экране?)
🟢общий разбор изолятов
🟢связь между EventLoop - запросы в сеть - чтение с диска


3️⃣ Статья из видео:
Why Flutter? Почему Flutter?
https://habr.com/ru/articles/787174/
Please open Telegram to view this post
VIEW IN TELEGRAM