Дневник Flutter-разработчика
3.11K subscribers
323 photos
22 videos
10 files
290 links
Описание моего пути мобильного разработчика с нуля до junior, middle, senior
Download Telegram
Please open Telegram to view this post
VIEW IN TELEGRAM
Я - team lead крупного проекта☺️
🎉 Dart 3.3
https://medium.com/dartlang/dart-3-3-325bf2bf6c13

Что нового:
🟢добавлены Extension types. Представляют собой оболочки для типов, но без дополнительных, связанных с этим накладных расходов. Предназначены прежде всего для оптимизации кода, чувствительного к производительности, особенно при взаимодействии с хост-платформами.
(подробнее в документации: https://dart.dev/language/extension-types)
🟢поддержка WebAssembly во Flutter Web(пока экспериментальная)
🟢представлена новая модель взаимодействия с
JavaScript библиотеками и web - dart:js_interop
🟢улучшение библиотек браузера(в дальнейшем поддержка будет сосредоточена на package:web)
🟢бета-версия Google AI Dart SDK.
Новый пакет google_generative_ai и вспомогательные ресурсы позволяют создавать собственные генеративные функции на основе искусственного интеллекта в вашем приложении через интеграцию Dart с API Gemini.
РФ нет в доступных для использования регионах


🎉 Flutter 3.19
Много изменений:
https://medium.com/flutter/whats-new-in-flutter-3-19-58b1aae242d2


🎉 Так же представлен Roadmap развития Flutter на 2024 год:
https://github.com/flutter/flutter/wiki/Roadmap
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
Please open Telegram to view this post
VIEW IN TELEGRAM
Плюсы и минусы должности TeamLead’а


Начнем с плюсов:

🟢Ответственность. По большей части это плюс, так как она хорошо прокачивает тебя как в софт, так и в хард скилах. Об этом ниже

🟢Быстро растешь в софт скилах. Постоянное общение с командой, понимание как что взаимодействует. Обсуждения с аналитиком при постановке задачи, постановка задач, декомпозиция, их распределение - все это отличино тебя прокачивает

🟢Быстро растешь в хард скилах. Ты должен понимать на моменте обсуждения задачи, как должна работать фича, как происходит взаимодействие с бекендом, какие могут возникнуть проблемы. Ты быстро фиксишь критические баги, решаешь проблемы. Все это делаешь, обсуждая с бекендом, благодаря чему намного лучше понимаешь, как что работает

🟢Ты пишешь код лучше, так как теперь ты отвечаешь за проект и при реализации фичи/фиксе бага задумываешься, на что твоё решение может ещё повлиять в рамках проекта

🟢Построчное Code Review, так как теперь ты отвечаешь за качество кода на проекте) Code review и насмотренность хорошо прокачивают хард скилы. Знаю, что во многих компаниях несерьёзно подходят к этому процессу(плохое решение).
Это так же отличный способ лучше понимать проект, так как ты видишь, какой новый код/фичу добавили

🟢Ты занимаешься распределением задач. Хочешь, бери интересную тебе фичу, делегируй не интересную. Но конечно чаще стараешься, чтоб все были довольны)

🟢Предложения по улучшениям от команды приходят к тебе:) Чаще всего это интересные предложения по улучшению


Минусы:

🟠Ответственность - как плюс, так и минус)

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

🟠Созвоны. Их много и как раньше - быть на созвоне и параллельно работать - не получится. Почему? 1 пункт - ответственность) Ты должен быть в курсе, что на беке происходит и тд., чтоб не было проблем в мобильном приложении

🟠Часто бывает, что занимаешься фичой/багом, погружён в процесс и созвон или обсуждение выбивает тебя из колеи. Запланированное время на фичу увеличивается
Please open Telegram to view this post
VIEW IN TELEGRAM
#достижение

Финансово помогаю родителям. Теперь они могут не работать, а отдыхать на пенсии, заниматься хобби☺️
Please open Telegram to view this post
VIEW IN TELEGRAM
Привет хочу поделиться папками с чатами и каналами по Flutter.
Каналы.
Чаты.
Если что-то пропустил, то добавляйте в комментарии.
Так же хочу попросить вас проголосовать за канал, так-как хочется дальше его развивать.
https://t.me/boost/FlutterForDev
Please open Telegram to view this post
VIEW IN TELEGRAM
deeplink_select_mWeb2app_3 (1).pdf
43.1 KB
🟢Нюанс второго варианта

Если будете реализовывать оплату SberPay по диплинку в Сбер, то:

для android схема должна быть sberpay:
пример - sberpay://invoicing/v2?bankInvoiceId=e948fbdc1e1121&operationType=app2app

для ios схема должна быть btripsexpenses:
пример - btripsexpenses://sbolpay/invoicing/v2?bankInvoiceId=e948fbdc1e1121&operationType=app2app

Дока по диплинку от Сбера(файл)
Please open Telegram to view this post
VIEW IN TELEGRAM
Релиз Flutter 3.22 и Dart 3.4 🎉

⚡️Flutter 3.22, что нового:

🟢WebAssembly доступен в стабильной версии. Он улучшает производительность, делает анимацию и переходы более плавными
🟢Vulkan для Android делает графику более плавной и повышает производительность
🟢Оптимизированы эффекты размытия и сложного рендеринга путей(переход на Stencil‑then‑Cover)
🟢Сократили необходимость приведения типов в API-интерфейсах 2D-графики
🟢Поддержка функции прогнозируемого возврата(скоро будет введена на Android). Пользователи смогут просматривать предыдущий маршрут или даже предыдущее приложение
🟢Улучшения Platform views

И другое. Подробнее - в переводе статьи от Flutter Tech Lead Юрия Петрова


⚡️Dart 3.4, что нового:

🟢Предварительная версия макроса JsonCodable для сериализации и десериализации JSON. Конечная цель — возможность создавать свои собственные макросы
🟢Доступна полная поддержка WebAssembly (Wasm) для веб
🟢Исправлено более 50% ошибок анализатора автодополнения кода

И другое. Подробнее - в переводе статьи от Flutter Tech Lead Юрия Петрова
Please open Telegram to view this post
VIEW IN TELEGRAM
📚В издательстве Питер вышла книга «Основы Dart»

Книга «Основы Dart» адресована тем, кто интересуется этим удивительным языком программирования. Вы узнаете об истории создания, синтаксисе и особенностях языка, таких как встроенные типы данных, и многом другом. В главе 2 вас ждет проект, который будет изменяться и расти вместе с вашими знаниями и навыками, а к главе 6 преобразится в полноценное клиент-серверное приложение. После каждой новой итерации проекта, вас будут ждать предложения по внесению изменений в его кодовую базу, что позволит прокачать свои hard-скиллы. Исходный код рассматриваемых в книге примеров можно найти в GitHub-репозитории автора (весь код в книге соответствует Dart 3.4).

Автор — Станислав Чернышев, кандидат технических наук, доцент кафедры информатики СПБГЭУ и кафедры прикладной информатики СПбГУАП, автор канала MADTeacher, спикер @crossconf и других конференций.

🔜 Доступна в 2 форматах:
- Бумажная книга
- Электронная книга

🎁 По промокоду «Бумажная книга» скидка 40% до 2 июня:)
Please open Telegram to view this post
VIEW IN TELEGRAM
Получил книгу:)

Успел купить по хорошей скидке из поста выше🙂
Заказали?) Если да, как вам книга?

Изучаю, позже напишу своё мнение

Friflex и @petrovyuri уделили половину обложки👍
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🤓 Коррецкия зрения. Первый в жизни VIP😭

У меня зрение -4.5. На улице ношу линзы, дома очки. И очки и линзы мне надоели(уже как 12 лет ношу), решил сделать коррекцию зрения🤓

Давно был наслышан о Чебоксарский филиал МНТК «Микрохирургия глаза» им. акад. С.Н. Федорова, так как в него съезжаются люди с проблемами зрения со всей страны и отзывы хорошие(от знакомых).
В него и обратился:)

🔜 Запись:
Заранее записался на диагностику. За месяц! Свободные записей на раньше - нет)

В МНТК есть 2 варианта даигностики - VIP и обычная.
Выбрал VIP🟡. Первый в жизни😄
Стоит 7990 рублей


🔜 VIP диагностика:
Основное её преимущество - не нужно ждать в очередях. А людей там… Не протолкнуться)
При обычной диагностике нужно проходить обследование в разных кабинетах на 6 этажах(есть лифт)

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

🔜 Как это было у меня:
1️⃣ Записался заранее(за месяц). Условие - нельзя носить линзы как минимум 2 недели.

2️⃣ За день позвонили, уточнили, приеду ли я и иногородний ли

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

4️⃣ Через пару минут подошла девушка, уточнила мои данные и провела меня в кабинет. В кабинете были только врачи, я и разные аппараты для обследования.
Заполнили бумаги - разного рода данные и только на этом этапе нужно было оплатить 7990.

5️⃣ Оплатил, начали обследовать. Большинство обследований было в этом кабинете, 3 было на другом этаже, в который вели без очереди.

6️⃣ После основного количества обследований была первая консультация со специалистом. Задавала уйму вопросов о моих ожиданиях и не было ли каких-либо травм и тд.

7️⃣ Сказал, что нужна коррекция зрения. Она проверила данные, говорит - проблем не вижу, давайте ещё некоторые обследования проведём и дальше к хирургу, который проконсультирует уже по операции.

8️⃣ Для следующих обследований потребовалось закапать глаза для расширения зрачков.
Причина - мышцы были напряжены и это было одно зрение, мышцы нужно было расслабить и проверить ещё раз.

Глаза закапывали в 3 этапа по 5-10 минут. Предупредили, что в глазах будет туман. К такому я готов не был, тк такое «туманное счастье» на 4-6 часов😂

9️⃣ Буквально за руку водили по кабинетам(чему я рад, так как не особо ориентировался после капель и не представляю, как бы сидел в очередях) для ещё ряда обследований.



❗️👇 Итог, если лень читать
🔟 Итоговый кабинет - хирург. Здесь можно было задавать любые вопросы о предстоящей коррекции.

Так как я 12 лет носил линзы, роговица тонкая и мне предложили FemtoLasik.

Операция длится около 15 минут и бОльшая часть этого времени тратится на работу с пациентом) Как она сказала, нужно будет отключить мозг и расслабиться, строго выполнять указания хирурга, так как все делает лазер - если чуть вправо-влево, операция или отложится на минимум 3 месяца, либо дальше будет невозможна.

Сразу сказал, что я айтишник и спросил, когда смогу работать в привычном темпе👨‍💻 Сказала, что реабилитация 2 недели. Нельзя будет смотреть в пк/гаджеты, смотреть телевизор и тд. Можно слушать аудиокниги и гулять. 2 недели😅

Через 2 недели можно вернуться в привычный режим. Но! Сказала интересную мысль
Вы посчитаете, что у вас все отлично - идеальное зрение, вы здоровы. Но это не так.
«Не так», так как теперь будут ограничения за пк/гаджетами) 45 минут работы - перерыв.

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


🟢Итог:
Пока думаю) Не нравится то, что эту коррекцию можно сделать только один раз.
С другой стороны, оно того стоит - избавиться от очков и линз и не перенапрягать глаза при работе за пк.
Please open Telegram to view this post
VIEW IN TELEGRAM
🤓 -> 👀 Коррекция зрения. Операция

Хотел сделать коррекцию зрения SMILE, так как восстановление после неё всего 1 день и её можно делать несколько раз. Советовался с другим врачом.
Итог тот же - мне доступен только FemtoLasik, так как у меня слишком тонкая роговица глаза из-за долгого ношения линз, плюс сложный астигматизм с дальнозоркостью

🔜 Сегодня прошёл дополнительные обследования, решили делать Super FemtoLASIK — FemtoLASIK по персонализированной технологии из-за моих сложностей(тонкая роговица, сложный астигматизм).

🔜 Отличие от обычного FemtoLasik в том, что здесь запрограммируют работу лазера под мои особенности строения роговицы

Стоит 78 300(скидка 10%). Плюс разные капли для глаз(4 флакона), в общем вышло около 80 000 рублей.

В первый день обязательны темные очки из-за светобоязни.

2 недели нельзя пользоваться компьютером-телефоном и как-либо напрягать зрение или поднимать внутриглазное давление.

2 месяца нельзя заниматься спортом, плавать, летать в другой климат(смена климата очень не рекомендуется)

🔜 Операция завтра
2 недели буду гулять и слушать аудиокниги🥲


🟢Вас уже более 2000!🔥🔥🔥
Спасибо, что читаете и поддерживаете:)

Когда-то я мечтал о 200 подписчиках и думал, как же это будет круто. Целое своё коммьюнити)
Не все мечты сбываются, как говорится😁 И часто это к лучшему)
Please open Telegram to view this post
VIEW IN TELEGRAM
👀 Итоги операции по коррекции зрения

Прошли 2 недели реабилитационного периода и мне можно смотреть в экраны, а значит, я могу поделиться с вами итогами:)

Итог - мне вернули идеальное зрение☺️
Рад, что решился. Вижу каждый листик, каждую травинку)

Прощай близорукость, дальнозоркость и астигматизм(а напоминаю, был немалый минус 4,70 и сложный астигматизм)


🔜 Из интересного:
Я считал, что мне вернут единицу и я просто сниму очки-линзы, буду видеть так же, как и в них. Оказалось, это не совсем так)
Мне вернули зрение на единицу, но полнота жизни, восприятие мира вокруг - будто ярче и насыщеннее. Больше объектов попадает в поле зрения и будто больше впечатлений для мозга от «своего» зрения.

Сложно описать) В очках-линзах или со своим отличным зрением - это как наблюдать за подводным миром в акианариуме или нырнуть с аквалангом и изучать подводный мир со всей полнотой впечатлений.


🔜 Пример
В центр микрохирургии я приезжал в очках. На территории перед входом находится фонтан.
Когда я первые 2 раза шёл в отделение диагностики - видел фонтан, газон и табличку «отделение диагностики». Шёл в отделение, разглядев фонтан по пути.

Когда я приехал туда же, на следующий день после операции и шёл тем же путём, мне сразу бросился в глаза фонтан, красиво подстриженые кустарники у входа в форме сердца, спирали и другие фигуры; различные цветы у каждого из 3 входов в здание.
Я был Очень удивлен)

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

💥 В целом это конечно сложно описать, но будто полнота впечатлений от зрения и восприятие мира теперь на 100%.
Раньше было точно не так, но ты этого не понимаешь)



🟢Подробно весь процесс операции, все ограничения на время реабилитации по информации от врачей опишу в статье «Лазерная коррекция зрения для программиста»(в процессе написания)

🟢P.S. Теперь это единственные очки, которые мне нужны:)
(картинка)
Please open Telegram to view this post
VIEW IN TELEGRAM
🧑‍🎓 Школа Мобильной Разработки Яндекса 2024. Записи лекций

Команда Яндекса делится опытом в разработке на Flutter:)
Все вышедшие на сегодняшний день лекции:

1️⃣ Флаттер-мастерская: опыт команд Яндекса в разработке на Flutter — ШМР 2024
Для чего Flutter используют в Яндекс Драйве и Яндекс Маркете? Как Flutter показал себя в Практикуме? Есть ли будущее у Flutter в Такси?

2️⃣ Асинхронка — ШМР 2024
Асинхронное программирование в дарте. Future, FutureOr, Stream, async, await, yield, Zone... Как это всё работает? Копаем вглубь, ломаем стереотипы, убираем магию.

3️⃣ Architecture. Часть 1: App Architecture Overview — ШМР Flutter 2024
Лекция в широком смысле рассказывает об архитектуре как явлении и указывает, о чём важно помнить при проектировании приложения

4️⃣ Architecture. Часть 2: Flutter, State Management, существующие решения — ШМР Flutter 2024
На лекции мы обсудим идею state management в целом, ее архитектурные особенности при работе с состоянием. Обсудим популярные подходы к state management и самые популярные реализации. Сравним их по критериям, важным для масштабируемого приложения. Наконец, обсудим, какие решения лучше подходят для конкретных кейсов.

5️⃣ Flutter Internals: что происходит под капотом фреймворка — ШМР Flutter 2024
Как виджеты превращаются в пиксели на экране? Почему Flutter еще не переписали на Kotlin? Что круче — Skia или Impeller?

6️⃣ Animations — ШМР Flutter 2024
Спикер: Глеб Осотов, Flutter-разработчик Яндекс Про
На лекции мы рассмотрим, зачем нужны анимации в приложениях, как они устроены во Flutter. Вы узнаете не только какие виды анимаций можно использовать во Flutter, но и как они устроены внутри.

7️⃣ Пакеты, плагины и версионирование — ШМР Flutter 2024
Спикер: Даниил Артамонов, руководитель группы мобильной разработки Яндекс Лавки
В рамках лекции мы познакомимся с пакетами, плагинами и другими способами делиться кодом между проектами на Dart. Познаем семантическое версионирование и научимся управлять зависимостями в больших проектах; Для этого погрузимся в инструментарий Dart и Flutter cli.
Научимся публиковать свои пакеты для общего и не очень доступа и изучим
pub.dev.


8️⃣ Кодогенерация — ШМР Flutter 2024
Спикер: Константин Федуров, Flutter-разработчик Яндекс Про
В лекции рассмотрим, как работают и как использовать пакеты для кодогенерации, научимся исследовать код и покажем это на демо. Вместе с этим мы узанем как работает анализатор, и как мы можем писать свои правила для увеличения качества кода нашего проекта.


9️⃣ Router и прямые ссылки в приложении — ШМР Flutter 2024
Спикер: Дмитрий Золотов, Flutter-разработчик Яндекс Доставки
На лекции мы научимся использовать навигацию на основе Router, разберем какие бывают диплинки и как их правильно обрабатывать, а также посмотрим на особенности Flutter Web в обработке ссылок и настройки стратегии навигации.


1️⃣0️⃣ Тестирование — ШМР Flutter 2024
Спикер: Андрей Смирнов, Flutter-разработчик Яндекс Про
В этой лекции мы научимся писать Unit-тесты, UI-тесты, интеграционные тесты и узнаем, что такое golden тесты. А также разберем, что такое code coverage и научимся его собирать.


1️⃣1️⃣ Push Notifications — ШМР Flutter 2024
Спикер: Евгений Седанов, руководитель группы мобильной разработки Яндекс Про
Пуши и уведомления - это одно и то же? Может ли быть пуш без нотификации и нотификация без пуша? Что такое TTL пуша и почему пуши могут потеряться? Какие есть различия в пуш уведомлениях на Android и iOS? Можно ли выполнить Dart код по пушу или даже запустить приложение? Что такое VOIP пуши и чем они отличаются от обычных? Всё это и многое другое вы узнаете на этой лекции.


1️⃣2️⃣ Build and release — ШМР Flutter 2024
Спикер: Никита Березовский, Flutter-разработчик Яндекс Про
На лекции мы разберёмся с CI/CD и настроим пайплайн для github actions. Разберем что нужно знать чтобы довести приложение до релиза в сторы. Узнаем как наш код превращается в приложение: начиная с вызова flutter build и до запуска конечного артефакта.


Весь список лекций ШМР 2024: https://www.youtube.com/playlist?list=PLXtiZNKIobF4R3g_CCVkXgaMDg4E4pxeH
Please open Telegram to view this post
VIEW IN TELEGRAM
Продлили IT ипотеку

IT ипотеку продлили до 2030 года.
Основные новые условия - максимум 9млн. и не в Москве или Санкт-Петербурге. Ставку повысили до 6%

Хорошая новость, если вы планировали её брать:)
Что лучше - купить квартиру на эти деньги или строить дом? И в целом - где брать?)

Планирую покупку квартиры в новостройке в Чебоксарах. Двушка стоит 7млн, 65 квадратов
3 банка одобрили IT ипотеку на эту сумму

Насчет города ещё думаю, все-таки квартира😄
С удалёнкой можно выбрать город зеленее и где воздух ещё чище. С видом на горы 🏔
Сегодня смотрел Ессентуки. Виды там классные:)

https://blog.domclick.ru/novosti/post/it-ipoteku-prodlili-do-2030-goda-na-novyh-usloviyah
🧑‍🎓 Релиз Flutter 3.24 и Dart 3.5

👩‍💻 Flutter 3.24, что нового:
🟢Новые сливеры - SliverFloatingHeader, PinnedHeaderSliver, SliverResizingHeader
🟢Добавлены расширенные возможности для AnimationStatus
🟢Добавлен DevTools Performance
🟢Теперь можно использовать все инструменты DevTools прямо внутри IDE
🟢Добавлен плагин для монетизации видеорекламы Interactive Media Ads (IMA)

Читать перевод

👩‍💻 Dart 3.5, что нового:
🟢Появилась поддержка компиляции веб-приложений на Flutter в WebAssembly
🟢Улучшена нативная совместимость, которая поддерживает прямые вызовы из Dart в C, Java, Kotlin, Objective-C и Swift
🟢Появились новые функции для pub.dev
🟢Новая функция - экспериментальный Workspaces для повышения производительности анализатора при работе с монорепозиториями
🟢Добавили Native assets system

Читать перевод
Please open Telegram to view this post
VIEW IN TELEGRAM