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

С наступающим Новым Годом!🎁


Уважаемые друзья, этот год был непростым...
Уверен, этот год для Вас был классным и запоминающимся, а Новый год будет еще лучше!💥💥💥

Желаю, чтоб в новом году вы чувствовали такое же удовлетворение и умиротворение от своей деятельности, как мой кот на этом видео(только вслушайтесь)😼


PS. На елке нет гирлянды, потому что этот пушистик ее покусал😄
PS 2. Знаю, что коты всем нравятся:)

🎄🎄🎄🎄🎄🎄🎄🎄
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Oh, my Flutter (Mikhail Zotyev)
Flutter приложения, собранные на Xcode 15 и имеющие таргет-версию iOS 11 (минимальная возможная на данный момент) могут падать в рантайме при взаимодействии с Networking. Исправить это можно на данный момент подняв версию до 12, которая в ближайшем будущем все равно станет минимальной поддерживаемой.

📌 Подробности по ссылке.
https://github.com/flutter/flutter/issues/136060

#advice
Please open Telegram to view this post
VIEW IN TELEGRAM
🟥 Что делать в Сочи в марте? Писать мобильные приложения, конечно же!

С 18 по 29 марта в Сочи пройдёт научно-практический интенсив по мобильной разработке от Young&&Yandex и Университета «Сириус».

На смене будет представлено два направления: нативная разработка на iOS и мультиплатформенная разработка на Flutter.

Что вы успеете в ходе интенсива

🔶 Прокачаетесь в хард-скилах: создадите полноценные мобильные приложения под руководством ведущих разработчиков Яндекса и узнаете о современных инструментах разработки.
🔶 Поработаете над софтами: научитесь организовывать работу и ресурсы в команде, а также получите опыт совместной разработки.
🔶 Классно проведёте время: вас ждёт нетворкинг, природа Сочи — горы и море, а ещё выпускной в офисе Яндекса.

Что вы получите после прохождения интенсива

🔶 Качественный пет-проект в ваше портфолио.
🔶 Грамотное резюме: вы пройдёте мастер-класс по оформлению резюме, что будет полезно на любом этапе вашей карьеры.
🔶 Пробное собеседование в Яндекс: лучших мы пригласим стать сотрудниками.

Кто может принять участие в интенсиве

😀 Мы приглашаем принять участие в отборе студентов всех курсов бакалавриата, магистратуры и аспирантуры, интересующихся современными технологиями создания приложений на iOS или Flutter. Подробнее о необходимых навыках можно узнать здесь.

Обучение, проезд, проживание и питание на время смены предоставит Университет «Сириус».

💫 Успейте подать заявку и решить тестовое до 4 февраля включительно: https://clck.ru/37ESJJ
Please open Telegram to view this post
VIEW IN TELEGRAM
📲Навигация в приложении

На всех проектах, в разработке которых я участвовал(4 проекта), для навигации использовался auto_route
С ним не было никаких проблем до недавних пор

Сейчас, к примеру, WillPopScope deprecated и необходимо использовать PopScope. Но у auto_route с этим проблемы.
Ишью от 17 ноября: https://github.com/Milad-Akarie/auto_route_library/issues/1799
Плагин не обновлялся 3 мес, ишью не закрываются

Мы активно начали переходить на go_router

Основные причины перехода:
🟢разработан flutter.dev, в отличие от одного разработчика auto_route
🟢рекомендуется гуглом, имеет Flutter Favorite
🟢активная поддержка

Статья коллеги(первая часть) по go_router:
https://habr.com/ru/companies/friflex/articles/787528/
Please open Telegram to view this post
VIEW IN TELEGRAM
🍏Apple разрешила установку приложений не из App Store на iOS. Пока только для Евросоюза

В связи с вступлением в силу нового Закона о цифровых рынках в Евросоюзе, техногигаты должны открыть свои услуги и платформы другим компаниям и разработчикам. Изменения должны быть внесены до 6 марта 2024 года включительно.

🟢Все изменения для разработчиков можно посмотреть здесь:
https://developer.apple.com/support/dma-and-apps-in-the-eu/
Please open Telegram to view this post
VIEW IN 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