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

Связь: @devmangx
Download Telegram
SwiftUI совет

Вы можете управлять размером Spacer, используя .frame()

Это полезно, когда требуется точное расстояние между представлениями, вместо использования гибкого пространства.

👉 @MobDevPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
8
Если вы хотите изучить Kotlin и разработку под Android, вот для вас обширный 60-часовой курс.

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

В конце курса вы создадите собственный клон Uber для практики на реальных примерах.

https://freecodecamp.org/news/master-kotlin-and-android-60-hour-course/

👉 @MobDevPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
7👍6
Kotlin Coroutines: The real difference between Job.cancel() and Scope.cancel()

Небольшая статья, с наглядными примерами отличий Job.cancel() и Scope.cancel() и в каких случаях, что использовать.

🔸The basics: Job vs CoroutineScope
🔸 Key differences in practice
🔸 Real-world analogy
🔸 When to use each
🔸 Summary

👉 Читать

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

Управляйте размером кругового ProgressView с помощью модификатора .controlSize().

👉 @MobDevPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
8🤔1
Если необходимо сохранить идентичность компонента, который меняет своё положение, это можно реализовать с помощью movableContentOf.

Эта функция позволяет использовать одни и те же composable-объекты в качестве дочерних элементов разных родительских компонентов.

Это особенно полезно при создании адаптивных макетов.

👉 @MobDevPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
7👍5
This media is not supported in your browser
VIEW IN TELEGRAM
Это ТАК раздражает, когда TextField не отображает весь введённый текст 😡

Но ты знал, что в SwiftUI есть встроенный способ решить эту проблему?

И что для этого нужен всего один ряд кода?

👉 @MobDevPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
7👍4
This media is not supported in your browser
VIEW IN TELEGRAM
Вот обзор различных вариантов расположения столбцов в Jetpack Compose

👉 @MobDevPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
8👍5
Фишка по SwiftUI

Когда пилишь пейволл на SwiftUI с StoreKit, можно кастомизировать отображение подписок через модификатор subscriptionStoreControlStyle()

Сейчас в комплекте есть 6 встроенных стилей на выбор

👉 @MobDevPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍2
В чем разница между Immutable и Stable в Compose?

🔸 Immutable следует использовать для действительно неизменяемых классов, которые не могут изменяться.

🔸 Stable означает, что данный класс не будет обновляться без уведомления наблюдателей. Например, класс, агрегирующий State, является стабильным, поскольку все наблюдатели State будут повторно перекомпонованы при изменении его значения. 𝐒𝐭𝐚𝐛𝐥𝐞 — это понятие, специфичное именно для Compose. Если аргумент компонуемой функции стабильный, нам не нужно проверять его содержимое, чтобы определить необходимость повторной перекомпоновки; достаточно проверить ссылку на объект.

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

❗️На данный момент Compose обрабатывает аннотации Immutable и Stable абсолютно одинаково

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

При отображении поповера вы можете настроить его положение с помощью параметра arrowEdge

👉 @MobDevPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
7👍3
Forwarded from IT Portal
Xcode превратился в Cursor — туда завезли поддержку ChatGPT и других LLM. Можно подключаться по API или запускать локально

Причём для ChatGPT даже не нужен аккаунт OpenAI — доступен базовый режим с ограниченными лимитами

Apple также не забыли про важную для вайбкодеров фичу — поддержка Voice Control позволяет писать код голосом, общаясь с LLM напрямую

Обо всём этом рассказали сегодня на WWDC 2025. Запись презентации здесь

@IT_Portal
🔥103👎2
This media is not supported in your browser
VIEW IN TELEGRAM
Офигеть! Это происходит

Вот я на macOS 26 Beta запускаю контейнеры без установленного Docker

😱 НАТИВНАЯ ПОДДЕРЖКА КОНТЕЙНЕРОВ В MACOS

https://github.com/apple/container

👉 @MobDevPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
14👍4
Что такое Android Runtime?

Мы пишем код на Kotlin/Java, и при сборке APK он преобразуется в байткод.

В нашем APK-файле будут находиться .dex-файлы, содержащие байткод.

Наши Android-устройства не могут выполнять байткод напрямую, поэтому его необходимо транслировать в машинный код. Эта трансляция осуществляется средой выполнения Android — Android Runtime.

Kotlin/Java > байткод (.dex-файлы в APK) > машинный код

Теперь, когда мы знаем, что такое Android Runtime, пора узнать о различных типах Android Runtime и их эволюции:

🔸Dalvik
🔸ART

Узнайте больше здесь:
https://outcomeschool.com/blog/dalvik-art-jit-aot

👉 @MobDevPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
6👍3
This media is not supported in your browser
VIEW IN TELEGRAM
Новая анимация MagicReplace SF Symbols в SwiftUI

👉 @MobDevPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
8👍6😁2
This media is not supported in your browser
VIEW IN TELEGRAM
VisualTransformation — это инструмент в Jetpack Compose, который позволяет изменять визуальное отображение текста в TextField, не затрагивая при этом фактическое значение ввода. Например, его можно использовать для маскировки цифр или вставки дефисов при вводе номера кредитной карты

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

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

Закрепи важные элементы интерфейса, например кнопку "Продолжить" на экране онбординга, с помощью модификатора safeAreaInset(), чтобы основной контент можно было скроллить независимо.

👉 @MobDevPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍75
This media is not supported in your browser
VIEW IN TELEGRAM
Принёс полезное — базу актуальных бесплатных API, которую регулярно обновляют 😇

Внутри аж 403 штуки на любой вкус: от игр и погоды до финансов и здоровья

Алгоритмы присваивают рейтинг каждому API на основе надежности, частоты ошибок и времени отклика

Если апишка перестает работать или становится платной, она теряет рейтинг и удаляется с сайта

👉 @MobDevPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10😁1
Анонсирована рабочая группа Swift on Android — цель: сделать Android официально поддерживаемой платформой для Swift и поддерживать эту интеграцию на постоянной основе.

Подробнее тут: https://forums.swift.org/t/announcing-the-android-workgroup/80666

👉 @MobDevPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍94🔥1
Использование Column для отображения длинного списка загружает все элементы сразу, что замедляет работу приложения

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

👉 @MobDevPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
11👍3😁1🌚1