#go#dovecot#email#email_marketing#mail#mailserver#newsletter#newsletters#postfix#rspamd#server#smtp
BillionMail is a free, open-source mail server and email marketing tool that lets you send newsletters, promotions, and transactional emails with full control and privacy. You can install it in about eight minutes, connect your own domain, and start campaigns easily. It offers advanced analytics, unlimited sending, customizable templates, and keeps your data secure on your own server. This means you avoid expensive fees, hidden costs, and third-party tracking, making it ideal for businesses and individuals who want powerful, private, and flexible email marketing[2][3][4].
https://github.com/aaPanel/BillionMail
🤖 Вышла 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