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

Цены на использование Yandex Mapkit растут и если ваш проект ограничен бюджетом, есть неплохое бесплатное решение - OpenStreetMap

Свежая статья по использованию OpenStreetMap с плагином flutter_map:
https://habr.com/ru/companies/friflex/articles/776002/
🔥27👍7
🧑‍🎓Книга «Основы Dart», 2-е издание

Вышло новое обновление 2023 года
Много всего переработано и добавлено(Dart 3.2)
Подробнее в статье: https://habr.com/ru/articles/773442/
Please open Telegram to view this post
VIEW IN TELEGRAM
👍27🔥52❤‍🔥11😍1
Сидячий образ жизни и здоровая спина, бывает ли такое?

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

Часто времени ходить в зал нет, да и сил на это тоже. Но жить с постоянной болью не хочется.

Проект Eco Fitness занимается коррекцией осанки и улучшением подвижности. Они предлагают другой подход к тренировочному процессу.

Вместо отдельных тренировок на пресс, спину, ноги, руки, они включают в работу всё тело. Помогают не просто избавиться от боли и, например, сутулости, а устранить причины: дисфункции мышц, асимметрии, компенсации.

В студии Eco Fitness переобучают тело так, что даже после длительной сидячей работы организм может вернуться в здоровое состояние. Работают по системе Functional Patterns, которая оптимизирует базовые двигательные паттерны: ходьба, бег, бросок, дыхание. Используют концепции физической реабилитации, например, концепцию лечения сколиоза c научно-доказательной базой SEAS.

С 07.12. по 09.12. у проекта открываются продажи онлайн-курса «Улучшая эластичность». Благодаря этому продукту можно проработать зажимы и спазмы безопасным образом, минимально скорректировать асимметрии, а также дать телу адекватную нагрузку.

После 10 видеоуроков, которые удобно смотреть в любое время:
- спина либо перестанет болеть совсем, либо болезненные ощущения будут сведены к минимуму,
- появится тонус в мышцах,
- будет понятно, как помочь себе.

Основатель проекта, Павел Брынза, подробно объясняет технику выполнения упражнений, рассказывает на что нужно обратить внимание. На курсе в течение месяца действует обратная связь от Павла. Можно задавать все интересующие вопросы лично ему, чтобы быстрее прийти к результатам.

Нет растяжки. Это первый фитнес-продукт, который вместо привычного «потянуться в конце тренировки» использует техники миофасциального релиза.

Тренировки идут по часу от простого к сложному. Это будет безопасная и полезная нагрузка.

Оформить курс можно по ссылке: https://eco-friendly.fitness/course

Приятный бонус — курс можно подарить. Подумайте заранее о подарке, чтобы не ломать голову перед самым праздником.
👍12🔥5🤔41🗿1
Хорошая рекомендация🔥
Рекомендую тоже! Хотя сам я еще использовал не все плюсы сообщества)
И классный, простой розыгрыш в конце поста
https://t.me/frontengineer/78

P.S. Канал фронтендера с Авито, 3 года опыта, доход 500к+, как вам?💵
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥4🏆4
📨Благодарственное письмо

С декабря 2022 года я участвовал в разработке одного из крупных приложений с нуля. Было много интересных задач:)

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

"Мы хотели бы выразить глубокую признательность команде ООО "Фрифлекс" за высококвалифицированную и слаженную работу, а также за продолжительное и плодотворное сотрудничество.

Мы высоко оцениваем качество работы и оперативное выполнение задач, а также
преданность команды в поиске оптимальных и эффективных решений, свежий подход к дизайну ииспользование современных технологий."


P.S. Заблюрил заказчика и членов команды(nda)
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥50👍12🥰4
An in-depth look at the InheritedWidget _ Flutter Community.pdf
8.3 MB
🧑‍🎓 Заблуждения

Утром увидел в чате такой вопрос:
Доброе утро как получить значение state из bloc без BlocBuilder, просто функция которая фильтрует массив и выводит в консоль


далее ответили:
По контексту можно попробовать
Или через локатор, если используешь


🟢на что я ответил так:
Если контекст высоко, лучше локатор(плюс там без блокбилдера хотят)
Тк он будет искать по дереву контекст, что займет время. Особенно если провайдер глобально объявлен и проект большой

https://t.me/mobile_developing_chat/32833



➡️ Я заблуждался насчёт поиска по дереву с InheritedWidget. Этого поиска не происходит.
Когда создаётся элемент, он имеет это поле с мапой и все ссылки родительских InheritedWidget уже будут присутствовать там
Map<Type, InheritedElement> _inheritedWidgets;

пруф код: https://github.com/flutter/flutter/blob/13860a7d23c564ec9ff38a44661d21160c3f7b1e/packages/flutter/lib/src/widgets/framework.dart#L3899


В доке provider так же сказано This operation is O(1). It doesn't involve walking in the widget tree.
https://pub.dev/packages/provider


Так что, если вы думали так же насчет «поиска по дереву» - теперь знаете🧑‍🎓


➡️ Больше информации здесь:
Mad Teacher говорил об этом https://t.me/skills_by_mad/275
Таймкод доклада Яндекса https://www.youtube.com/watch?v=yIkT-5aX898&t=421s
https://pub.dev/packages/provider

Подробно https://medium.com/flutter-community/the-widget-inherited-178ff969c50a
Если нет доступа, прикрепляю pdf статьи
Please open Telegram to view this post
VIEW IN TELEGRAM
👍20🔥51
🎄🎄🎄🎄🎄🎄🎄🎄

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


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

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


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

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

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

#advice
👍12🤯32🆒1
Flutter и фриланс в школе

Пока одни жалуются на отсутствие опыта, другие уже со школы совмещают работу и учебу😉

Меня зовут Вася, я учусь в 11 классе, с августа 2020 года работаю с Flutter, а с марта прошлого года занимаюсь коммерческой разработкой мобильных приложений на фрилансе.
Сегодня хочу рассказать о том, как я совмещаю подработку с учебой в школе и какие у этого есть последствия


https://habr.com/ru/articles/784536

P.S. GetX с 11 класса… парень не с того начал😄
(юмор. В целом он молодец)
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17🔥5😁5
🟥 Что делать в Сочи в марте? Писать мобильные приложения, конечно же!

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

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

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

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

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

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

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

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

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

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

На всех проектах, в разработке которых я участвовал(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
👍173🔥31
🍏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
🔥15👍41
📱 Новый инструмент Google Play - подсказка обновить приложение при входе

Если пользователи используют устаревшую или неработающую версию вашего приложения, вы можете использовать Play Console, чтобы предложить им обновиться.


Похоже на soft update, который все привыкли видеть, но здесь от Google Play с настройками


➡️ Открывается полноэкранным сообщением при входе пользователя в приложение(скрин примера).
Его можно закрыть, тогда окно будет всплывать после каждого холодного перезапуска


➡️ В Play Console нужно выбрать версию приложения, с которой хотите обновить пользователей, затем настраиваете таргетинг:
🟢все пользователи выбранной версии приложения
🟢по стране/региону
🟢по версии Android


➡️ После предложения пользователям обновиться, в Play Console можно:
🟢изменить конфигурацию обновления
🟢просмотреть ход обновления
🟢отменить действие восстановления

Подробнее:
https://support.google.com/googleplay/android-developer/answer/13812041?hl=en#zippy=%2Cview-recovery-progress
Please open Telegram to view this post
VIEW IN TELEGRAM
👍25🔥5😍1🙈1
Я - team lead крупного проекта☺️
🔥166👍11🗿5🆒5🎉3222🌭1🍾1
🎉 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
🔥21👍63🤗2
#полезное

У Алексея вышло 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
🔥 Как я стал TeamLead’ом

Ждём увлекательную история о предложении стать тимлидом), а то совсем пропал

На вопрос решил ответить постом)


В этой истории нет ничего прям необычного😄

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

Меня перевели на другой проект, крупнее предыдущего.
Проект на поддержке, в ожидании слияния с другим приложением этой же компании.
В команде все стандартно - несколько QA тестировщиков, 2 бекендера, дизайнеры и 1 flutter разработчик, 1 flutter TeamLead(Тимлид с моего предыдущего проекта)

До моего повышения я работал на этом проекте около полугода.


🔜 Предысторию рассказал, главные события🙂:

Мне звонит Тимлид и говорит:
- хотел тебе предложить взять проект в свои руки. Как тебе такая идея? Ты уже вырос достаточно. Такую ответственность на себя уже готов брать, как думаешь?


Как думаете, что я ответил? Та да да дам…

- конечно, без проблем

сказал я) Даже не стал спрашивать, какие условия, каких плюшек/денег мне накинут за новую должность.
В общем то я знал, что это отличная возможность быстро расти как в тех., так и в софт. скилах. Так что, не задумываясь, сразу согласился)

Конечно же этим не закончилось, Лид только предложил мне новую должность)
Дальше была неделя затишья. Проджект с предыдущего проекта предложил мне поработать на новом проекте с нуля(что мне интересно, тк это всегда - уйма новых фичей), на что я тоже согласился😄
По итогу проджекту не дали добро забрать меня на другой проект, так как решался вопрос моего лидерства.


🔜 Через неделю мне написал Лид и сказал, что завтра мне нужно быть на созвоне, будут решать насчет моего лидерства на проекте)

На следующий день на созвоне нас было 4 - CEO компании, Head of Mobile компании, Лид моего проекта, я. Они втроём сошлись на том, что я сильно вырос и меня давно пора повышать. Дальше обсудили, что от меня требуется на проекте и условия(новая вилка зп). Я согласился, меня поздравили, с созвона вышел новый Тимлид☺️


✔️ Так я стал TeamLead’ом. Ну а дальше понеслось…😅
Ставьте 🔥, если интересно, с какими плюсами и минусами в новой должности я столкнулся и ждете этого поста:)


P.S. Лид моего проекта, которого часто упоминал - @petrovyuri, у него есть свой канал и курсы по разработке на dart/flutter
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥86👍822🗿1