Oh, my Flutter
4.96K subscribers
1.18K photos
6 videos
1.11K links
Всё о Flutter-разработке. Новости, статьи, анонсы, вакансии и многое другое. Disclaimer: все публикуемое является частным мнением, свободно распростаняемой информацией, и не содержит рекламных интеграций.

Автор канала - Михаил Зотьев (@mbixjkee).
Download Telegram
Библиотека, которую мы в комментариях под одним из постов уже позитивно охарактеризовали - flutter_blurhash. Она позволяет использовать в качестве прелоадера изображение полученное сильным размытием исходного. В основе лежит сервис blurhash и его алгоритм, который позволяет сформировать из изображения короткую строку из 20-30 символов, которую можно использовать для отображения прелоадера.

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

📌 Воспользоваться библиотекой можно по ссылке.

#библиотека
Во Flutter из коробки очень много виджетов для различных целей. И пока мы ими пользуемся, нам не приходится задумываться об отрисовке - разработчики уже все сделали за нас. Но несмотря на это, в случае необходимости мы легко можем можем опуститься на этот уровень и отрисовать что-то самостоятельно. CustomPaint поможет в этом, будь это хоть малая композиция, хоть очень запутанная абстракция.

📌 Разобраться подробнее с тем, как пользоваться этим виджетом, поможет статья от Deven Joshi.

#статья
Flutter развивают одновременно для множества платформ, и если для Android и iOS это развитие происходит довольно долго, то тот же Web появился относительно недавно. И там еще нужно очень многие вещи сделать намного лучше, чем они есть сейчас. И команда Flutter ведет над этим работу. На днях PM Flutter опубликовала статью, в которой рассказала по каким направлениям для Web будут проводиться ближайшие улучшения:

👉 поддержка RTL текста;
👉 улучшения поведения скролла;
👉 лучшая поддержка функциональностей для людей с ограниченными возможностями;
👉 улучшения производительности.

Это и многое другое, в статье Mariam Hasnany.

#статья
16 октября в Воронеже состоится DevFest 2021 — ежегодная IT-конференция, которую организует Google Developers Group Voronezh.

На ней вас ждут:
🧑‍🎓 три потока лекций: для начинающих специалистов и профи;
🎁 розыгрыши призов от партнеров;
😁 много общения и хорошего настроения;
🔥 ну и конечно же Flutter.

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

Пока программа уточняется, вы уже можете купить билеты (пока по сниженной цене!). И, конечно, не забудьте забронировать в своём календаре 16 октября 😉

Увидимся на DevFest 🤙
Вместе с обновлением Flutter 2.5 стало доступно использование DevTools 2.6.0, и вот что добавили в этой версии:

👉 просмотр свойств наведением мыши в инспекторе;
👉 поддержка просмотра объекта и вычислений в консоли инспектора;
👉 ui улучшения отображения дерева и режимов работы;
👉 улучшения удобства работы с проверкой производительности;
👉 фильтрация для CPU профайлера;
👉 показ HTTP / HTTPS тела POST запроса.

📌 С полным списком можно ознакомиться по ссылке.

#обновление
Если вы соскучились по крутым офлайновым конференциям, то у меня для вас хорошие новости. Мы в Surf как раз собираемся замутить именно такую - Flutter Fest. Только интересные и полезные доклады. А если вы обожаете хардкор, то будет отдельная секция в которой его будет много.
А так же вы еще успеваете сами стать спикером, если у вас есть классный материал с которым готовы выступить.
Ну и самое главное: Flutter Fest — это интерактивная площадка для общения и обмена знаниями. Интересно будет и новичкам, и профессионалам Flutter-разработки.
🗓 Увидимся на Flutter Fest. Москва. 13 ноября. Офлайн.
📌 Подробности и билеты по ссылке.
Эта осень просто какая-то сумасшедшая на количество различных IT событий. Только вчера я вернулся с GDG Калининград devfest 2021, на котором выступал с докладом про одно из наших решений. Кстати конференция вышла просто отличная 👍 (немного фоток с нее можно найти в моем instagram).
И вот после четырехдневного путешествия я думал, что можно будет просто расслабиться, но нет - на носу крутой митап от EPAM и JUG RU GROUP. И там тоже будет много интересного, в том числе доклад Саши Денисова, который посвящен Flutter и Firebase. Так что расслабон отменяется, погнали смотреть на Flutter с огоньком. Тем более митап онлайн и бесплатный - так что зарегистрироваться еще можно успеть.
Во Flutter уже некоторое время действует политика удаления устаревшего API, поэтому следует держать руку на пульсе, чтобы не оказаться в ситуации когда невозможно мигрировать на новую версию. Ну и готовиться к этому заранее. Благо флоу удаления предельно прозрачно, и уже сейчас мы знаем, чего лишимся в следующем релизе.

📌 Проверить не затронет ли вас следующий stable релиз можно по ссылке.
Совсем недавно вышла новая версия Bloc от Felix Angelov. Основные изменения в этой версии связаны с попыткой исправить проблему, порожденную поведением yield*, которое затрагивало предсказуемость возвращаемого состояния. Собственно решили они проблему довольно радикально и выкатили новое API работы с Bloc:

👉 mapEventToState заменили на on<Event>;
👉 EventTransformer пришел на смену transformEvents;
👉 новая библиотека bloc_concurrency с набором EventTransformer-ов.

Подробнее о изменениях, а также о том как мигрировать, читайте в статье от команды разработчиков Bloc.

#обновление
Для Flutter существует интересный проект под названием Flame. А интересен он в первую очередь тем, что направление его работы связано не с привычными задачами Flutter, а разработкой игр. Это 2D движок. А с чем рано или поздно сталкивается любой геймдев разработчик? Правильно, с поиском пути (иногда из геймдева 😄, но в основном) между точками по локации. Вариантов решения этой проблемы может быть множество, одним из которых является алгоритм A*.

📌 Пример решения этой задачи для Flutter и Flame, можно найти в статье от Christian Muehle.

#статья
Как всегда в начале месяца выходят обновления туллинга. Начнем с Flutter IntelliJ Plugin. В этом релизе добавили:

👉 возможность запустить конкретный тест из теста по вариантам;
👉 unit тесты больше не обязаны находиться в папке test, можно пометить другую папку как содержащую тесты;
👉 доступна настройка для того, чтобы считать тестами файлы с определенным суффиксом (возможность хранить тесты рядом с исходниками);
👉 новый шаблон проекта доступен в мастере нового проекта;
👉 автозапуск flutter pub get после изменения Flutter SDK в настройках;
👉 возможность включить hot reload при автосохранении;
👉 настройка для отображения stack trace в свернутом состоянии изначально.

Ознакомиться с более подробным списком можно по ссылке.

#обновление
На очереди плагин Flutter для VSCode который также получил обновленную версию. В релизе:

👉 интеграция с новым VS Code Test Runner включена по умолчанию;
👉 группировка динамических тестов в дереве результатов тестирования;
👉 для упавших тестов добавлено раскрываемое окно с информацией о выполнении;
👉 оптимизации времени выполнения множественного запуска тестов;
👉 настройка renameFilesWithClasses, которая позволит переименовывать вместе с классом файл, в котором он находится и обновлять импорты;
👉 доступен новый шаблон Flutter проекта;

📌Ознакомиться с более подробным списком можно по ссылке.

#обновление
Одна из лучших инвестиций - это инвестиция в свои знания. Flutter команда судя по всему считает так же, поэтому они организовали бесплатный доступ на ближайшие 3 месяца к книге Flutter Apprentice. Помимо доступа к самой книге, все это время будет работать онлайн дискуссионный клуб, в рамках которого можно будет обсуждать изучаемые темы.

Узнать подробнее можно по ссылке.

#анонс
Недавно вышло обновление Flutter IntelliJ Plugin, и в реализации этой версии было допущено сразу несколько ошибок, которые приводили к NPE при навигации. Сейчас они уже исправлены выходом двух патчей. Так что, если вы наблюдаете у себя подобную проблему, стоит обновиться до версии, содержащей исправления 🙃
Увы, не самые приятные новости. Пластмассовый мир победил 😔 - сразу несколько мероприятий, к проведению которых мы готовились этой осенью, будут перенесены на весну следующего года. Это FlutterFest и DevFest. Связан перенос с введением ограничений на массовые мероприятия и рекомендациями Роспотребнадзора.

Важная информация:

📌 Все купленные билеты останутся актуальными по тем же ценам на весну, не надо ничего переоформлять или покупать снова.
📌 Для тех, кто хочет вернуть билеты — возврат можно оформить через таймпад
📌 Онлайн вариант не вдохновляет, поэтому именно перенос.

Если остались вопросы — пишите Ане в телеграм @annatvil.
В DartPad расширился список пакетов, которые можно использовать. Добавлены:

👉 bloc и flutter_bloc;
👉 cloud_firestore, firebase, firebase_auth, firebase_core;
👉 collection;
👉 google_fonts;
👉 http;
👉 intl;
👉 js;
👉 meta;
👉 provider;
👉 riverpod;
👉 url_launcher.

Узнать подробнее можно по ссылке.

#обновление
Dart активно используется не только во Flutter приложениях. В том числе его можно неплохо использовать и в разработке backend. Уже существуют довольно удобные фреймворки и появляются новые. Недавно наткнулся на статью, разработчика Mehmet Yaz, который занимается разработкой своего фреймворка, под названием Style. Интересным моментом лично для меня в нем является попытка построить backend фреймворк в похожем на Flutter стиле. К тому же проект находится в активной стадии разработки и автор просит фидбек на то, что у него получается, поэтому вы можете сделать свой вклад в развитие, если идея придется вам по душе, как минимум дав ему обратную связь.

📌 Почитать подробнее, можно в статье.

#статья
Осень - время, когда GDG в разных городах любят проводить эвенты, и хоть Воронежский пришлось перенести, но это не значит что мы потеряли их все. На этих выходных, 23-24 октября, в Омске состоится DevFest Omsk 2021. И на нем будет много интересного, целых 6 треков: Android, iOS, Enterprise, Machine Learning, React & Node, ну и конечно же Flutter. Причем трек по Flutter совсем не маленький - займет целый день и в нем можно будет послушать:

👉 “Привет, Flutter!” от Евгения Нагибина;
👉 “Мой Флаттер больше твоего” от Геннадия Евстратова;
👉 “Flutter: все грани платформенных интеграций” от Александра Денисова;
👉 “Не магия, а фокусы. Не жесть, а жесты. Системы обработки жестов и фокусов во Flutter” от Светланы Кривошеевой;
👉 “Профилирование приложений Flutter. Незаслуженно забытые герои” от Андрея Смирнова;
👉 Я тоже приеду с докладом “Elementary — MVVM для Flutter под новым углом”.

Купить билеты можно по ссылке. А промокод OHMYFLUTTER сэкономит вам 50% стоимости билета на Flutter трек. Увидимся на DevFest 🤙
Вышел очередной выпуск Flutter Dev Podcast, который в этот раз посвящен теме сугубо практической - хранение данных. Как понять, что настало время развернуть базу данных? Что выбрать: SQL или NoSQL? Стоит ли использовать старый-добрый shared_preferences или лучше заменить его на get_storage? Что выбрать для хранения данных, утечку которых не хотелось бы допустить?

У микрофона: Евгений Сатуров (Surf), Михаил Матюнин (Ozon), Андрей Смирнов (fin_hood).

🎧Послушать подкаст можно в Apple Podcasts, Яндекс.Музыка, Google Podcasts, Spotify.

#подкасты
Этим летом компания Google проводила Google Summer of Code - программу, направленную на привлечение студентов-разработчиков к разработке opensource программного обеспечения. Она спонсировала студентов для работы над 10-недельным проектом в течение лета под руководством одной из организаций наставников. Совсем недавно были подведены итоги, что же полезного было создано в результате этой программы.

📌 Узнать подробнее можно по ссылке.

#статья
DApps это обычные привычные нам приложения, за исключением одной детали - они работают в одноранговой сети, например блокчейн. А поскольку технологии, подобные блокчейну, все прочнее и прочнее закрепляются в современной действительности, вероятно, мы скоро сможем наблюдать довольно часто их и в мобильных приложениях.

📌 Собственно тому, как можно разрабатывать DApps в связке Flutter + Solidity, можно прочитать в статье от Marcos Carlomagno.

#статья