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

Автор канала - Михаил Зотьев (@mbixjkee).
Download Telegram
С минуты на минуту начнётся ещё одно мероприятие, на этот раз целиком посвященное Flutter. Большая и по-настоящему нордическая конференция Flutter Vikings пройдёт с 17 по 19 ноября.

Вас ждёт:

👉 🇫reyja
👉 🇱oki
👉 🇺llr
👉 🇹hor
👉 🇹uisto
👉 🇪ir
👉 🇷indr

Много Flutter🔥
Смотрите на сайте мероприятия


#события
Сейчас во Flutter существует сразу несколько популярных архитектур, с помощью которых строятся приложения. Одна из них — Redux. В основе лежит несколько правил:

👉 всё состояние приложения хранится только в одном месте — store;
👉 состояние (state) доступно только для чтения;
👉 для изменения состояния необходимо осуществить действие (action), которое породит новое состояние;
👉 изменения производятся с помощью чистых функций.

📌 О том, как можно приготовить Redux для Flutter в статье Paulina Szklarska.

#статья
4-5 декабря в четвёртый раз пройдёт конференция русскоязычного сообщества Dart и Flutter разработчиков DartUP 2020. В этом году — онлайн. Спикеры из Google, Wrike, Yandex, EPAM и др. Я и мой коллега Женя Сатуров тоже в программе.

👉Будет два потока докладов по Dart и Flutter: один на русском, другой на английском.

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

Несмотря на онлайн, организаторы обещают сохранить тёплую и неформальную атмосферу предыдущих «дартапов» и доброжелательный дух сообщества.

Вас ждёт много новых форматов, а не просто «говорящие головы» три часа подряд.

Регистрация бесплатная на сайте Dartup.ru.
#события
Для показа сообщений пользователю довольно часто используется SnackBar. До текущего момента, взаимодействие с ним осуществлялось через Scaffold с использованием BuildContext. У подобного подхода есть ряд недостатков, которые могут привести к ошибкам:

👉 SnackBar привязан к конкретному Scaffold, а значит будет скрыт при уходе с экрана;
👉 при обращении к SnackBar из асинхронной операции, мы можем получить ошибки, если Scaffold более не валиден и удален.

Данные проблемы призван решить ScaffoldMessenger, который можно получить из MaterialApp. Управление SnackBar теперь можно осуществлять с его помощью. Пока только в версиях Flutter 1.23.0-13.0.pre. Ждём в stable.

📌 Это breaking change. О том как осуществить миграцию читайте в документации Flutter.

#документация #breaking_changes
Театр начинается с вешалки, а приложение с загрузочного экрана. Он необходим нам в целом ряде случаев:

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

📌 О том, как реализовать Splash Screen для Flutter приложения читайте в статье Diego Velasquez.

#статья
Недавно анонсировали переход null safety для Dart и Flutter в Beta. Это последний шаг перед релизом фичи в начале 2021 года.

Вот что важно знать про null safety уже сейчас:

👉 Non-nullable значения переменных по-умолчанию;
👉 Обратная совместимость: вы сами решите что и когда перевести на данный режим, даже в одном проекте сможете использовать оба режима;
👉 Оптимизированный код не только более надёжный с точки зрения кода, но и улучшенный на уровне компиляции, более производительный в исполнении, бинарные файлы меньшего размера.

📌 О том, как обеспечить переход к null safety коду в статье-анонсе от Michael Thomsen.

#статья
Судя по всему, переход на null safety пройдёт безболезненно не у всех. Поддержка null safety для Mockito принесла в библиотеку серьёзные изменения.

Mockito — популярная библиотека для мокирования объектов, использующаяся при написании модульных тестов. Изменения null safety сломали целый ряд механизмов, на которых строилась работа этой библиотеки:

👉 Сопоставление аргументов при проверке;
👉 Возвращаемые значения из моков.

Разработчики нашли несколько возможных решений этих проблем:

👉 Использование кодогенерации для создания моков;
👉 Ручное переопределение всех публичных методов, возвращающих non-nullable или использующих их в качестве параметров.

📌 Подробнее о предложенных подходах можно прочитать в специальном readme библиотеки.
#breaking_changes
Стартовал очередной квартальный опрос от команды Flutter, который продлится до 30 ноября 2020.

С помощью данных опросов команда Fluter собирает актуальный фидбек о работе фреймворка и выбирает направления развития.

📌 Вы можете лично поучаствовать в улучшении Flutter и пройти опрос по ссылке
Surf собирает идеи для развития Open Source.

Я и мои коллеги из Surf больше года назад запустили проект SurfGear. SurfGear — это open source набор библиотек, стандартов, инструментов для разработки на Flutter.

Мы с коллегами участвуем в развитии Flutter-сообщества и приглашаем вас присоединиться к этому.

👉 Давайте вместе подумаем, что мы можем сделать для мира Flutter-разработки.

Присылайте любые ваши идеи: как улучшить работу с фрейморком? чего не хватает, какие боли хотите решить? как сделать проще и лучше? и любые другие предложение.

🌐 Сбор идей для Open Source проводим в рамках DartUP 2020. Surf — партнёр мероприятия.

Пять лучших реализуем в рамках проекта SurfGear.

Ждём ваши предложения и заявки на код-ревью. Подробности👇
https://dartup.surf.ru/

#события
Во многих современных приложениях важную роль играют пуш-уведомления. Для работы с ними во Flutter можно использовать Firebase Cloud Messaging. Плохая новость для тех, кто хочет использовать сервис в связке с Flutter Web: «Web is currently not supported. See the FlutterFire roadmap».

Но не спешите расстраиваться. До выхода официальной поддержки можно воспользоваться решением от Felix Hope для интеграции Firebase Cloud Messaging и Flutter Web.

📌 Подробнее познакомиться с этим решением в статье.

#статья
Ещё одна приятная новость для тех, кому уже не терпится использовать в своих Web-приложениях Flutter. На днях была добавлена поддержка Cloud Storage для Web.
Теперь для того, чтобы воспользоваться всеми удобствами облачного хранилища, необходимо всего лишь добавить строку

<noscript src="https://www.gstatic.com/firebasejs/7.20.0/firebase-storage.js"></noscript>

в index.html файл вашего приложения.

📌 Подробнее о подключении и использовании Cloud Storage в официальной документации.

#документация
Падения могут испортить любое приложение, поэтому с ними надо нещадно бороться. Для этого нам нужны различные инструменты, например, Sentry.
Это инструмент мониторинга ошибок, у которого множество плюсов:

👉 Легко интегрируется в проект;
👉 Позволяет быстро и удобно находить причины ошибок;
👉 Абсолютно бесплатный;
👉 Поддерживает множество языков и технологий, в том числе, буквально на днях, была добавлена поддержка Flutter.

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

#библиотека
Продолжаем ежемесячную подборку самого важного в мире Flutter. Давайте вспомним, чем же порадовал нас ноябрь.

👉 с 11 по 14 ноября прошел Mobius 2020 с внушительным количеством докладов, посвященных Flutter;
👉 с 17 по 19 ноября прошел Flutter Vikings;
👉 команда Google провела опрос за четвертый квартал 2020 года;
👉 анонс Beta null safety Dart.

Самый популярный пост месяца:
❤️ Flutter App Size Tool

#главное
Сегодня и завтра DartUp 2020.
В этом году организаторы и партнёры приготовили много интересного:

📌Что будет?
— Трансляция докладов на русском
— Трансляция на английском
— Можно сразиться в бою 1 на 1 с соперником, решая алгоритмические задачки на Dart и JS:
— Принять участие в розыгрыше ссылка
— Предложить идею для Open Source и код-ревью — по ссылке

Ну и приглашаю сегодня на свой доклад:
📌13:00 — Миша Зотьев, Flutter под капотом

#события
4 и 5 декабря прошла одна из самых важных Flutter и Dart конференций в России — DartUP. Я принимал участие в ней и хочу поделиться своими впечатлениями.

Несомненно было много интересных докладов и других активностей, ознакомиться с которыми вы сможете в записи, если вдруг пропустили. Но больше всего меня порадовало даже не это. Поскольку из-за covid-19 в этом году большинство мероприятий прошло онлайн, лично мне в них не хватало именно общения. У DartUP получилось это исправить! Формат проведения в spatial.chat дал возможность почувствовать себя на полноценной привычной офлайн конференции, при этом сохранив все плюсы онлайн формата.

🚅 Будущее где-то рядом!

А вы были на конференции? Как впечатления?

👉 Го в комменты
This media is not supported in your browser
VIEW IN TELEGRAM
👉 В субботу мы обещали, что случайным образом разыграем мерч среди, тех кто заполнил анкету на виртуальном стенде Surf и я выложу результаты на канал.

Скопировали фамилии и скрыли контакты участников. Результаты на видео.

📌Завтра с вами свяжется моя коллега, по тем контактам, которые вы указали в анкете.
Монетизация приложений при помощи показа рекламы — довольно популярный способ заработка. Иногда он является вообще единственным возможным в приложении.

Поэтому удобные и гибкие способы настройки показа рекламы очень важны. Для показа рекламы во Flutter приложениях существует библиотека AdMob. Однако, некоторых популярных видов рекламы — Inline Banner и Native Ads, в ней пока нет. Авторы библиотеки, собрав фидбек от пользователей, решили реализовать данные возможности. Альфа-тестирование пройдено и проходит бета.

Ждём стабильную версию, но если вам уже не терпится опробовать и есть подходящее приложение, можете принять участие в тестировании.

📌 Подробнее читайте в статье

#статья
В недавнем опросе команда Flutter спросила разработчиков об их предпочтениях в отношении критических изменений. В результате 78% заявили, что предпочитают критические изменения, если они приводят к максимально чистому API, что также упрощает его изучение и использование. Теперь нас ожидает следующий порядок устаревания кода:

👉 период миграции начинается, когда в стабильном канале выходят изменения с пометкой «устаревший код»;
👉 срок окончания миграции — 1 календарный год или 4 стабильных выпуска, в зависимости от того, что дольше;
👉 для уведомления и сбора фидбека будут использовать следующие каналы: Flutter Contributor Discord, flutter-announce и flutter-dev.

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

#статья
«Кроссплатформа всегда будет получать все нативные плюшечки поздно, а некоторые и вообще не получит» — говорили они…

И вот довольно сырой Flutter Web может похвастаться тем, что на нём можно использовать Apple Pencil.
Немного магии нам в ленту от ampstor

👉 Видео: https://twitter.com/i/status/1333584852960964609
14 декабря стартует первая конференция про кроссплатформенную мобильную разработку – Podlodka Crossplatform Crew!

А это значит, что вас ждет:
🔹неделя интенсивов и воркшопов по кроссплатформенным технологиям
🔹общение с крутейшими экспертами и другими участниками комьюнити
🔹куча новых практик и идей, которые можно унести в свой багаж

На концеренции вы:

— Узнаете, реально ли Flutter экономит деньги Surf и как они к этому пришли. Или это все просто хайп?
— Унесете в копилочку лучшие практиках применения Kotlin Multiplatform Mobile в Cash App, разработанном в Square.
— Разгадаете, почему в Shopify еще пишут на React Native, когда Airbnb уже давно поставил на нем жирный крест?
— Научитесь преодолевать технические челленджи, которые обязательно встретятся вам, если вы решите интегрировать Flutter или KMM в ваш текущий проект
— Потренируетесь готовить свою команду к внедрению кроссплатформы: изменения придут не только в кодовую базу, но и в ваши процессы!
— Запасетесь рабочими аргументами и психологическими техниками, которые помогут продать кроссплатформу вашему СTO
— Расширите свой кругозор и разберетесь, в каких случаях альтернативная кроссплатформа (Xamarin, Gomobile и Capactor) могут сработать покруче хайповых технологий!
— Выясните реальные особенности и проблемы популярных решений, про которые не расскажут ни на одном докладе — ПРОЖАРКА не пощадит никого!

👉🏻 Купить билет и посмотреть расписание можно тут 👈🏻

#события
Null Safety стремительно движется к релизу. Для того, чтобы было проще следить за прогрессом в репозитории dart появилась страница, показывающая прогресс подготовки на Null Safety.

На ней можно увидеть:

👉 Общий прогресс перехода — количество не готовых к переходу пакетов;
👉 Топ блокирующих переход пакетов;
👉 Пакеты, добавившие поддержку Null Safety за последнюю неделю.

📌 Ознакомиться с дашбордом
#update