Дневник Flutter-разработчика
2.97K subscribers
330 photos
26 videos
11 files
302 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)
👍5
День 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)
👍1
Forwarded from Product Friendly
Как упростить работу и повысить продуктивность Flutter-разработчика?

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

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

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

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

#flutter
👍11💩1
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
👍11🔥3
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
👍16🔥51🫡1
#полезное

У Алексея вышло 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
🔥233👍21
Forwarded from Flutter Pulse
🚀 Flutter 3.38: Новый уровень продуктивности для разработчиков!

Flutter 3.38 уже здесь, и он заставляет писать меньше, а создавать больше! 🔥 Обновление полно крутых фишек, улучшений UI и инструментов для веба, iOS, Android и десктопа.

Главные фишки нового релиза

1️⃣ Сокращения точек в Dart
Пишите лаконично: .start вместо MainAxisAlignment.start и .all(8.0) вместо EdgeInsets.all(8.0)
Поддержка именованных конструкторов и улучшенная читаемость кода

2️⃣ Веб-разработка на новом уровне
Конфигурационные файлы web_dev_config.yaml для хоста, порта и заголовков
Настройки прокси прямо в проекте
Улучшенная горячая перезагрузка, даже с несколькими браузерами

3️⃣ Фреймворк и UI
OverlayPortal для гибкого отображения всплывающих виджетов
Предиктивные переходы назад на Android
Расширенная интеграция с десктопом: информация о мониторах и окнах на Windows
Исправления жизненного цикла виджетов и стабильность ResizeImage

4️⃣ Material & Cupertino
Унификация API через WidgetState
Новые возможности Badge.count(maxCount), InkWell.onLongPressUp
Улучшения iOS-виджетов: CupertinoSlidingSegmentedControl, CupertinoSheet
Полировка компонентов: DropdownMenuFormField, SegmentedButton

5️⃣ Прокрутка и Sliver
Надёжная обработка жестов и точная навигация по фокусу
Новый конструктор SliverGrid.list
Улучшения для сложных макетов и вложенных слайверов

6️⃣ Доступность
SliverSemantics для аннотаций слайверов
AutoComplete сообщает статус поиска
Увеличенные целевые области касания в TimePicker

7️⃣ iOS и Android
Поддержка iOS 26, Xcode 26, macOS 26
Миграция на жизненный цикл UIScene
Совместимость с размером страницы 16 КБ на Android
Исправления утечек памяти и обновление NDK

8️⃣ Двигатель и DevTools
Унификация рендереров CanvasKit и Skwasm
Vulkan/OpenGL ES: стабильность и производительность
Расширенные предварительные просмотры виджетов в IDE (MultiPreview, группы, кастомные аннотации)
Исправления панели сети и Flutter Inspector

9️⃣ Устаревания и важные изменения

Новый flutter.version.json вместо version
Устаревшие свойства CupertinoDynamicColor
Java 17 обязательна для Android

🌟 Flutter 3.38 — это меньше шаблонного кода, больше контроля над UI и продуктивность на всех платформах.

📌 Полезные ссылки:
Полный перевод статьи от нашего канала
Оригинал статьи


#flutter #dart #flutterpulse #FlutterPulsenews #mobiledev #crossplatform #flutterdev #dartlang #UI #DevTools #iOS #Android #webdev
👍18🔥64