TGViewer
Channel Public Channel
Мобильная разработка #1

Мобильная разработка #1

@developer_mobila

Всё о создании приложений под Android и iOS в одном месте.

🔹 Инструменты, библиотеки и ресурсы для ускорения работы.
🔹 Статьи и гайды для разработчиков любого уровня.
🔹 Тренды мобильной разработки и новости индустрии.

Реклама @evgenycarter
Subscribers
3.81K
Photos
795
Videos
88
Links
1.3K

Showing posts older than #1695 · Back to latest

Older Posts 20 shown
Post #1694 1K
Claude Code лучше всего работает как мультишаговый агент — выполняя задачу итеративно, внося изменения и проверяя, совпадает ли результат с целевым.

Рассмотрим один из способов наделить Claude Code (далее — «CC») возможностью использовать свои мультимодальные способности для просмотра результатов SwiftUI-кода — с помощью Swift Snapshot Testing. Мы изучим, как усилить его способности к анализу изображений через вызов инструментов (tool calling). И, наконец, проверим, насколько успешно он справится с задачей воссоздания SwiftUI-вида по эталонному изображению.

Стратегия, описанная в этом материале, оптимизирована для юнит-тестирования SwiftUI-вью в изоляции (без строки состояния, с гибкими размерами и т. д.). В конце поста кратко рассмотрим другие подходы к визуализации.

https://twocentstudios.com/2025/07/13/giving-claude-code-eyes-to-see-your-swiftui-views/

#ios

👉 @developer_mobila
  • 👍 1
Post #1692 877
Создание красивой кнопки с прогрессом в Jetpack Compose

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

Что мы будем создавать?
Мы собираемся создать многоразовый компонент ProgressButton. Эта кнопка будет иметь анимацию прогресса, которая заполняет кнопку слева направо. Ключевой особенностью этого компонента является его способность обрезать анимацию прогресса по форме кнопки, обеспечивая гладкий и плавный вид, независимо от того, используете ли вы закругленные углы или круглую форму.

https://proandroiddev.com/creating-an-engaging-progress-button-in-jetpack-compose-29ff8d5e383c

#Android

👉 @developer_mobila
  • 👍 1
Post #1691 960
Осваиваем множества в Swift: практическое руководство

Массивы — это здорово, но они подходят не для каждой задачи. В этом видео мы подробно разбираем множества (Sets) в Swift: чем они отличаются, как эффективно с ними работать и когда выбирать их вместо массивов.

Вы узнаете:
• Как создавать и изменять множества
• Ключевые отличия множеств от массивов
• Основные операции: insert, remove, union, intersection и другие
• Методы сравнения: subset, superset и disjoint
• Реальные прим/Users/evgenycarter/Downloads/4K/Mastering Swift Sets A Practical Guide.mp4еры использования: фильтрация тегов, права доступа, удаление дубликатов, планирование встреч

К концу урока у вас будет полностью рабочий playground и ясное понимание, когда и почему стоит использовать Set вместо Array.

источник

#ios

👉 @developer_mobila
  • 👍 2
Post #1689 849
Создавайте продвинутые автоматизации с помощью Home API на Android.

Узнайте, как спроектировать и реализовать редактор автоматизаций в вашем Android-приложении. Мы разберём создание стартовых узлов, узлов действий, работу с черновиками автоматизаций и использование Discovery API для определения возможностей устройств. Кроме того, вы познакомитесь с продвинутыми примерами автоматизаций!

В этом видео будет рассмотрено:

* Основные концепции автоматизаций Google Home (Стартовые условия, Условия, Действия, Последовательные и Параллельные сценарии).
* Как использовать Automation API для создания, удаления и получения данных об умных домашних автоматизациях на Android.
* Как создать собственный редактор автоматизаций.
* Как использовать Discovery API для поиска поддерживаемых команд устройств для автоматизаций.
* Продвинутые примеры автоматизаций (старт по времени, Assistant Broadcast, delayFor, suppressFor, AreaPresenceState).

https://www.youtube.com/watch?v=f7q3amS7uOY

#Android

👉 @developer_mobila
YouTube Create advanced automations using the Home APIs on Android Learn how to design and implement an automation editor within your Android app. We'll cover building starter nodes, action nodes, creating automation drafts, and using the Discovery API to find device capabilities. Plus, explore advanced automation examples!…
  • ❤ 1
  • 👍 1
Post #1688 993
Реагирование на жесты в SwiftUI: перетаскивание

Узнайте, как реализовать жесты перетаскивания в SwiftUI для создания плавных и интуитивно понятных перетаскиваемых элементов интерфейса.

https://www.createwithswift.com/responding-to-gestures-dragging/

#ios

👉 @developer_mobila
  • 👍 1
Post #1687 1.23K
Антон Бушманов — Перерисовки в SwiftUI

Антон рассказал о части перформанса в SwiftUI, а конкретнее о перерисовках. Доклад нацелен на тех, кто только переходит на SwiftUI или использует его не так давно, чтобы задаваться вопросами перформанс ревью. Будет интересно разработчикам всех уровней. Главная цель доклада — преподнести перерисовку максимально простым языком и на примерах.

https://www.youtube.com/watch?v=a_FQ93Laqvs

#ios

👉 @developer_mobila
YouTube Антон Бушманов — Перерисовки в SwiftUI Подробнее о конференции Mobius: https://jrg.su/ojGU3B — — Скачать презентацию с сайта Mobius — https://jrg.su/K9Wwrr Антон рассказал о части перформанса в SwiftUI, а конкретнее о перерисовках. Доклад нацелен на тех, кто только переходит на SwiftUI или использует…
  • 👍 1
Post #1685 838
Функциональный стиль: объясняю как другу

«Функциональное программирование», «Immutable значения», «Pure функции».
Тоже слышал эти умные слова?

И ты такой: «Что? Можно просто for написать?»

Спокойно. Сейчас все разложим по полочкам. Даже если ты пишешь var a = 1 и гордишься этим - ты свой. Погнали.

https://habr.com/ru/articles/926900/

#ios

👉 @developer_mobila
  • 👍 1
Post #1684 834
Рулим светодиодом по UDP и ESP8266

Сегодня я поделюсь опытом работы с протоколом UDP вместе с микроконтроллером ESP8266, где я управлял светодиодом, а также получал температуру с датчика DHT11. Всё управление будет происходить из Android-приложения, написание логики которого также будет рассмотрено.

https://habr.com/ru/articles/925800/

#Android

👉 @developer_mobila
  • 👍 3
Post #1682 969
Акторы в Swift — для чего они нужны?

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

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

https://blog.egesucu.com.tr/swift-actors-what-are-they-for-fd40b4264d9a

#ios

👉 @developer_mobila
  • 👍 1
Post #1681 1.01K
Swift concurrency. Executors, Actors и их связь с потоками

В данной части из серии статей мы погрузимся чуть глубже в недра Swift Concurrency. Как определяется поток, на котором будет выполняться Task? Почему в рамках одной Task поток может меняться? Что такое Executor и на какие типы он делится? За что отвечает TaskExecutor, а за что SerialExecutor? Как определить текущий Executor по коду? Как использовать свой самописный Executor? В этой статье ответим на эти (и многие другие) вопросы.

https://habr.com/ru/articles/887240/

#ios

👉 @developer_mobila
  • 👍 1
Post #1680 1.16K
Как обнаружить обрезку Text в SwiftUI?

SwiftUI имеет низкий порог вхождения, но использовать его правильно непросто. Именно в этом и заключается прелесть технического обучения: каждый, казалось бы, независимый аспект знаний может в какой-то момент стать ключом к решению сложных задач.

https://fatbobman.com/en/posts/how-to-detect-text-truncation-in-swiftui/

#ios

👉 @developer_mobila
  • 👍 1
Post #1678 1.11K
Как Swift Runtime влияет на производительность iOS-приложений

В современном мире производительность приложения — ĸритичесĸи важный фаĸтор, определяющий его успех. Пользователи ожидают мгновенного отĸлиĸа и плавной работы, даже небольшие задержĸи могут негативно сĸазаться на восприятии приложения.

Для больших iOS-приложений, написанных на Swift, понимание работы Swift Runtime и его влияния на производительность — важный навыĸ разработчиĸов. Swift Runtime при исполнении ĸода отвечает за фундаментальные вещи языĸа Swift: управление памятью и систему типов в рантайме.

В статье сосредоточимся на механизмах приведения типов и создания generic-типов внутри Swift Runtime и рассмотрим один ĸонĸретный метод, ĸоторый является узĸим местом в производительности приложения. Разберем примеры ĸода, демонстрирующие, ĸогда и почему этот метод вызывается, ĸаĸово его влияние на отзывчивость приложения и ĸаĸие стратегии использовать для смягчения негативного воздействия.

https://habr.com/ru/companies/tbank/articles/947486/

#ios

👉 @developer_mobila
  • 👍 2
Post #1675 1.46K
Эффекты в Jetpack Compose, лежащие на поверхности

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

Например – как нарисовать полупрозрачный заголовок с эффектом размытия над готовым экраном? Звучит достаточно просто, но на деле Compose не предоставляет для этого готовых инструментов. Приходится что-то изобретать. В данной статье приведен как раз один из способов «наложения» эффекта рендеринга на готовый контент (да-да, заголовок статьи именно про это – эффекты на готовой поверхности).

Дисклеймер: статья рассчитана на читателя продвинутого уровня, уже знакомого с Jetpack Compose и Android-разработкой в целом.

https://habr.com/ru/companies/finam_broker/articles/924802/

#Android

👉 @developer_mobila
  • 👍 5
Post #1674 1.27K
📱System Design в мобильной разработке — это про архитектуру, которая выходит за рамки экранов и навигации.

Чтобы приложения масштабировались, выдерживали нагрузку и не ломались при росте — нужен системный подход.

Как выстроить его на практике? Подробно обсудим это на Podlodka Android Crew, 15-19 сентября.

В программе:

🧩 Бинарная совместимость: где с ней сталкиваются мобильные разработчики и какие ошибки чаще всего приводят к проблемам. (Абакар Магомедов, Альфа-Банк)

🏗️ Мобильный архитектор: какие решения он принимает и почему без этой роли сложно развивать сложные приложения. (Эдуард Некрутов, Blink)

⚙️ Dependency Injection в KMP: обзор фреймворков и разбор, как выбрать подходящее решение под проект. (Александр Власюк, РайффайзенБанк)

⚡️BDUI в Android: опыт от DivKit, Beduin и Duit. Как перестать хардкодить экраны и ускорить эксперименты, чтобы быстрее проверять гипотезы.

🔗 Подключайся — будет полезно

По промокоду для подписчиков скидка 500 р: android_crew_14_URPLjQ
Post #1673 982
Dependency Injection in iOS Explained (with SwiftUI)

Chapters:
0:00 What Is Dependency Injection?
0:51 Types of Dependency Injection
1:41 Initializer Injection Example
3:08 Why Use Dependency Injection?
4:18 DI in SwiftUI: Using @EnvironmentObject
6:05 Manual Injection in SwiftUI (via init)
6:44 EnvironmentObject vs Manual Injection
7:38 Manual DI vs DI Containers
8:37 When to Use DI — and When It’s Overkill

источник

#ios

👉 @developer_mobila
  • 👍 2
Post #1672 994
NoDPI4Android. Решаем проблему «деградации» YouTube теперь и на Android

Многие мои знакомые и люди в комментариях просили сделать версию под Android и Android TV. Я не очень дружу с Джавой и с Джавой под андроид в особенности, и поэтому такая перспектива меня не очень прельщала, но у меня был опыт написания android-приложений на python и kivy, который я и решил применить. После нескольких дней (и ночей) напряженного труда и танцев с бубном, мне наконец удалось создать NoDPI for Android, который практически не имеет аналогов. Именно о нем я и хочу сегодня рассказать. Надеюсь, статья будет вам полезна и интересна. Поехали!

https://habr.com/ru/articles/923566/

#Android

👉 @developer_mobila
  • 👍 2
  • ❤ 1
Post #1671 1.11K
Использование enumerated() с SwiftUI List и ForEach для отображения номеров элементов

При отображении элементов в SwiftUI иногда нужно показать их позицию в последовательности — например, для списка инструкций или ранжированных результатов.
Обычный способ сделать это — вызвать enumerated() для коллекции. Этот метод возвращает EnumeratedSequence, который представляет собой последовательность пар (offset, element), где offset — это счётчик, начинающийся с нуля, а element — соответствующее значение из исходной коллекции.

До недавнего времени enumerated() не был напрямую совместим с ForEach или List в SwiftUI, так как его результат не соответствовал протоколу RandomAccessCollection. В качестве обходного решения приходилось оборачивать последовательность в массив.


RecipeStepsView: View {
let steps = [
"Chop lettuce, tomatoes, and cucumber.",
"Drizzle with olive oil and lemon juice.",
"Toss gently and serve."
]

var body: some View {
VStack(alignment: .leading) {
ForEach(
Array(steps.enumerated()), id: \.element
) { offset, step in
Text("\(offset + 1). \(step)")
}
}
}
}


https://nilcoalescing.com/blog/UsingEnumeratedWithListAndForEach/

#ios

👉 @developer_mobila
  • 👍 2
  • ❤ 1
Post #1670 1.19K
Лаборатория в смартфоне: изучаем эффект Доплера на палочках в Android

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

https://habr.com/ru/articles/920738/

#Android

👉 @developer_mobila
  • 👍 3
  • ❤ 2
Post #1669 1.26K
Пошаговое руководство по написанию эксплойта ядра iOS

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

Тем не менее, летом 2023 года felix-pb выпустил три эксплойта под названием kfd. Это были первые опубликованные эксплойты ядра, работавшие на iOS 15.6 и выше.

https://habr.com/ru/companies/bastion/articles/920922/

original https://alfiecg.uk/2024/09/24/Kernel-exploit.html

#ios

👉 @developer_mobila
  • 👍 2
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →