Недавно Илон Маск написал, что у Нетфликса проблемы с доходами из-за повесточки. Удивительно, что такое пишет американец — я был уверен, что американцы как раз довольно слепы к тому, насколько абсурдной выглядит вездесущая повестка. И что скорее у русских людей пригорает: редко когда на русскоязычных ресурсах под любым новым релизом фильма или сериала нельзя найти комментарии разной степени язвительности о расах и ориентациях персонажей. А тут и у Маска пригорело, оказывается.
Повестку действительно трудно не замечать, ей прямо тычут в лицо, если не в фильмах, то в современных американских сериалах практически повсеместно. Проникновение в кино пока меньше, хотя тоже есть, и, судя по анонсам, будет усиливаться: новый Джеймс Бонд это чернокожая девушка, новый Железный Человек это чернокожая девушка, я вообще не понимаю, как белых мужчин в принципе ещё пускают на съёмочную площадку.
Слово "обратный" в термине "обратный расизм" или, например, "обратная дискриминация" — не совсем подходящее, но хорошо отражает суть: давайте осознанно и умышленно быть расистами и сексистами против людей, которые до этого долгое время были расистами и сексистами. И я даже не говорю о том, что принцип "око за око" может быть не только спорным сам по себе, но и порождать потенциально бесконечные качели. Мне просто весь подход кажется очень формальным и искусственным: примерно как попытка на выходных выспаться за всю неделю. Если просто взять и принудительно в сверх-форсированном режиме показывать по 10 представителей меньшинств в каждой серии каждого нового сериала, это не исправит десятилетия и столетия притеснений, но при этом и качество сериала уронит, и вызовет некоторое раздражение у людей.
На мой взгляд бороться со столетием притеснений нужно вот как: следующие сто лет показывать представителей меньшинств в нормальной репрезентации. Вот по статистике что-то около 2% геев — ну и сделайте 2% персонажей геями случайным образом, а не 20% просто ради демонстрации. Аналогично с расами, полами и так далее. Может ли быть Джеймс Бонд чернокожей девушкой? Конечно. И Железный Человек может. Но вот чтобы одновременно: вероятность уже ниже. А чтобы ещё в десяти фильмах и сериалах ВНЕЗАПНО значимые роли достались меньшинствам — это прямо совсем какое-то магическое совпадение. Вместо мысли "геи это нормально" закрепляется мысль "геи это навязчиво и раздражающе" (да простят меня геи, которые это читают).
Что-то мне кажется, лет через десять мы не очень будем жалеть об уходе из страны американского кино, даже при том, что американская киноиндустрия де-факто является на текущий момент крупнейшей в мире, и во многих жанрах просто нет никаких хоть сколь бы то ни было качественных альтернатив.
#fiction
🤖 Вышла Material Components for Android 1.1.3 с компонентами из Material 3 Expressive (но пока еще не всё)
Что добавили из комнентов:
👉DockedToolbarLayout - компонент для показа действий на текущем экране/странице (обычно закреплен в нижний части экрана)
👉FloatingToolbarLayout - плавающий набор действия для текущего экрана/страницы
👉LoadingIndicator - новые индикаторы ожидания
👉MaterialSplitButton - разделенная кнопка
👉MaterialButtonGroup - компонент для группировки нескольких кнопок
Что ещё из важного:
👉 Минимальный Android SDK подняли до 21
👉 Включили nonTransitiveRClass (про последствия для вас читайте тут)
👉 Официальная поддержка Material 3 Expressive будет в версии 1.14.0. Уже есть альфа версии
🛠 Много улучшений существующих компонентов и исправления багов
#android#material3#material3expressive
🚀Вышел Jetpack Compose Material3 Adaptive 1.2.0
Если коротко про изменения — Material3 Adaptive всё ближе к полноценному “Responsive Compose”. Теперь можно писать интерфейсы, которые одинаково естественно ведут себя на телефоне, планшете и десктопе.
Главное:
🪶 Levitate-стратегия для ThreePaneScaffold — превращает панель в плавающее окно (popup).
↔️ Reflow-стратегия для ThreePaneScaffold — позволяет при узком экране уводить одну панель под другую, сохраняя UX.
👉 PaneScaffoldScope.saveableStateHolder — сохраняет состояние между разными конфигурациями экрана.
👉 Modifier.preferredHeight() — теперь можно задать предпочтительную высоту панели.
📏 Новые WindowSizeClasses: API currentWindowAdaptiveInfo() теперь распознаёт Large и ExtraLarge окна — важный шаг к поддержке планшетов и десктопов.
👉 Drag-to-resize получил настройку пользовательского поведения и поддержку a11y (accessibility).
🏝 Плюс: обновлён Kotlin 2.0, переработано API стратегий, исправлены ошибки с анимациями и рендерингом при адаптации.
#compose#material3#adaptive#android#jetpack
🤖Редизайн WearOS с Material 3 Expressive
Google WearOS 6 получит редизайн на основе Material 3 Expressive. Обещают что изменения дизайна не повлияют на время работы часов, а даже наоборот - в WearOS 6 станет на 10% дольше времени работы
Как пользователь Google Pixel Watch могу сказать что показанное меня очень радует. Сейчас дизайн неудобный
#android#wearos#material3#material3expressive
📹Адаптивная Android разработка сделает ваше приложение классным на любом устройстве - Google IO 2025
Очень полезный доклад про разработку адаптивного приложения по дизайну, фичам и поведению. Учитывая, стойкий тренд перехода Android разработки в KMP это как никогда актуально!
#android#adaptive#material3#jetpack#googleio
🤖Вышла библиотека Wear Compose 1.5 с поддержкой Material 3 Expressive
Обновленная библиотека содержит все виджеты для реализации приложения в новом дизайне Google
Помимо этого выпустили
👉Обновленную документацию по дизайну приложений
👉Руководство по миграции на Material 3
👉Примеры на GitHub
#android#wearos#material3expressice#material3
🤯Navigation Drawer становится Deprecated
В Material 3 Expressive делают deprecated компонент "Navigation Drawer". Заменой ему предлагают "Navigation Rail", предлагающий ту же функциональность, но лучше адаптирующийся под разные размеры окна
#ui#material#material3#material3expressive
‼️Google отменяет Compose Material Icons
С релизом Compose Material 3 — версии 1.4.0 Google сделала радикальный шаг: библиотека androidx.compose.material.icons исключена из Material3 и больше не рекомендуется к использованию.
Что произошло
👉 Material Icons удалены из актуального релиза Material3 1.4.0
👉 Поддержка библиотеки прекращена
👉 Можно подключить вручную, но это временная мера для тех, кто не успел мигрировать
❌ Основная причина отказа - негативное влияние на скорость сборки. Библиотека Material Icons тащит весь огромный набор иконок. Это ощутимо увеличивает build time крупных Android и Compose Multiplatform проектов.
Google предлагает переходить на Vector Drawable XML в Android или Compose Multiplatform ресурсах. Скачивайте иконки с вкладки Android на странице Material Symbols и храните в ресурсах проекта
Преимущества использования Material Symbole:
✔️ актуальный набор иконок
✔️ минимальный вес и отсутствие лишних зависимостей
✔️ предсказуемое время сборки
✔️ лучший контроль над ресурсами проекта
❗️ Обновлений библиотеки Material Icons не будет!
Источник - официальная документация Android Jepack
Благодарю подписчика Evgeny F. за то, что обратил внимание на изменение.
#Android#AndroidJetpack#Material3#Compose#CMP
🤖Адаптивность UI в Android-приложениях
Android-приложения запускаются на экранах с разными размерами и ориентацией. Чтобы интерфейс выглядел хорошо в любых условиях, стоит учитывать несколько простых правил, которые я выработал за годы опыта 👇
1️⃣Не привязывайтесь к фиксированным размерам
Фиче может быть выделен весь экран, часть окна или вообще маленький контейнер. Пусть она сама решает: занять всё пространство или только необходимое. Остальное — задача хоста, который через параметры (например, Modifier в Compose) подстроит отображение или сама правильно разместит (например, по центру).
2️⃣Используйте адаптивные компоненты
Вместо LazyColumn — лучше LazyVerticalGrid, а для RecyclerView — GridLayoutManager. Они умеют подстраивать сетку под свободное место на экране.
3️⃣Закладывайтесь на увеличение текста и элементов
Пользователь может менять скейл интерфейса: Google позволяет масштабировать всё, увеличивая DP → PX. Поэтому всегда предусмотрите скролл, если контента может стать больше.
4️⃣UI фичи не должен знать, где он окажется
Фича отвечает только за свой UI. А вот приложение решает, как её показать: в одну панель или, например, в связке через ListDetailPaneScaffold, где на экране могут быть сразу несколько экранов.
Даже если дизайнер подготовил макет только под смартфон в вертикали — попробуйте включить воображение. Немного гибкости и масштабирования дадут пользователям куда более удобный опыт без больших трудозатрат.
📚 Что почитать:
- Практики по построению адаптивных приложений
- Compose Material 3 Adaptive
- Jetpack WindowManager
- Как строить адаптивный UI через layout
💬 Делитесь в комментариях своими советами и болями адаптивности UI
#android#ui#compose#adaptive#ux#material3
На сайте Android Developers стали выкатывать обновления существующих руководств с интеграцией Material 3 Expressive дизайна, а именно:
👉Help & Feedback
👉Settings
👉Настройки App Widget
👉Edge-to-edge дизайн
#material#material3#materialexpressive#m3