Дневник Flutter-разработчика
3.1K subscribers
323 photos
22 videos
10 files
290 links
Описание моего пути мобильного разработчика с нуля до junior, middle, senior
Download Telegram
Сегодня был интересный вопрос:
"Стоит ли использовать VSCode вместо Android Studio?
Лишит ли это меня каких-то возможностей?
"

Решил сюда продублировать свой ответ, так как часто его задают.
Тема холиварная, пишите в комментариях, что для вас лучше, VSCode или Android Studio? И почему :)


Плюсы и минусы, которые я заметил и которые знаю:

VSCode:
плюсы:
- большое количество плагинов, большинства из которых нет в AS
- легковесный, ест меньше оперативки
- быстрее AS

минусы:
- работа с гитом через плагины, которые не круче работы с гитом из коробки AS

Еще такой минус - мне например в вс коде приходится каждый раз с нуля писать коммит, в студии поле уже заполнено предыдущим коммитом.

Это особенно удобно, когда у вас в компании коммиты типа feat(): сделал то-то TS-550
В студии тебе нужно поменять только центр от коммита к коммиту в этой ветке

Android Studio:
плюсы:
- отличная работа с гитом из коробки
- для себя отметил, что дебагинг тоже лучше, чем в AS
- как ни крути, AS считают полноценной IDE, а VSCode редактором кода

минусы:
- отъедает больше оперативки, чем VSCode
- многие говорят, что не такой шустрый, как VSCode(местами да, особенно при билде)
- нет такого большого количества плагинов

Вначале я работал с VSCode, дальше перешел на студию из за отличной работы с гитом из коробки и более удобного дебагинга
Купил себе MacBook Pro:)

14 дюймов, процессор m1 pro, 16 гб оперативки, 512 гб ссд🧑‍💻

Заказывал в dns. В характеристиках было указано, что есть ру гравировка. Ноут приехал без гравировки😄
Со слепой печатью проблем нет, так что это не большая проблема)

Работал сегодня первый день на нем. Пока все нравится. Быстрый и заряд держит долго. Хоткеи клавиатуры непривычные, привыкаю) Еще он очень тяжелый, в сравнении с macbook air(у девушки). У них разница в 300 грамм, но прошка буд-то килограмма на 2 тяжелее😁

В целом пользоваться им очень приятно. Как он был упакован - различные мелочи и тд. Быстрая зарядка. Печатать на нем одно удовольствие. В общем первые впечатления очень положительные)

Настраивал его для работы, никаких проблем с флаттером не возникло. Без проблем все по доке встает.

Это мой первый мак, посоветуйте проги и чем вообще пользуетесь?) Пока проблемы с выбором программы для записи экрана(видео, звук)
13.03.2023
Челлендж - день 104🏔

👨‍💻 Работа:

Начали новый спринт. Все хорошо, опыт растет:)
С появлением мака теперь тестирую задачи и на эмуляторе IOS

P.S. Фото - вид на Волгу в 10 минутах от моего дома

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

Мак есть, можно и Swift глянуть)
Изучаю SwiftBook:)

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

За месяц набрал 3кг. 1,2 кг мышечной, остальное - жировой)
Начал с 64кг и хотелось бы 70. В среднем в неделю выходит 3 занятия в трен. зале и 3-4 в бассейне. Все после работы, в 5 вечера🏖️

Вначале я пробовал плавать и заниматься до работы(рано утром). Это было плохой идеее, так как дальше состояние совсем не рабочее) Особенно после бассейна.

А вот после работы, в 5 вечера - отлично. Плюс все рабочие задачи стараешься быстрее завершить к этому времени

Вначале я плавал очень плохо. Не умел плавать кролем, быстро уставал и выдыхался. Сейчас все намного лучше(обучающие видео на ютубе, эксперименты) и плаваю с большим удоволствием)

Так что если вы решите начать плавать в бассейне - не переживайте из-за первых ‘тяжелых сеансов’, тк вы быстро адаптируетесь и дальше будет только лучше😉

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

+0,47ч. - занятие с репетитором Яндекс. практикум, Duolingo. Мы прошли Present Continuous и Present Perfect. Сейчас закрепляем эти темы

Прогресс хорошо заметен, тк мы все больше общаемся на англ. каждое занятие🤓

💪 Спорт:

- тренажерный зал/бассейн +1 бассейн

+8100 шагов за день

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

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

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

- зарядка утром +1 (всего 1 день)

- отказ от сладкого, мучного и фастфуда +1 (всего 1 день)

Со сладким и зарядкой возникли проблемы - ел все, что хотел) Но процент жира мне не равится. Хочу в этом месяце провести эксперимент и посмотреть, сколько я наберу без мучного и сахара🏋️‍♀️
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
17.03.2023
Челлендж - день 108🏔

👨‍💻 Работа:

Сделал 3 задачи

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

Хочу поделиться интересным хоткеем(скрин)
У меня Android Studio, но и в VS Code он наверняка есть

Если вам нужно быстро отрефакторить код - например, вынести повторяющийся код в переменную - можно воспользоваться хоткеем и сделать это буквально в пару кликов

На видео одним хоткеем выношу 5 повторяющихся строк кода в одну переменную.
Думаю тоже начнете им пользоваться😉

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

+0,41ч. - занятие с репетитором Яндекс. практикум. Закрепляем время Present Perfect

💪 Спорт:

- тренажерный зал/бассейн +3 дня бассейна. В зал пока не тянет)

8000+ шагов в день

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

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

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

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

- отказ от сладкого, мучного и фастфуда +3 (всего 4 дня)
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
21.03.2023
Челлендж - день 112🏔

👨‍💻 Работа:

Сделал одну задачу и основную часть другой

Первая была связана с показом экрана на случай отсутствия интернета в приложении. Плюс если интернет появился, экран нужно обновить и снова получить все данные)

Вторая связана с фиксом разных багов на экранах

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

Сейчас изучаю swift. Синтаксис похож на flutter и у них много общего) Те же переменные и константы, тернарники, null и много чего еще) Подробнее расскажу в следующем посте

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

+0,39ч. - занятие с репетитором Яндекс. практикум. Одно из сегодняшних заданий - задать по 3 вопроса для каждой ситуации(скрин)

💪 Спорт:

- тренажерный зал/бассейн +бассейн сегодня

7100 шагов за день

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

- встаю в 5 утра, ложусь к 10 вечера + 3 (всего 32 дня). В выходные встаю в это время без будильника

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

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

- отказ от сладкого, мучного и фастфуда +3 (всего 7 дней)
Please open Telegram to view this post
VIEW IN TELEGRAM
Знаю, что меня читают как начинающие, так и опытные разработчики. И тем и другим может быть полезен этот анонс от Академии Яндекса.

Продолжается набор в Летние школы — разработки интерфейсов, мобильной разработки (iOS, Android, Flutter), бэкенд-разработки (Python, Java, C++, Go) и Школы менеджеров. С этого дня на страницах школ можно получить вступительное задание, которое поможет стать студентом одной из школ.

Обучение бесплатное, будет проходить в два этапа: онлайн-лекции и оффлайн-практика — в офисах Яндекса в Москве, Белграде и Алматы. Если вы из другого города, Яндекс поможет с оплатой билетов и проживания на время обучения.

Прием заявок и выполнение вступительных испытаний до 13 апреля для Школы менеджеров, и до 27 апреля для школ разработки.

29 марта на Дне открытых дверей можно будет познакомиться с руководителями Школ. Вы сможете посмотреть разбор вступительных заданий прошлых лет и задать свои вопросы. Не упустите свой шанс поучиться у тех, кто создает индустрию. Регистрируйтесь и дерзайте!
03.04.2023
Челлендж - день 125🏔

👨‍💻 Работа:

Впервые не уложился в спринт)
Причина проста - мне добавились 2 горящие задачи, которые я сразу сделал, но из-за этого 1 задачу спринта не успеваю закрыть. Написал project meneder’у, он сказал да, все окей, просто перенесем ее на новый спринт:)
Такой вот новый опыт😅

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

Мы уже реализовали основной функционал нового приложения и мои задачи сейчас +- такие:
- реализовать баннеры/новый раздел/новый экран на моковых данных, следующей задачей реализовать интеграцию с бекендом
- пофиксить баг по неправильному поведению
- пофиксить что-либо по верстке(расхождение с макетом)
- написать unit тесты
- реализовать заглушку, если например нет интернета

Это из того, что сразу вспомнилось🙃

Так же изучаю swift. Пока что процесс идет медленно. Думаю начать делать ежедневные отчеты в блоге, как делал с изучением flutter’a🧑‍🎓 Это значительно все ускорит

Сейчас мне очень нравится спорт. активность в жизни. Так как каждый день мне нужно идти до бассейна или тренажерного зала, это добавляет еще 7-8 тысяч шагов.
Благодаря этому намного больше энергии в течении дня, но основной плюс, который я заметил - не перерабатываешь и стараешься все завершить до 5 вечера. Тк в 5 вечера у меня тренировка.

То, что раньше занимало намного больше времени(рабочие задачи), теперь легко укладывается до 5 часов)

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

+0,32ч. - задания на площадке Яндекс. практикум. Скрин - пример занятия с преподавателем. На эти вопросы я устно отвечаю и сразу обсуждаем

💪 Спорт:

- тренажерный зал/бассейн +бассейн сегодня

6800 шагов за день

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

- встаю в 5 утра, ложусь к 10 вечера + 11 (всего 33 дня).

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

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

- отказ от сладкого, мучного и фастфуда +0 (это все сладкоежка рядом, меня заставляют😄)
Please open Telegram to view this post
VIEW IN TELEGRAM
11.04.2023
Челлендж - день 133🏔

👨‍💻 Работа:

Сделал 2 задачи

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

Одна из последних задач - отформатировать приходящую с бекенда цену товаров. Каждая цена должна быть в формате .00 если нет копеек и если цена >= 1000.00, то приводить ее к формату 1 000.00 (добавлять пробел)

Казалось бы, простой метод, но нужно было подумать) Несколько раз переписывал
В итоге отправил на pr большой метод, в котором dart metrics показывал 5 циклов😅 Цикломатическая сложность сильно увеличилась (скрин 1)

На ревью сказали декомпозировать метод. Разделил на 4 маленьких:) (скрин 2 - зеленый)
Всё покрываем комментариями

Метод проверяет приходяющую цену на >= 1000.00, добавляет 2 знака после точки через метод .toStringAsFixed(2).
Разделяет цену по точке на 2 части и по первой части цикл проходится с конца строки. Если обработал 3 цифры, то добавляет пробел в начало

Вот такая задачка:)

Продолжаю изучать Swift по SwiftBook. По большей части язык похож на dart)

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

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

💪 Спорт:

- тренажерный зал/бассейн + бассейн. Каждый день хожу в бассейн, зал пока что надоел)

7166 шагов за день

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

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

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

- отказ от сладкого, мучного и фастфуда +0

- добавил интервальное голодание. +1 (всего 1 день)
Сейчас 15-9(15 часов не ем, 9 ем). Идет легко, посмотрим на результаты)
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
21.04.2023
Челлендж - день 143🏔


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

Есть к Вам 2 вопроса🤓:
1) Если вы зарегистрировали ваш bloc через аннотацию как @LazySingleton, вы потом даете провайдер или получаете доступ через локатор? getIt, например.

Просто мне кажется ошибка регать блок c injectable, а потом получать доступ через провайдер. Правильнее через локатор его и получать

2) Как расписываете энтити? И как парсите данные?
Я думал, что если в документации от бекенда поле прописано как double, то и тип обязательно придет double. На практике не так)) Бывает, что может прийти int и вы просто ничего не отобразите, словите ошибку. Мне понравился такой вариант - все поля записывать как String и дальше их обрабатывать

Например вам приходит поле sale (размер скидки). Оно по доке у вас записано как int. Прописываете как String и дальше парсите как sale: (int.tryParse(json['sale'].toString()) ?? double.tryParse(json['sale'].toString()) ?? 0).toString(),
В таком случае вам без разницы, double вам отправят или int, вы отобразите значение. В любом другом случае вы отобразите 0, который так же можете обработать ниже в геттере как bool get saleIsValid => sale != '0'; и добавить проверку в вашем ui, если например вам не нужно вообще выводить нулевую скидку, то добавляете в условие вашаЭнтити.saleIsValid

Конечно все это нужно хорошенько покрыть тестами(при написании много нового можно узнать))


Меня отправляют в отпуск на 16 дней) С 27 апреля. У меня уже почти год коммерч. опыта, за этот год я ни разу не был в отпуске😅

Долгое время вставал в 5 утра. В последнее время нагрузки сильно прибавилось - дополнительное самообразование после работы, спорт и прочее. Недавно решил попробовать вставать в 6 утра. Качество сна улучшилось и сейчас на уровне 89-95%(отслеживаю через mi band 7)

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

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

💪 Спорт:

- тренажерный зал/бассейн + бассейн

5500 шагов за день (по снегу эта же дорога до бассейна занимала почти 8000 шагов)

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

- встаю в 6 утра, ложусь к 10 вечера + 3 (всего 3 дня).

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

- отказ от сладкого, мучного и фастфуда +3 (всего 3 дня)

- добавил интервальное голодание. +10 (всего 11 дней)
Сейчас 15-9(15 часов не ем, 9 ем)
Заметно скинул лишний жирок с живота😄
Please open Telegram to view this post
VIEW IN TELEGRAM
Академия Яндекса заканчивает набор по треку Flutter в Школе Мобильной Разработки.

Школа — это 3 месяца обучения Флаттеру через написание проектов с нашими лекторами и менторами.
На первом этапе — онлайн-лекции и домашки. На втором — оффлайн часть-непрерывный-хакатон в офисах в Москве, Белграде или Алматы.

История бесплатная, кто живёт в другом городе — для второго этапа оплатим билеты и проживание. После Школы, если захотите, можно пройти к нам собесы и прийти работать, если всё сложится.

Чтобы попасть в школу, надо подать заявку и сделать тестовое. Прием заявок открыт до 27 апреля включительно. Сами занятия начнутся в начале лета.
Интересное приложение:) Показывает, какие из приложений на вашем смартфоне написаны на flutter. Так же показывает список пакетов в приложении

Удивился, что Binance на flutter😁
https://play.google.com/store/apps/details?id=com.fluttershark.fluttersharkapp&hl=ru
Сегодня много новостей:

🟢1) 11 мая 2022 года был мой первый рабочий день мобильным flutter разработчиком и сегодня у меня ровно год коммерческого опыта👨‍💻

Несравнимые отличия между тем, что я умел тогда и что умею сейчас)

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

За этот год в рамках одной компании я поработал на 3 разных проектах.
Один проект мы с лидом стартовали с нуля, я участвовал в выборе технологий и закладывании архитектуры.
Бесценный опыт)
Этот проект почти уже доведен до релиза и скоро окажется в сторах 💪

🟢2) Сегодня мой День Рождения🥳
Что интересно, ровно год назад я официально стал мобильным разработчиком, в свой день рождения😄

Если этот блог помог вам за время его существования - напишите мне об этом @Hey_008, слышать это всегда приятно и здорово мотивирует продолжать:)
Если у вас есть мысли, что хотелось бы видеть в блоге или идеи - тоже пишите, буду рад👍

🟢3) Google не могли пропустить такой праздник и выпустили новую версия dart - Dart 3.0.0😄🥳
https://medium.com/dartlang/announcing-dart-3-53f065a10635

Flutter тоже обновился - новая версия 3.10.0
https://medium.com/flutter/whats-new-in-flutter-3-10-b21db2c38c73

🟢4) Блог начал приносить небольшой доход:)
Вы уже заметили, что иногда выходят рекламные посты. Всегда эти посты связаны с темой блога(flutter). От всех остальных рекламных предложений я отказываюсь:)

🟢P.S. Сейчас я в двухнедельном отпуске и стараюсь максимально отдыхать от пк.
Недавно нашли новый интересный баг flutter приложений на смартфонах Xiaomi, скоро о нем расскажу)
Please open Telegram to view this post
VIEW IN TELEGRAM
Flutter-команда Friflex подготовила перевод официального релиза Flutter 3.10

Что нового:
✔️ Обновленный Dart 3
✔️ Переход на Impeller
✔️ Сокращение времени запуска iOS-приложений
✔️ Встроенный просмотрщик трассировки Perfetto
и много других инструментов для разработчиков
https://vc.ru/dev/692346-flutter-3-10-chto-novogo


На канале Мобильный разработчик вышло видео с разъяснениями от опытного разработчика по новому обновлению Dart 3.
Советую посмотреть, видео на 9 минут👍
https://www.youtube.com/watch?v=IGwCujbWKds
Please open Telegram to view this post
VIEW IN TELEGRAM
14.06.2023

👨‍💻 Работа:

Приложение, над которым мы работали пол года, готово к релизу и сейчас проходит стадию активного тестирования:)

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

Если вы обновлялись на последние версии flutter, то возможно замечали в проде такой баг в товарах на ios(розовая картинка)

Появляется иногда, когда пользователь скрывает приложение, оно висит фоном, заходит обратно и картинка товара становится такого цвета)

https://github.com/flutter/flutter/issues/126878

Это исправили только во Flutter 3.10.3
Не забудьте обновиться) Сейчас уже доступен Flutter 3.10.4



Я был в отпуске и после него не вел блог в привычном режиме. Возвращаю этот формат, тк он меня мотивирует:)

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

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

Пока только одну привычку соблюдаю практически без перерывов - английский язык. Каждый день, в одно и то же время, занимаюсь английским по пол часа-час.
Результат хороший.
Сейчас на занятиях с преподавателем Яндекс.практикум мы минут 15 общаемся и остальные 15 минут занимаемся заданиями и грамматикой

💪 Спорт:

- тренажерный зал/бассейн (сегодня отдых)

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

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

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

- зарядка утром +1 (всего 1 день)

- отказ от сладкого, мучного и фастфуда +1 (всего 1 день)

- интервальное голодание +1 (всего 1 день)
Интервальное голодание соблюдал все это время с последнего поста. Заметил значительный прирост энергии и желание что то делать. Даже при простом дофамине
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Flutter meetup (Online)

1. Сервисы: строим масштабируемые и гибкие приложения с помощью чистой архитектуры
— Кирилл Адещенко, РСХБ
Создайте мобильное приложение, используя сервисы для быстрого изменения и адаптации к потребностям клиентов и бизнеса. Переиспользуйте сервисы в других приложениях для экономии времени и сил.

2. Интеграция нескольких Flutter-модулей в нативное приложение — Половов Михаил, «Финам»
Доклад о новом решении, которое поможет значительно упростить интеграцию Flutter-модулей в нативные приложения и повысить эффективность команды разработчиков.

3. Flutter на Wear OS — Андрей Малахов
Пример приложения на Flutter для умных часов с Wear OS (Samsung Watch Pro 5). Возможности и проблемы.



🗓 21 июня, начало в 19:00 мск, Среда

🌐 ОНЛАЙН

Регистрация на мероприятие