Telegram Web
🔥 Современная оркестрация Kotlin-приложениями

Приглашаем на открытый урок.

🗓 22 октября в 19:00 МСК
🆓 Бесплатно. Урок в рамках старта курса «Kotlin Backend Developer. Professional».

Уже прошла эпоха монолита, когда целые компании занимались разработкой одного необъятного приложения. Сейчас любая информационная система насыщена различными сервисами, а микросервисами уже никого не удивишь.
Обязательным атрибутом собеседований стал вопрос про Saga, хореографию и оркестрацию.
И именно эту тему мы разберем на вебинаре в применении к Kotlin-разработке.

Что будет на вебинаре:
- Обсудим как традиционные оркестраторы типа Airflow или Camunda, так новых игроков.
- На практической части вебинара мы разработаем простое приложение, управляемое оркестратором.

🔗 Ссылка на регистрацию: https://vk.cc/cQoBPr

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Рулим светодиодом по UDP и ESP8266

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

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

#Android

👉 @developer_mobila
👍3
Функциональный стиль: объясняю как другу

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

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

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

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

#ios

👉 @developer_mobila
👍1
📱 Поделитесь обратной связью с RuStore — и выиграйте фичеринг

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

Опрос анонимный и займет не более 5 минут. Пройти его можно до 1 ноября.

👉 Перейти к опросу

🎁 Призы и итоги

5 разработчиков получат фичеринг в RuStore — размещения выйдут в течение трёх месяцев после объявления результатов.

Итоги будут подведены 1 декабря.

Условия участия
— Участвовать могут разработчики, чьи приложения уже опубликованы в RuStore.
— Приложения должны соответствовать требованиям площадки.
— Формат и даты фичеринга определяет редакция RuStore.


Полные правила конкурса и все обновления публикуются в Telegram-канале @rustoredev.
💩2
Антон Бушманов — Перерисовки в SwiftUI

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

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

#ios

👉 @developer_mobila
👍1
Реагирование на жесты в SwiftUI: перетаскивание

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

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

#ios

👉 @developer_mobila
👍1
Создавайте продвинутые автоматизации с помощью 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
1👍1
🎯 Бизнес-логика приложения на уровне кода

Приглашаем на открытый урок.

🗓 10 ноября в 19:00 МСК
🆓 Бесплатно. Урок в рамках старта курса «Kotlin Backend Developer. Professional».

Программа вебинара:

✔️ Что такое бизнес-логика и почему она — сердце вашего приложения.

✔️ Практическое применение шаблона Chain of Responsibility для построения гибкой логики.

✔️ Разработка собственной библиотеки на Kotlin DSL для управления бизнес-процессами.

Вебинар будет полезен:
Backend-разработчикам, архитекторам и IT-предпринимателям

В результате вебинара:
Вы научитесь проектировать и реализовывать гибкую бизнес-логику с помощью шаблона Chain of Responsibility, а также создавать модули, которые легко поддерживать и расширять.

🔗 Ссылка на регистрацию: https://vk.cc/cR0DTM

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Media is too big
VIEW IN TELEGRAM
Осваиваем множества в 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
Создание красивой кнопки с прогрессом в Jetpack Compose

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

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

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

#Android

👉 @developer_mobila
👍1
⌨️ DSL в Kotlin: от теории к практике

Приглашаем на открытый урок.

🗓 20 ноября в 19:00 МСК
🆓 Бесплатно. Урок в рамках старта курса «Kotlin Backend Developer. Professional».

Программа вебинара:


✔️ Что такое DSL и зачем он нужен в современной разработке

✔️ Основные элементы Kotlin для создания DSL: лямбды, infix-функции, расширения

✔️ Практические примеры использования DSL в Gradle, Ktor и TeamCity

Вебинар будет полезен:
Бэкенд-разработчикам на Kotlin, тимлидам и всем, кто хочет писать более чистый и поддерживаемый код.

В результате вебинара:
Научитесь создавать собственные DSL и применять их при разработке

🔗 Ссылка на регистрацию: https://vk.cc/cRbPWm

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
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
🤝 Swift и C++: Прямая дружба без посредников

Долгое время использование C++ кода в iOS-разработке означало написание утомительных Objective-C++ ( .mm ) оберток. Но с выходом новых версий Swift ситуация кардинально изменилась.

Артур Гручала выпустил подробный гайд «Swift and C++ interoperability in practice», где разбирает, как настроить прямое взаимодействие двух языков на реальном примере.

Что внутри статьи:
🔹 Настройка с нуля: Как подружить Xcode, SwiftPM и CMake для сборки гибридного проекта.
🔹 Практика: Прямой вызов C++ классов и функций из Swift-кода.
🔹 Типы данных: Как передавать сложные структуры между языками (mapping types).
🔹 Подводные камни: Управление памятью, module maps и нюансы, о которых стоит знать заранее.

Если у вас есть легаси на C++ или вы хотите внедрить высокопроизводительные библиотеки в свой Swift-проект без лишней боли — это мастрид.

https://arturgruchala.com/swift-and-c-interoperability-in-practice/

#ios

👉 @developer_mobila
👍2
This media is not supported in your browser
VIEW IN TELEGRAM
Mesh для Flutter: синхронизация данных без облака, серверов и боли

🗓 26 ноября в 20:00 МСК на открытом уроке вы узнаете, как построить децентрализованное Flutter-приложение, где данные синхронизируются через Bluetooth, Wi-Fi Direct и WebRTC — без облака и API. Мы покажем архитектуру Flutter Mesh, в которой каждое устройство становится полноценным узлом локальной сети. Разберём, как работает peer-to-peer-обмен, как тестировать mesh-архитектуру и подключать новую open-source библиотеку flutter_mesh. На практике создадим демо-приложение, которое само находит соседей и передаёт данные напрямую.

❗️Если вы хотите выйти за рамки клиент-серверной модели и научиться строить автономные сети — этот урок для вас.

📖 Открытый вебинар проходит в преддверии старта курса «Flutter Mobile Developer». Регистрация открыта: https://vk.cc/cRu9RQ

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Please open Telegram to view this post
VIEW IN TELEGRAM
👎1
Современные блокировки в Swift: мьютекс и фреймворк Synchronization

Фреймворк Synchronization вводит мьютексы — современные блокировки Swift для создания исключительного доступа к данным. Он отлично работает с Swift Concurrency и предоставляет решение для не-sendable типов, без введения накладных расходов на акторы.

Swift предлагает несколько решений для блокировки доступа к изменяемому контенту и предотвращения так называемого состояния гонки. Блокировки, такие как NSLock, DispatchSemaphore или последовательная DispatchQueue, являются популярным выбором для многих. В некоторых статьях сравнивается их производительность и указывается, какая из них работает лучше всего, но я хотел бы представить вам современный вариант блокировки Swift, представленный в SE-433 Synchronous Mutual Exclusion Lock.

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

https://www.avanderlee.com/concurrency/modern-swift-lock-mutex-the-synchronization-framework/

#ios

👉 @developer_mobila
👍1
⌨️ 🤖 Хочешь прокачаться в backend-разработке? Но справишься ли ты с тестом по Kotlin?

🏆 Пройди тест из 10 вопросов, проверь свой уровень знаний и приходи учиться на онлайн-курс «Kotlin Backend Developer. Professional» от OTUS!

На курсе:

✔️ Разработаете monolith, микросервисы и serverless с помощью Kotlin и фреймворков Spring, Ktor и бессерверных библиотек.
✔️ Освоите корутины для асинхронных и многопоточных задач, а также WebSocket, RabbitMQ, Kafka для транспорта.
✔️ Научитесь строить хранилища на Postgres, Cassandra, ArcadeDb и интегрировать OpenAPI с любым фронтендом.

🎫
Курс можно приобрести в рассрочку

➡️ Пройди тест и присоединяйся к группе: https://vk.cc/cRE6KT

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Android Dev Hub
Основы AGSL для android разработчика

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

Представь: тебе нужно «поколдовать» над пикселями прямо в UI - добавить живой градиент, искажение картинки под пальцем, стеклянный блеск карточке и тому подобные эффекты. Раньше для этого приходилось прибегать к «тяжеловесам» таким как OpenGL/Vulkan, либо мучить CPU постобработкой битмапов. AGSL (Android Graphics Shading Language) решает это элегантнее: это язык фрагментных шейдеров, встроенный в сам графический стек Android, так что эффекты применяются прямо на уровне отрисовки интерфейса.

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

👉@androidspb
👍2
Утечка памяти: детективная история с Xcode

Я не мог предположить, что при повторном входе пользователя в систему возникнет такая серьезная проблема, как «половина функций нашего приложения дублируется в памяти». И что у нее есть такое простое решение, как перемещение захвата [weak self] на одну строку вверх.


Недавно я столкнулся с забавной ошибкой, связанной с глубокими ссылками.

Иногда при нажатии на push-уведомление некоторые пользователи сообщали, что целевой экран появляется дважды — приложение открывалось, переходило на нужный экран, но переход между экранами происходил дважды.

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

https://www.emergetools.com/blog/posts/the-memory-leak-an-xcode-detective-story

#ios

👉 @developer_mobila
👍1
This media is not supported in your browser
VIEW IN TELEGRAM
🤖 Как сделать свой оператор Flow и не сломать логику приложения

Когда стандартных операторов Flow становится мало — значит, вы вышли на следующий уровень. На открытом уроке вы узнаете, как писать свои операторы для сложных сценариев, управлять потоками данных и правильно обрабатывать события в Kotlin. Мы покажем, как реализовать собственный оператор, работать с несколькими потоками в рамках одного и не потерять производительность.

❗️ Разберём подходы, которые помогают писать читаемый и поддерживаемый асинхронный код. Урок будет полезен Android-разработчикам уровня junior+, которые уже знакомы с Flow и хотят разобраться, как расширять его под реальные задачи.

🗓 8 декабря, 20:00 МСК. Открытый урок проходит в преддверии старта курса «Android Developer. Professional». Регистрация открыта: https://vk.cc/cRY1g7

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
Compose animations - Android Developers Backstage

Chapters:
Intro (00:00)
Animation capabilities of Compose (1:06)
Different types of animation specs (3:43)
Layers of functionality, transitions (7:49)
TargetBasedAnimation (9:48)
Vectors & velocity of color change (12:43)
Second layer parallel to animation spec (16:39)
Animation interruptions (18:48)
Motion layout problem-solving (20:19)
Both scale and move in question (25:45)
Different mental models for layout animation in Compose vs. View (26:20)
Shared element (31:05)
Are there things you wish more people were aware of? (34:19)
What's the tooling story for this? (41:57)
What is Look Ahead? (43:16)
All software is regret (48:49)
New API: Modifier.animateBounds (51:52)
How to reach Doris – leave a comment (55:57)
Motion Frame of Reference Placement (57:29)
Wrap up (59:10)

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

#Android

👉 @developer_mobila
👍1
2025/12/05 19:40:05
Back to Top
HTML Embed Code: