Flutter Tech-Lead Notes
318 subscribers
136 photos
9 videos
82 links
Download Telegram
Экосистема Apple спасает в самом необычном случае.

Сейчас телега работает еле-еле, но мне нужно было отправить файл. 10 минут ожидания на 0% означают, что нужно искать обходные пути. И им для меня стал AirDrop, так как с телефона в телегу хоть медленно, но заливается.

А как у вас обстоят дела с доступом в телегу?
🤯3
На проекте, который сейчас делаю на работе встретился интересный баг.

У нас используется flutter_html, и если мы передадим ему список внутри абзаца (например <p><ul>...</ul></p>), то снизу появится отступ размером с сам список.

В итоге, оказалось, что это баг самой библиотеки, поэтому решение было достаточно быстрым - меняем. Поменял на flutter_widget_from_html. Она, как мне показалось, чуть более удобная даже.
👍1
Flutter Tech-Lead Notes
На проекте, который сейчас делаю на работе встретился интересный баг. У нас используется flutter_html, и если мы передадим ему список внутри абзаца (например <p><ul>...</ul></p>), то снизу появится отступ размером с сам список. В итоге, оказалось, что это…
Все стало еще интереснее. Сборка приложения после смены библиотеки не дошла до Test Flight. В чем проблема? В том, что эта библиотека объединяет несколько и ей нужно разрешение микрофона. Поэтому нужно использовать flutter_widget_from_html_core
Forwarded from Flutter. Много
Hola, Amigos! На связи Павел Гершевич, Flutter Team Lead в Amiga. Делимся с вами 4 частью полного гайда по тестированию в Flutter, которая посвящена продвинутому модульному тестированию.

Мы уже рассмотрели:
⚙️ Unit-тестирование, Widget-тестирование, Golden-тесты и интеграционное тестирование

⚙️ Простые модульные (Unit) тесты

⚙️ Использование техник Mocking и Stubbing для тестирования классов

В новой статье еще больше усложнен класс LoginViewModel при помощи создания переменной _cache для кеширования результата, полученного от SharedPreferences. Продолжение читайте по ссылке.

Fun fact: думали, что гайд состоит из 6 статей, а оказалось, что есть еще 3, только уже не на английском, а на вьетнамском языке. Пожелайте нам удачи!
Please open Telegram to view this post
VIEW IN TELEGRAM
Flutter Tech-Lead Notes
Итак. Поступают плохие новости. YouTube все-таки замедляют. У меня это началось где-то неделю назад, может чуть больше. Немного хронологии: - Начали подтупливать видео раз в несколько минут. "Ну и пофиг" - Грузит только 720p. "Ок, не страшно" - Ростелеком…
Вчера убили YouTube, вернее замедлили так, что невозможно стало пользоваться. Даже включенный QUIC не помогает. Значит, нужно искать способ работы с DPI на macOS (для Windows уже давно все используют GoodbyeDPI). В итоге я его нашел на просторах интернета:

Для этого нам потребуется терминал. Сначала установим программу нужную:

curl -fsSL https://raw.githubusercontent.com/xvzc/SpoofDPI/main/install.sh | bash -s darwin-amd64

Добавим ее в переменную PATH (нужно для запуска из консоли)

export PATH=$PATH:~/.spoof-dpi/bin

И запустим

spoof-dpi

Но не всегда срабатывает (у меня не сработало). Поэтому запускаем еще раз, но с настройками:

spoof-dpi --enable-doh --window-size 0

И вы получите на выходе работающий YouTube в любом браузере на macOS
👍41
Forwarded from Flutter. Много
Flutter 3.24

Hola, Amigos! Срочное включение! Вышла новая версия Flutter 3.24. В режиме турбо перевели статью для вас и делимся по ссылке ⚙️

В этом релизе представлена предварительная версия Flutter GPU, которая позволяет использовать продвинутую графику и 3D-сцены прямо из Flutter.

Web-приложения теперь могут встраивать несколько Flutter View, что улучшает их гибкость.

А ещё добавлена монетизация с видео рекламой, чтобы получать максимальную выгоду.

⚙️ Читать здесь
⚙️ Ставить лайки тут и там
⚙️ Обсуждать сюда

Всем хорошего кода! 🙂
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Как проще всего поучаствовать в улучшении Flutter?

Самый простой способ - не самому что-то поправить, а найти баг. В одном из наших приложений такой нашелся, причем на старой версии. Разработчик буквально только что закончил оформление issue на этот баг - https://github.com/flutter/flutter/issues/153426
👎2🤔1
Пришло время первых анонсов осеннего сезона. Это будет интересно и увлекательно, так как я подготовил для вас серию докладов.

7 сентября мы встретимся на DevFest в третьем по населению городе Сибири - Омске (я недавно смотрел, мой родной Красноярск уже больше). Там я расскажу, зачем нам нужно логирование, какое оно бывает и что с этим всем делать.

Что? DevFest Omsk
Когда? 5-8 сентября 2024
Спикер: Павел Гершевич
Тема: Логирование на Flutter или какие метрики помогут в оптимизации
https://www.devfestomsk.ru/schedule
👍4🔥1
Обновление Flutter 3.24 принесло старый баг (его фиксили, но он вернулся), который я еще не встречал. Воспроизводится не на всех приложениях.

Что произошло:
При сборке релизного Android, если у зависимостей compileSdkVersion не 34 (Android 14), то может произойти ошибка при объединении ресурсов (на дебажной не воспроизводится). На одном из пет-проектов упало прямо на гуловской библиотеке (сначала упало на CI/CD, потом я смог воспроизвести).

* What went wrong:
Execution failed for task ':google_mlkit_commons:verifyReleaseResources'.
> A failure occurred while executing com.android.build.gradle.tasks.VerifyLibraryResourcesTask$Action
> Android resource linking failed
ERROR:/Users/user/build/**/intermediates/merged_res/release/values/values.xml:221: AAPT: error: resource android:attr/lStar not found.


Решаем так (скорее всего решение костыльное, но оно работает):

В файл android/build.gradle нужно добавить такой код:

subprojects {
project.buildDir = "${rootProject.buildDir}/${project.name}"
}
subprojects {
afterEvaluate { project ->
if (project.plugins.hasPlugin("com.android.application") ||
project.plugins.hasPlugin("com.android.library")) {
project.android {
compileSdkVersion 34
buildToolsVersion "34.0.0"
}
}
}
}
subprojects {
project.evaluationDependsOn(':app')
}

Вот и все) Приложение начнет собираться
👍2😁2
И еще один анонс на сентябрь.

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

Что? Стачка
Когда? 27-28 сентября
Спикер: Павел Гершевич
Тема: Это больше, чем биометрия. Или как сделать локальную аутентификацию в мобильном приложении.

https://spb24.nastachku.ru/
1
Вот и первая авторская статья на Хабр
Forwarded from Flutter. Много
Hola, Amigos! На связи Flutter-команда агентства продуктовой разработки Amiga.

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

В новой статье:
-возможности библиотеки bloc_test,
-примеры простых модульных тестов,
-примеры тестирования сложных событий.

Читайте по ссылке на Habr. Ставьте реакции, если было полезно!

А также делитесь в чате, с какими трудностями встречаетесь вы при тестировании приложений?
❤‍🔥1🔥1
Нашел для себя новый лайфхак по ускорению прохождения всех проверок в аэропорту - одежда без ремня. Вместе со складыванием всего в рюкзак работает отлично. От паспортного до зоны вылета - 3 минуты. Повторил свой рекорд. Просто передо мной были медленные люди. Так бы менее минуты вышло - закинуть ручную кладь на ленту, пройти, забрать с ленты.
❤‍🔥1
Ну вот и все, через полчаса уже буду в воздухе
❤‍🔥1
«Повезло» мне с погодой в Питере(((

Вроде все нормально, но потом жуткий дождь и ветер. Чуть зонтик не сломал.

Зато на воскресенье обещают хорошую погоду
Another way to home
2
Пора рассказать, что я делал в СПб.

Впервые за долгое время я полетел куда-то без конференций, митапов и всего такого. Те, кто давно подписан на канал, знают, что я болельщик Зенита. Поэтому тут все просто - матч со Спартаком.

А сидел я на первых рядах и был отличный обзор поля.
🔥3