Дневник Flutter-разработчика
3.11K subscribers
323 photos
22 videos
10 files
290 links
Описание моего пути мобильного разработчика с нуля до junior, middle, senior
Download Telegram
День 145:

Ecommerce проект:
Верстаю новый экран - Product Details
Прилагаю скрин с макета фигмы, так как пока показать нечего
Я написал get запрос и он выдает ошибки😁 Завтра пересмотрю видео Константина Кокорина по работе с сетью и исправлю:)

На этом экране все данные приходят от API.
Из логики:
- кнопка "добавить в избранное" c добавлением в избранное
- выбор цвета
- выбор кол-ва gb
- кнопка "добавить в корзину" с добавлением в корзину
- количество звезд(рейтинг) на основе цифр от api
- карусель в центре при свайпе меняет элемент

+1,18 часа английского
3 серия 2 сезона сериала Сверхъестественное

Итого: 172 ч. 30 м.

Спорт, здоровье
- зарядка
101 день не ем сахар, мучное и фастфуд

Прививаю полезные привычки:
+ здоровый сон(пробую 23:00-6:00) 4 из 90 (+0)
+ зарядка/растяжка утром 15 из 90 (+0)
+ силовые тренировки через день 0 из 90 (+0)
+ изучение доки dart/flutter час в день 4 из 90 (+0)
День 146:

Ecommerce проект:
Верстаю Product Details
Get запрос еще не исправил, потому там затычка
Прикладываю скрин рабочего процесса)
Здесь все сверстал, что просто показывается. Остальная верстка через get запрос к api

Понял, что с позиционированием у меня была большая беда😁
P.S. Мне помогли понять👍
Я тратил уйму времени на подгонку через padding, positioned.
По итогу всё это съедет при запуске на любом другом экране.

Позиционировать нужно через Column/Row и mainAxisAlignment/crossAxisAlignment, как я сейчас и делаю. К тому же теперь это экономит кучу времени)

+1,21 часа английского
4 серия 2 сезона сериала Сверхъестественное

Итого: 173 ч. 51 м.

Спорт, здоровье
- зарядка
102 дня не ем сахар, мучное и фастфуд

Полезные привычки не влезли, текста не хватило. Сегодня по 0 в этом. Но я планирую за это взяться:)
День 147:
+ 6,52 часа программирования
(практика)

Ecommerce проект:
Верстаю Product Details
Много времени занял get запрос, так как я долго не мог понять ошибку) Мне приходил 200 ответ, но пустой. Ошибки не было. Как оказалось - при копипасте url не вставилась одна буква😁
То есть url был неверным, а 200 ответ приходил😅

P.S. В слайдере 3 картинки и все одинаковые, так как все 3 одинаковые и в api

Сейчас у меня FutureBuilder у слайдера и только в нем я передаю данные от api.
Чтоб передавать данные от апи по всему экрану, нужно прописать глобальный FutureBuilder у родителя

Еще интересно, как рейтинг звезд завязать на интовом ответе от api.
Напоследок эту часть оставил, как вишенку на торте:)

+1,25 часа английского
5 серия 2 сезона сериала Сверхъестественное

Итого: 175 ч. 16 м.

Спорт, здоровье
- зарядка
102 дня не ем сахар, мучное и фастфуд

Полезные привычки снова не влезли, много текста. Сегодня здесь по нулям.
День 148:
+ 2,32 часа программирования
(практика)

Ecommerce проект:
Сегодня был занят в офлайне.
Примерно с 9 вечера принялся переписывать BottomNavigationBar.

Я вижу 2 проблемы:
1. Самописная реализация по видео LazyLoad. Без внутренней навигации, она тоже самописная.
2. При переключении вкладок было предупреждение - одна иконка накладывалась на вторую из-за Explorer. Стандартное поведение при переключении - иконка съезжает влево/вправо

По первому пункту я хотел переписать на вариант из доки, так как я его понимаю) Не получилось из-за кастомных размеров, скруглений углов. В начале виджета получается много чайлдов. Может там нужен стек, но тогда какая-то каша получается)

По второму пункту я прописал type: BottomNavigationBarType.fixed, он убирает анимацию переключения.
Теперь все иконки съехали вверх😁 Предполагаю, что это из-за label(он у меня ' ' ), но его нужно обязательно передавать в BottomNavBarItem вместе с icon.
В Row их(items) тоже не завернуть списком чилдренов(это и так список items), тогда можно было бы спозиционировать.

+1,04 часа английского
6 серия 2 сезона сериала Сверхъестественное

Итого: 176 ч. 20 м.

Спорт, здоровье
- зарядка
103 дня не ем сахар, мучное и фастфуд

Прививаю полезные привычки:
+ здоровый сон(пробую 23:00-6:00) 4 из 90 (+0)
+ зарядка/растяжка утром 15 из 90 (+0)
+ силовые тренировки через день 0 из 90 (+0)
+ изучение доки dart/flutter час в день 4 из 90 (+0)
День 149:

Ecommerce проект:
Переписал BottomNavBar. Теперь он классический, по доке. Разобрался с позиционированием иконок внутри. Оказалось, что label можно просто не показывать, прописав false(и тогда иконки становятся по центру). Нигде этого не видел в ответах, узнал из видео.

Планировал сделать глобальный FutureBuilder на экран для передачи данных. Понял, что решение костыльное и здесь нужен стейт менеджер.
Мне сказали изучить блок и сделать это через BLoc:) Смотрю курс Константина Кокорина, изучаю

+1,09 часа английского
7 серия 2 сезона сериала Сверхъестественное

Итого: 177 ч. 29 м.

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

Прививаю полезные привычки:
+ здоровый сон(пробую 23:00-6:00) 1 из 90 (+1)
+ зарядка/растяжка утром 1 из 90 (+1)
+ силовые тренировки через день 1 из 90 (+1)
+ изучение доки dart/flutter час в день 1 из 90 (+1)
Здесь обнулил предыдущие попытки и так как сегодня всё выполнил, пробую идти так и дальше:)
День 150:
Сегодня юбилей - 5 месяцев изучаю dart/flutter:)

Ecommerce проект:
Утром мне подкинули идею с кеш-бек сервисами. Большую часть времени занимался изучением этого вопроса.
Вечером изучал документацию dart, сейчас на "Switch and case".

По кешбеку. Оказывается немало денег можно возвращать через эти сервисы😁 Пример: карта TInkoff Black с pro или просто + LatyShops.
Сервис LatyShops возвращает часть денег за покупки в интернет магазинах. Это приложение/сайт/расширение в браузере.
Карта TInkoff возвращает 1% со всех покупок, 5% по нескольким выбранным клиентом категориям и повышенные проценты у партнеров. Так же у Tinkoff начисление 4% или 7% на остаток по карте.

Тема интересная и я думаю кэшбеком в течение года могут набегать немалые суммы. Если вы так же как и я раньше этим не пользовались - начинайте)
Чтоб вы понимали - я пользовался картой сбера с 0 каких-либо плюсов.
LatyShops установил, карту Tinkoff Black заказал:)

P.S. Стоимость обслуживания TInkoff Black 99р или бесплатно при отмене тарифа. Выпуск бесплатный. LatyShops бесплатно, но вывести дает только от 500р с сервиса

+1,26 часа английского
8 серия 2 сезона сериала Сверхъестественное на англ. с англ. субтитрами

Итого: 179 ч. 55 м.

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

Прививаю полезные привычки:
+ здоровый сон(пробую 23:00-6:00) 2 из 90 (+1)
+ зарядка/растяжка утром 2 из 90 (+1)
+ силовые тренировки через день 2 из 90 (+1)
+ изучение доки dart/flutter час в день 2 из 90 (+1)
День 151:

Ecommerce проект:
Почти завершил курс Константина Кокорина. Узнал много нового) Много мелочей, которые раньше упускал или просто не понимал/не знал
+ изучаю документацию по dart language tour

Так же сегодня у Константина вышло 2 новых интересных видео на канале:
Подкапотная работа Flutter с виджетами
https://www.youtube.com/watch?v=L1qdDCS5qRo

Как работают ключи во Flutter
https://www.youtube.com/watch?v=79lJm-pubYo

+1,35 часа английского
9 серия 2 сезона сериала Сверхъестественное на англ. с англ. субтитрами

Итого: 181 ч. 30 м.

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

Прививаю полезные привычки:
+ здоровый сон(пробую 23:00-6:00) 3 из 90 (+1)
+ зарядка/растяжка утром 3 из 90 (+1)
+ силовые тренировки через день 3 из 90 (+1)
+ изучение доки dart/flutter час в день 3 из 90 (+1)
День 152:

Ecommerce проект:
По курсу Константина Кокорина переписал ListView. У меня всё было костыльно и 170 строк кода) Сейчас это 67 строк кода и выглядит в разы лучше:) Еще несколько таких моментов благодаря курсу заметил, которые можно порефачить.
За BLoc еще не брался
+ изучаю документацию по dart language tour

+1,22 часа английского
10 серия 2 сезона сериала Сверхъестественное на англ. с англ. субтитрами

Итого: 182 ч. 52 м.

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

Прививаю полезные привычки:
+ здоровый сон(пробую 23:00-6:00) 4 из 90 (+1)
+ зарядка/растяжка утром 4 из 90 (+1)
+ силовые тренировки через день 4 из 90 (+1)
+ изучение доки dart/flutter час в день 4 из 90 (+1)
День 153:

Ecommerce проект:
Пока еще изучаю курс Константина Кокорина:)

+1,26 часа английского
11 серия 2 сезона сериала Сверхъестественное на англ. с англ. субтитрами

Итого: 184 ч. 18 м.

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

Прививаю полезные привычки:
+ здоровый сон(пробую 23:00-6:00) 4 из 90 (+0)
+ зарядка/растяжка утром 5 из 90 (+1)
+ силовые тренировки через день 5 из 90 (+1)
+ изучение доки dart/flutter час в день 4 из 90 (+0)
День 154:

Ecommerce проект:
Начал прокрастинировать и у меня появилась идея - 90дневный челлендж:)
Суть: официально стать мобильным разработчиком, то есть официально трудоустроиться Flutter разработчиком. 90 дней, потому что мой день рождения 11 мая. Подарок себе😁

За это время мне нужно подготовить проект в портфолио, подготовиться к собеседованиям, успешно пройти собеседование. Ecommerce проект почти завершен, осталось с BLoc разобраться, архитектуры изучить и много чего ещё)

Завтра возьму выходной от интернета, чтоб отдохнуть и завершить все дела.

Старт 9.02.2022 и до 10.05.2022:)

+0,59 часа английского
12 серия 2 сезона сериала Сверхъестественное на англ. с англ. субтитрами

Итого: 185 ч. 17 м.

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

Прививаю полезные привычки:
+ здоровый сон(пробую 23:00-6:00) 4 из 90 (+0)
+ зарядка/растяжка утром 6 из 90 (+1)
+ силовые тренировки через день 6 из 90 (+1)
+ изучение доки dart/flutter час в день 4 из 90 (+0)
День 155:

Ecommerce проект:
Сегодня был выходной от пк по большей части)

По челленджу всё в силе, старт завтра, но сроки изменились. Попробую выполнить за месяц:)
Неделя на завершение проекта и пару недель на подготовку. Звучит вполне осуществимо:)

+2,36 часа английского
13, 14 серии 2 сезона сериала Сверхъестественное на англ. с англ. субтитрами

Итого: 187 ч. 53 м.

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

Прививаю полезные привычки:
+ здоровый сон(пробую 23:00-6:00) 4 из 90 (+0)
+ зарядка/растяжка утром 6 из 90 (+0)
+ силовые тренировки через день 7 из 90 (+1)
+ изучение доки dart/flutter час в день 4 из 90 (+0)
День 156:

Ecommerce проект:
Изучал управление состоянием.
Inherited Widget, Provider. Перешёл к изучению BLoc:)

+1,12 часа английского
15 серия 2 сезона сериала Сверхъестественное на англ. с англ. субтитрами

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

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

Прививаю полезные привычки:
+ здоровый сон(пробую 23:00-6:00) 4 из 90 (+0)
+ зарядка/растяжка утром 6 из 90 (+0)
+ силовые тренировки через день 7 из 90 (+0)
+ изучение доки dart/flutter час в день 4 из 90 (+0)
День 157:

Ecommerce проект:
С BLoc в теории разобрался.
Он отделяет логику от ui кода.
Обычно с блоком(flutter_bloc - библиотека от Felix Angelov) работают так:
- сначала мы описываем события, которые хотим получать от нашего приложения
- потом описываем состояние, которое мы хотим, чтобы выполняло наше приложение
- дальше преобразовываем события в новое состояние
- показываем в нашем дереве виджетов через BlocProvider

Общую часть я понял, но как применять в моем случае - не совсем)
На моем экране мне нужно передавать данные из сети в нескольких местах(в примерах просто получают данные на экране в одном месте).
Нужно все состояния/события на эти "места" прописывать и все на ошибки обрабатывать?

+1,31 часа английского
16 серия 2 сезона сериала Сверхъестественное на англ. с англ. субтитрами

Итого: 189 ч. 36 м.

Спорт, здоровье
- зарядка
- силовая тренировка
111 дней не ем сахар, мучное и фастфуд

Прививаю полезные привычки:
+ здоровый сон(пробую 23:00-6:00) 4 из 90 (+0)
+ зарядка/растяжка утром 6 из 90 (+0)
+ силовые тренировки через день 7 из 90 (+0)
+ изучение доки dart/flutter час в день 4 из 90 (+0)
День 158:
+ 5,03 часов программирования
(+ 1,15 практика
+ 3,48 теория
Bloc)

Ecommerce проект:
Написал большую часть по блоку. Завтра допишу, надеюсь всё заработает с первого раза
Планировал сегодня всё расписать, отвлекли помощью в реале на пол дня)

Хочу посоветовать расширение для VS Code https://marketplace.visualstudio.com/items?itemName=jeroen-meijer.pubspec-assist
Pubspec Assist позволяет прописать внутри vs code название пакета и сам прописывает последнюю версию в ваш pubspec.
Давно пользуюсь, экономит время

+1,02 часа английского
17 серия 2 сезона сериала Сверхъестественное на англ. с англ. субтитрами

Итого: 190 ч. 38 м.

Спорт, здоровье
- зарядка
- силовая тренировка
112 дней не ем сахар, мучное и фастфуд

Прививаю полезные привычки:
+ здоровый сон(пробую 23:00-6:00) 4 из 90 (+0)
+ зарядка/растяжка утром 6 из 90 (+0)
+ силовые тренировки через день 7 из 90 (+0)
+ изучение доки dart/flutter час в день 4 из 90 (+0)

Пока что плохо идёт с привычками. По большей части из-за сна. Ложишься поздно, встаешь поздно и в течении дня ничего не успеваешь) Потому главная цель сейчас по привычкам - вставать раньше, ложиться раньше.
День 159:
+ 4,57 часов программирования
(+ 2,44 практика
+ 2,13 теория
Bloc)

Ecommerce проект:
Получаю стейт от блока, но не тот, который мне нужен) Скрин прилагаю.

Пишу по курсу Константина Кокорина.
Знаю, в чем проблема. Не знаю, как исправить)
В видео он вешает событие на кнопку, слушает его и по нажатию получает данные.
Если просто показ данных, на что событие вешать?

+1,09 часа английского
18 серия 2 сезона сериала Сверхъестественное на англ. с англ. субтитрами

Итого: 191 ч. 47 м.

Спорт, здоровье
- зарядка
- силовая тренировка
113 дней не ем сахар, мучное и фастфуд

Прививаю полезные привычки:
+ здоровый сон(пробую 23:00-6:00) 4 из 90 (+0)
+ зарядка/растяжка утром 6 из 90 (+0)
+ силовые тренировки через день 7 из 90 (+0)
+ изучение доки dart/flutter час в день 4 из 90 (+0)

С привычками всё начнет двигаться с завтрашнего дня:)