MobDev Portal | Мобильная Разработка
5.98K subscribers
315 photos
63 videos
4 files
270 links
Присоединяйтесь к нашему каналу и погрузитесь в мир мобильной-разработки

Связь: @devmangx
Download Telegram
Использование Column для отображения длинного списка загружает все элементы сразу, что замедляет работу приложения

Следует использовать LazyColumn, которая загружает только необходимые элементы

👉 @MobDevPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
11👍3😁1🌚1
Новое в SwiftUI

Начиная с iOS 26.0+, можно задавать отступы для секций в List с помощью модификатора listSectionMargins()

👉 @MobDevPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
8👍5
This media is not supported in your browser
VIEW IN TELEGRAM
Gemini CLI — опенсорс AI-агент для разработчиков от Google, который работает прямо в терминале

На борту — Gemini 2.5 Pro, контекст 1М токенов, 60 запросов/мин и 1000 в сутки — бесплатно (нужен только гугл-аккаунт)

Можно писать и дебажить код, автоматизировать задачи, ресерчить

При желании можно прикрутить любой MCP сервер. Например, генерировать прямо из терминала картинки (Imagen) или видео (Veo)

npm install -g @google/gemini-cli


Исходники на GitHub

👉 @MobDevPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
6🔥3👍2
Please open Telegram to view this post
VIEW IN TELEGRAM
17👍8🔥3🌭1
Jetpack Compose стал настоящим прорывом для Android

Но в сочетании с KMP (Kotlin Multiplatform) и Compose Multiplatform он действительно раскрывает потенциал кроссплатформенной разработки

Недавно закончил проект на KMP — всё прошло максимально гладко. Доступно много полезных библиотек и инструментов.

Если ты Java/Kotlin-разработчик и ещё не пробовал — самое время начать

🔸 Стартовый проект: https://terrakok.github.io/Compose-Multiplatform-Wizard/
🔸 Библиотеки: https://github.com/terrakok/kmp-awesome#contents
🔸 Шаблоны: https://kmp.jetbrains.com/templates/

В чём разница?
Compose Multiplatform = Jetpack Compose + Kotlin для всего (и UI, и логика)
KMP = Общая логика на Kotlin + нативный UI там, где нужно (Swift, Kotlin или Java)

Стартовать с Compose MP проще, чем когда-либо. Знание Swift пригодится, но не обязательно.

Компании, которые уже используют: https://jetbrains.com/help/kotlin-multiplatform-dev/case-studies.html

👉 @MobDevPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
9👍7🔥4
Эффекты в Jetpack Compose, лежащие на поверхности

Полезная статья про то, как реализовать универсальное решение, которое умеет накладывать различные эффекты(blur, magnifier) поверх готового контента в Jetpack Compose.

👉 Читать

👉 @MobDevPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍2
Новое в SwiftUI

Используй GlassEffectContainer для группировки связанных элементов Liquid Glass в единую форму, что позволяет добиться плавного визуального смешивания

👉 @MobDevPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
8👍2
Ныряем в холодные потоки Kotlin Flow

Базовая статья по основам Kotlin Flow для начинающих

🔸 Термины
🔸 Холодные и горячие потоки
🔸 Холодные потоки, горячие каналы
🔸 Создание Flow
🔸 Структура Flow
🔸 Пример использования

👉 Читать

👉 @MobDevPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
6👍3🏆1
Совет по SwiftUI

Создайте и настройте пэйвол с помощью представлений StoreKit для SwiftUI

👉 @MobDevPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥21
Совет: любой Swift-код внутри блоков SKIP может напрямую взаимодействовать с Kotlin, включая JetpackCompose

Мы прозрачно транспилируем SKIP-код в Kotlin, а затем возвращаем его в нативный Swift через мост. Здесь пользователь интегрирует кастомный Compose в свой SwiftUI с помощью ComposeView

👉 @MobDevPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
6👍4🔥3
Создание кастомного тултипа Jetpack Compose

Пошаговый гайд по созданию гибкой и удобной системы тултипов в Jetpack Compose, с помощью модифайеров и специального оборачивающего блока.

Читать

👉 @MobDevPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
5🔥3👍2
SwiftUI совет

Начиная с iOS 18.0, к секциям в List можно привязывать действия с помощью модификатора sectionActions()

👉 @MobDevPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
6👍3
Хроника изменений API фоновой работы в Android

Довольно подробная статья про то, как менялись инструменты для фоновой работы в Android: Service, AlarmManager, Doze Mode, JobScheduler и т.д.

🔸Читать

👉 @MobDevPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
4👍2👀1
SwiftUI совет

Начиная с iOS 26.0, можно использовать listSectionMargins() для управления отступами вокруг каждой секции в списке.

👉 @MobDevPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
8👍2👀1
This media is not supported in your browser
VIEW IN TELEGRAM
Creating an Engaging Progress Button in Jetpack Compose

Гайд по реализации вот такой кнопки с прогрессом на Jetpack Compose.

Исходный код → ProgressButton

🔸Читать

👉 @MobDevPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
9👍6
Библиотека Liquid Glass для Jetpack Compose

https://github.com/Kyant0/AndroidLiquidGlass

👉 @MobDevPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
8👍4👎2
Совет по SwiftUI

Используй sectionActions() для добавления действий к любой секции в списке.

(Доступно начиная с iOS 18.0)

👉 @MobDevPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
7👍2
Swift Actors: What Are They For?

Актор - это ссылочный тип, подобный классу, созданный для безопасного управления изменяемым состоянием в многопоточке. Акторы, представленные в Swift 5.5, помогают разработчикам писать потокобезопасный и более предсказуемый код при работе с асинхронными задачами.

В статье более детально можно почитать что это такое и чем отличаются от классов и посмотреть простые примеры использования.

🔸Читать

👉 @MobDevPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍64
Исключения не стоит объявлять как object

Даже если кажется, что у них нет изменяемого состояния — на деле это не так: у каждой Exception есть stacktrace, а значит, каждое исключение должно быть уникальным экземпляром

👉 @MobDevPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
11🔥4👍2