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

Автор канала - Михаил Зотьев (@mbixjkee).
Download Telegram
Падения могут испортить любое приложение, поэтому с ними надо нещадно бороться. Для этого нам нужны различные инструменты, например, 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
Сейчас в ходу огромное количество различных мобильных устройств. И мы хотим, чтобы наше приложение одинаково хорошо выглядело на каждом из них. Всё более актуальным становится вопрос адаптивного дизайна.

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

📌 О том, какие принципы и подходы можно применять для реализации адаптивного дизайна во Flutter в статье от Sophia Martin.

#статья
Всем привет! Я выпустил третью часть из серии статей про подкапотное устройство Flutter. С обобщённым материалом, представленным в этих статьях, я выступил на Mobius 2020 и DartUp 2020.

В Flutter Under Hood: Owners я затронул темы:

👉 Построения кадра во Flutter;
👉 Участия в этом процессе менеджеров BuildOwner и PipelineOwner;
👉 Принципы работы BuildOwner;
👉 Принципы работы PipelineOwner;
👉 Подходы к построению макета Flutter;

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

#статья
Вот такую интригу повесили в твиттере Flutter. Ничего не понятно, но очень интересно.
А как вы думаете, что нас ждет 03.03.2021? Погнали в комменты 😉
https://twitter.com/FlutterDev/status/1339256577480683521

#события
Приятно пользоваться приложением с красивым UI. Особенно приятно если он отзывчив. Для того, чтобы приложение имело такой UI, нужно обязательно учитывать различные узкие кейсы, которые могут навредить производительности:

👉 тяжелые вычисления, там где им не место;
👉 расчет большего дерева, чем это необходимо;

📌 О популярных ошибках, которые мешают писать хороший, отзывчивый UI читайте в статье Pierre-Louis Guidez.
#статья
Если создать новый Flutter-проект из master channel, мы увидим новую директорию integration_test. Как легко догадаться из названия, лежат в ней интеграционные тесты приложения. И вместе с их появлением библиотека integration_test стала частью Flutter.

📌 Найти её можно теперь в репозитории с плагинами.
#библиотека
Для многих приложений важна привязка к пользователю. Для корректной работы в данном случае потребуется авторизация. Одним из популярных способов ее реализации является использование Firebase Auth.

Он предоставляет различные варианты авторизации:
👉 email и пароль;
👉 ссылка на email;
👉 по номеру телефона;
👉 Apple авторизация;
👉 Facebook авторизация;
👉 Twitter авторизация;
👉 Google авторизация;

Подробнее о том, как можно использовать возможности Firebase Auth, читайте в статье от Paul Ruiz.
#статья
Иногда даже хорошо написанное приложение может негативно восприниматься пользователем - ощущение дискомфорта при использовании, недоработанности. Это узкие кейсы, мешающие восприятию, работают против разработчика. Например, состояние загрузки, появляющееся на сотые доли секунды. Каждая такая ситуация портит пользовательский опыт от приложения, к тому же, причины дискомфорта не всегда очевидны. Но если вы знаете о них, считайте вы сделали большой шаг к победе над ними.

📌 О ситуациях, портящих пользовательский опыт при работе с изображениями, а также их решении, читайте в статье от Per Classon.
#статья
Довольно часто нужно акцентировать внимание пользователя на какой-то части интерфейса, или по шагам объяснить что-то пользователю. Это может быть полезным при:

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

Реализовывать подобные обучения, не имея удобного механизма, весьма затратно. На помощь в этом вопросе может прийти библиотека showcaseview. Она предоставляет удобный и простой механизм, который позволит:

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

#библиотека
Репозиторий flutter/plugins хранит в себе множество полезных плагинов, созданных непосредственно командой Flutter. Некоторые из них были улучшены, а также получили дополнительную поддержку различных платформ силами Flutter Community.

В этом списке:
👉 battery_plus;
👉 connectivity_plus;
👉 network_info_plus;
👉 device_info_plus;
👉 package_info_plus;
👉 sensors_plus;
👉 share_plus;
👉 android_alarm_manager_plus;
👉 android_intent_plus;

Найти улучшенные плагины вы можете в репозитории.
#библиотека
У каждого из нас есть любимые инструменты разработки. Кому то нравится Android Studio или IntelliJ IDEA, кто-то без ума от VS Code. Но любой инструмент может быть еще лучше, благодаря мощной экосистеме плагинов.

Awesome Flutter Snippets от Neevash Ramdial - плагин для VS Code, значительно ускоряющий разработку. Плагин содержит огромный набор сниппетов для создания часто используемых конструкций Dart-кода для Flutter:

👉 Stateless Widget
👉 Stateful Widget
👉 Single Child Scroll View
👉 Tween Animation Builder
👉 Test
👉 Test Widgets и многие другие

📌 Прокачайте свой VS Code при помощи Awesome Flutter Snippets.
Продолжаем прокачивать VS Code. Приятно, когда IDE заметно помогает ускорить написание рутинного кода, например декларацию верстки. Плагин Flutter Tree от Marcelo Velasquez позволяет удобно описать требуемое поддерево, получив в результате его сгенерированную версию.

Например

OneChild>MultipleChild[OneChild,MultipleChild[OneChild,OneChild],OneChild>OneChild]


в результате превратится в

OneChild(
child: MultipleChild(
children: <Widget>[
OneChild(),
MultipleChild(
children: <Widget>[
OneChild(),
OneChild(),
]
),
OneChild(
child: OneChild(),
),
]
),
)


Установить расширение можно из marketplace по ссылке.