ShizuCallRecorder - запись телефонных звонков без root-прав
ShizuCallRecorder - первое приложение с открытым исходным кодом для записи звонков на Android 11 и новее, не требующее прав суперпользователя. ShizuCallRecorder использует Shizuku, чтобы предоставить ADB расширенный набор разрешений, доступных системному приложению. Его также можно рассматривать как оболочку для scrcpy-сервера на устройстве.
Фичи:
• Записывает входящие и исходящие разговоры
• Должно работать даже при использовании Bluetooth или удаленной гарнитуры
• Переключатели безопасности для управления состоянием включения/выключения Shizuku
• Функция автоматической записи звонков с базовыми правилами исключения
• Сохраняет записи с кодеками Opus или AAC
• Приложение работает только при изменении событий на телефоне, не имеет постоянных фоновых процессов и уведомлений
ShizuCallRecorder на GitHub: https://github.com/kitsumed/ShizuCallRecorder
Платформа: Android
⭐️: 794
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
ShizuCallRecorder - первое приложение с открытым исходным кодом для записи звонков на Android 11 и новее, не требующее прав суперпользователя. ShizuCallRecorder использует Shizuku, чтобы предоставить ADB расширенный набор разрешений, доступных системному приложению. Его также можно рассматривать как оболочку для scrcpy-сервера на устройстве.
Фичи:
• Записывает входящие и исходящие разговоры
• Должно работать даже при использовании Bluetooth или удаленной гарнитуры
• Переключатели безопасности для управления состоянием включения/выключения Shizuku
• Функция автоматической записи звонков с базовыми правилами исключения
• Сохраняет записи с кодеками Opus или AAC
• Приложение работает только при изменении событий на телефоне, не имеет постоянных фоновых процессов и уведомлений
ShizuCallRecorder на GitHub: https://github.com/kitsumed/ShizuCallRecorder
Платформа: Android
⭐️: 794
Please open Telegram to view this post
VIEW IN TELEGRAM
Как сломать Swift Concurrency
Нужно выполнять асинхронные операции, поддерживать многозадачность в приложении?
Статья: https://habr.com/ru/articles/1055810/
Платформа: iOS
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
Нужно выполнять асинхронные операции, поддерживать многозадачность в приложении?
Async/await к вашим услугам - просто и приятно. Кооперативный пул эффективно переключает потоки между задачами, а компилятор проверяет типы на потокобезопасность. И даже можно подсоединять старые части кода, написанные ещё на GCD! Вот только приложение на проде почему-то начало виснуть…Статья: https://habr.com/ru/articles/1055810/
Платформа: iOS
Please open Telegram to view this post
VIEW IN TELEGRAM
Relux - UDF архитектура на основе Swift 6 Concurrency
Relux — это пакет Swift, который переосмысливает популярный шаблон Redux, используя Swift Concurrency. Библиотека использует стиль однонаправленного потока данных (UDF), одновременно задействуя акторы и структурированный параллелизм для обеспечения безопасного и предсказуемого управления состоянием. Её можно постепенно внедрять в существующие проекты, она бесперебойно работает со SwiftUI и масштабируется от простых приложений до сложных модульных архитектур.
Relux на GitHub: https://github.com/relux-works/swift-relux
Платформа: iOS
⭐️: 19
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
Relux — это пакет Swift, который переосмысливает популярный шаблон Redux, используя Swift Concurrency. Библиотека использует стиль однонаправленного потока данных (UDF), одновременно задействуя акторы и структурированный параллелизм для обеспечения безопасного и предсказуемого управления состоянием. Её можно постепенно внедрять в существующие проекты, она бесперебойно работает со SwiftUI и масштабируется от простых приложений до сложных модульных архитектур.
Relux на GitHub: https://github.com/relux-works/swift-relux
Платформа: iOS
⭐️: 19
Please open Telegram to view this post
VIEW IN TELEGRAM
Swift 6.2 против вашего оптимизатора: разбираемся с InlineArray, Span и strict memory safety на замерах
Я взял три «памятных» нововведения Swift 6.2, написал на них бенчмарки, прогнал на релизном тулчейне и полез в сгенерированный ассемблер. Вопрос меня занимал не «что это делает», а куда более практичный: дают ли эти фичи реальный выигрыш в цифрах - и в каких случаях оптимизатор Swift давно делает то же самое за вас, бесплатно и молча. Ответ оказался менее очевидным, чем их маркетинг.
Статью я старался написать так, чтобы её читал не только стафф. Поэтому по ходу я коротко объясняю базовые вещи - стек и кучу, ARC, copy-on-write. Если вы это и так знаете, просто пролистывайте врезки «на полях».
Статья: https://habr.com/ru/articles/1056552/
Платформа: iOS
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
Я взял три «памятных» нововведения Swift 6.2, написал на них бенчмарки, прогнал на релизном тулчейне и полез в сгенерированный ассемблер. Вопрос меня занимал не «что это делает», а куда более практичный: дают ли эти фичи реальный выигрыш в цифрах - и в каких случаях оптимизатор Swift давно делает то же самое за вас, бесплатно и молча. Ответ оказался менее очевидным, чем их маркетинг.
Статью я старался написать так, чтобы её читал не только стафф. Поэтому по ходу я коротко объясняю базовые вещи - стек и кучу, ARC, copy-on-write. Если вы это и так знаете, просто пролистывайте врезки «на полях».
Статья: https://habr.com/ru/articles/1056552/
Платформа: iOS
Please open Telegram to view this post
VIEW IN TELEGRAM
10 советов, как получить максимум от Claude Code в iOS-разработке
Claude Code не заменяет знание Swift и глубокое понимание UIKit и SwiftUI. На самом деле всё наоборот: чем лучше вы понимаете платформу, тем точнее можете направлять Claude Code и тем быстрее он работает.
Думайте о нём не как о junior-разработчике, который пишет код за вас, а скорее как о senior-разработчике, который уже познал весь Apple SDK и ждёт, когда сможет помочь вам продумать задачу.
Эта статья о том, как действительно эффективно использовать Claude Code в iOS-разработке.
Статья: https://apptractor.ru/info/articles/10-sovetov-kak-poluchit-maksimum-ot-claude-code-v-ios-razrabotke.html
Платформа: iOS/ИИ
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
Claude Code не заменяет знание Swift и глубокое понимание UIKit и SwiftUI. На самом деле всё наоборот: чем лучше вы понимаете платформу, тем точнее можете направлять Claude Code и тем быстрее он работает.
Думайте о нём не как о junior-разработчике, который пишет код за вас, а скорее как о senior-разработчике, который уже познал весь Apple SDK и ждёт, когда сможет помочь вам продумать задачу.
Эта статья о том, как действительно эффективно использовать Claude Code в iOS-разработке.
Статья: https://apptractor.ru/info/articles/10-sovetov-kak-poluchit-maksimum-ot-claude-code-v-ios-razrabotke.html
Платформа: iOS/ИИ
Please open Telegram to view this post
VIEW IN TELEGRAM
•
(iOS En) Deploying to iOS 27: Here are the 3 Major Requirements•
(iOS En) SwiftUI Adaptable Sheet's - Landscape Pinned Sheet's•
(iOS En) Reorder Lists & Grids in SwiftUI and Save with SwiftData•
(iOS En) Complex Scroll Interaction: Infinite Scrollable Calendar•
(And En) Create agent skills for on-device generative AI (I/O Connect ‘26)•
(And En) Dynamic Callbacks on Android for Google Pay•
(And En) Build creative apps with the GenMedia suite (I/O Connect ‘26)•
(And En) TestBalloon: Kotlin testing is easier (and more fun) than you think•
(And En) Deconstructing OkHttp•
(And En) A First Look at the Kotlin Ecosystem Plugin for Declarative Gradle•
(Dev Ru) System Design на собеседовании: ошибки, которые тебя топят•
(Dev Ru) Электрические автомобили: на пороге технологической сингулярности•
(Dev En) Bootiful KotlinПрошлогодние видео:
•
(iOS Ru) Перерисовки в SwiftUI•
(And Ru) Мок-собеседование Android-разработчика: middle и выше (+ все собеседования)•
(And Ru) Как обойти множественное наследование в Kotlin и Java. Агрегация и композиция•
(Dev Ru) Как сделать любую задачу интересной•
(Dev Ru) System Design-интервью для практиковPlease open Telegram to view this post
VIEW IN TELEGRAM
Renetik Android - Kotlin-фреймворк для реактивных Android-приложений в MVC-стиле
Renetik Android - практичная библиотека Kotlin для разработки Android-приложений: реактивные события и свойства, JSON, постоянные хранилища и пресеты, слой контроллера представления поверх одной Activity, а также набор виджетов и расширений пользовательского интерфейса.
Renetik Android на GitHub: https://github.com/renetik/renetik-android
Платформа: Android
⭐️: 7
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
Renetik Android - практичная библиотека Kotlin для разработки Android-приложений: реактивные события и свойства, JSON, постоянные хранилища и пресеты, слой контроллера представления поверх одной Activity, а также набор виджетов и расширений пользовательского интерфейса.
Renetik Android на GitHub: https://github.com/renetik/renetik-android
Платформа: Android
⭐️: 7
Please open Telegram to view this post
VIEW IN TELEGRAM
Мне надоело писать один и тот же код. Поэтому я сделал Featuregen
Я уже не тот беззаботный парнишка, что собирал 486-й компьютер. Время бежит, яскуф успел поработать с C++, C#, Java и Kotlin, последние 10 лет занимаюсь мобильной разработкой. Программирование я до сих пор люблю потому что больше ничего не умею. Но чем дольше работаешь, тем чаще ловишь себя на мысли, что от некоторых вещей начинает подгорать. Сегодня я расскажу, как я попытался избавиться хотя бы от части таких вещей.
Статья: https://habr.com/ru/articles/1056776/
Платформа: Android
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
Я уже не тот беззаботный парнишка, что собирал 486-й компьютер. Время бежит, я
Статья: https://habr.com/ru/articles/1056776/
Платформа: Android
Please open Telegram to view this post
VIEW IN TELEGRAM
50 вопросов о System Design, ответы на которые должен знать каждый Senior iOS-разработчик: часть 1
Эта статья открывает серию из пятидесяти вопросов по системному проектированию и архитектуре, которые часто встречаются на собеседованиях Senior iOS-разработчиков. Вместо заучивания готовых ответов вы узнаете, как опытные инженеры рассуждают при решении таких задач.
Статья: https://apptractor.ru/info/articles/50-ios-system-design-1.html
Платформа: iOS
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
Эта статья открывает серию из пятидесяти вопросов по системному проектированию и архитектуре, которые часто встречаются на собеседованиях Senior iOS-разработчиков. Вместо заучивания готовых ответов вы узнаете, как опытные инженеры рассуждают при решении таких задач.
Статья: https://apptractor.ru/info/articles/50-ios-system-design-1.html
Платформа: iOS
Please open Telegram to view this post
VIEW IN TELEGRAM
AppFiles - Mobile Development
50 вопросов о System Design, ответы на которые должен знать каждый Senior iOS-разработчик: часть 1 Эта статья открывает серию из пятидесяти вопросов по системному проектированию и архитектуре, которые часто встречаются на собеседованиях Senior iOS-разработчиков.…
SVG to SwiftUI Converter - конвертер SVG в SwiftUI Shape
SVG to SwiftUI Converter - инструмент для преобразования SVG в нативные фигуры SwiftUI. Многоцветные SVG-изображения генерируются как многослойные представления SwiftUI, поэтому их исходные цвета сохраняются.
SVG to SwiftUI Converter на GitHub: https://github.com/bring-shrubbery/SVG-to-SwiftUI
Платформа: iOS
⭐️: 1.1K
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
SVG to SwiftUI Converter - инструмент для преобразования SVG в нативные фигуры SwiftUI. Многоцветные SVG-изображения генерируются как многослойные представления SwiftUI, поэтому их исходные цвета сохраняются.
SVG to SwiftUI Converter на GitHub: https://github.com/bring-shrubbery/SVG-to-SwiftUI
Платформа: iOS
⭐️: 1.1K
Please open Telegram to view this post
VIEW IN TELEGRAM
Использование mise для установки зависимостей при андроид-разработке
Есть большая и сложная система сборки Gradle и андроид-плагин AGP для установки большей части компонентов Android SDK, необходимых для вашего приложения. Но что, если вам не хочется руками устанавливать Android Studio, Android SDK, cmake, scrcpy и прочие нужные вещи? Здесь на помощь приходит инструмент mise — при кажущейся простоте он умеет все, что нам нужно.
Статья: Есть большая и сложная система сборки Gradle и андроид-плагин AGP для установки большей части компонентов Android SDK, необходимых для вашего приложения. Но что, если вам не хочется руками устанавливать Android Studio, Android SDK, cmake, scrcpy и прочие нужные вещи? Здесь на помощь приходит инструмент mise — при кажущейся простоте он умеет все, что нам нужно.
Статья: https://habr.com/ru/articles/1058494/
Платформа: Android
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
Есть большая и сложная система сборки Gradle и андроид-плагин AGP для установки большей части компонентов Android SDK, необходимых для вашего приложения. Но что, если вам не хочется руками устанавливать Android Studio, Android SDK, cmake, scrcpy и прочие нужные вещи? Здесь на помощь приходит инструмент mise — при кажущейся простоте он умеет все, что нам нужно.
Статья: Есть большая и сложная система сборки Gradle и андроид-плагин AGP для установки большей части компонентов Android SDK, необходимых для вашего приложения. Но что, если вам не хочется руками устанавливать Android Studio, Android SDK, cmake, scrcpy и прочие нужные вещи? Здесь на помощь приходит инструмент mise — при кажущейся простоте он умеет все, что нам нужно.
Статья: https://habr.com/ru/articles/1058494/
Платформа: Android
Please open Telegram to view this post
VIEW IN TELEGRAM
Хабр
Использование mise для установки зависимостей при андроид-разработке
Есть большая и сложная система сборки Gradle и андроид-плагин AGP для установки большей части компонентов Android SDK, необходимых для вашего приложения. Но что, если вам не хочется руками...
Mirage: как Cloudy превращается из библиотеки размытия в библиотеку эффектов
В этой статье мы разберём архитектуру Mirage: как план объявляется один раз и привязывается при каждой отрисовке, чем различаются типы
Статья: https://apptractor.ru/info/articles/mirage-kak-cloudy-prevraschaetsya-iz-biblioteki-razmytiya-v-biblioteku-effektov.html
Платформа: Android
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
В этой статье мы разберём архитектуру Mirage: как план объявляется один раз и привязывается при каждой отрисовке, чем различаются типы
Optic и почему вместо одного универсального типа используется несколько отдельных, а также как внутренние компоненты — компилятор, общий для всего процесса кэш программ и цепочка фильтров для последовательной обработки слоёв — превращают план в готовое изображение.Статья: https://apptractor.ru/info/articles/mirage-kak-cloudy-prevraschaetsya-iz-biblioteki-razmytiya-v-biblioteku-effektov.html
Платформа: Android
Please open Telegram to view this post
VIEW IN TELEGRAM
System Design: как бы вы отправили 1 миллион уведомлений?
Чёрная пятница. Маркетинговая команда подготовила рекламную кампанию. Ровно в полночь она хочет отправить уведомления одному миллиону пользователей. Задача кажется простой.
Пока вы не понимаете, что мгновенная отправка миллиона уведомлений может перегрузить серверы приложения, поставщиков уведомлений, базы данных и даже внешние API.
Большинство инженеров сразу скажут:
Это хорошая отправная точка.
Но что произойдёт, если:
• потребители Kafka не будут успевать обрабатывать сообщения;
• Firebase начнёт ограничивать частоту запросов;
• рабочий процесс завершится с ошибкой посреди обработки;
• уведомления нужно персонализировать;
• следующая кампания будет рассчитана не на миллион, а на 100 миллионов пользователей;
• маркетингу внезапно понадобится отслеживание статусов доставки.
Разберём собеседование по системному проектированию, в ходе которого рассматриваются все эти вопросы.
Статья: https://apptractor.ru/info/articles/system-design-kak-by-vy-otpravili-1-million-uvedomleniy.html
Платформа: архитектура
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
Чёрная пятница. Маркетинговая команда подготовила рекламную кампанию. Ровно в полночь она хочет отправить уведомления одному миллиону пользователей. Задача кажется простой.
Пока вы не понимаете, что мгновенная отправка миллиона уведомлений может перегрузить серверы приложения, поставщиков уведомлений, базы данных и даже внешние API.
Большинство инженеров сразу скажут:
Используйте Kafka.
Это хорошая отправная точка.
Но что произойдёт, если:
• потребители Kafka не будут успевать обрабатывать сообщения;
• Firebase начнёт ограничивать частоту запросов;
• рабочий процесс завершится с ошибкой посреди обработки;
• уведомления нужно персонализировать;
• следующая кампания будет рассчитана не на миллион, а на 100 миллионов пользователей;
• маркетингу внезапно понадобится отслеживание статусов доставки.
Разберём собеседование по системному проектированию, в ходе которого рассматриваются все эти вопросы.
Статья: https://apptractor.ru/info/articles/system-design-kak-by-vy-otpravili-1-million-uvedomleniy.html
Платформа: архитектура
Please open Telegram to view this post
VIEW IN TELEGRAM
Аннотации в Kotlin: от @Deprecated до своего KSP-процессора
Аннотации легко воспринимать как декоративную часть языка. Поставили
В этой статье разберем, что на самом деле происходит вокруг аннотаций в Kotlin, чем отличаются
Статья: https://habr.com/ru/companies/uzum/articles/1056652/
Платформа: Android
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
Аннотации легко воспринимать как декоративную часть языка. Поставили
@Deprecated, добавили @Suppress, пометили DTO через @JsonClass - и пошли дальше. Но в большом Android-проекте аннотации быстро перестают быть просто подсказками для IDE. Они становятся контрактом между кодом и инструментами: компилятором, статическим анализатором, генератором кода, DI-фреймворком, сериализатором или внутренней платформенной инфраструктурой.В этой статье разберем, что на самом деле происходит вокруг аннотаций в Kotlin, чем отличаются
SOURCE, BINARY и RUNTIME, почему @Composable - это не просто красивая метка, чем kapt отличается от KSP, и на каких практических задачах annotation processing может быть полезен в Android-разработке.Статья: https://habr.com/ru/companies/uzum/articles/1056652/
Платформа: Android
Please open Telegram to view this post
VIEW IN TELEGRAM
Gradle под капотом: как перестать мучиться и заставить свой компьютер работать на полную мощность?
Сегодня я хочу разобрать инструмент, который мы все используем десятки раз в день, но часто по-прежнему воспринимаем как «черный ящик».
Без этого мы бы до сих пор собирали проекты вручную, писали бы скрипты Bash для каждой команды и каждой машины, и боролись бы со старой проблемой, когда проект собирается у одного разработчика, но не собирается у другого.
Gradle предоставляет нам единый источник достоверной информации, возможность воспроизводимых сборок и способ масштабирования одного и того же подхода к сборке от небольшого проекта до крупного многомодульного монорепозитория.
Давайте заглянем под капот, чтобы настройка сборки перестала быть проблемой.
Статья: https://habr.com/ru/articles/1058260/
Платформа: архитектура
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
Сегодня я хочу разобрать инструмент, который мы все используем десятки раз в день, но часто по-прежнему воспринимаем как «черный ящик».
Без этого мы бы до сих пор собирали проекты вручную, писали бы скрипты Bash для каждой команды и каждой машины, и боролись бы со старой проблемой, когда проект собирается у одного разработчика, но не собирается у другого.
Gradle предоставляет нам единый источник достоверной информации, возможность воспроизводимых сборок и способ масштабирования одного и того же подхода к сборке от небольшого проекта до крупного многомодульного монорепозитория.
Давайте заглянем под капот, чтобы настройка сборки перестала быть проблемой.
Статья: https://habr.com/ru/articles/1058260/
Платформа: архитектура
Please open Telegram to view this post
VIEW IN TELEGRAM
Cosmos Music Player - премиальный музыкальный плеер для iOS
Cosmos Music Player — это высококачественный музыкальный плеер, поддерживающий синхронизацию с iCloud Drive и локальное хранилище, что обеспечивает пользователям гибкость в управлении музыкой. Приложение разработано для экосистемы iOS и Apple с полной интеграцией с CarPlay.
Премиальный аудиофильский музыкальный плеер для iOS, поддерживающий форматы FLAC, WAV, M4A, MP3, Opus, OGG, DSD и DSF, с расширенными функциями, включая Apple CarPlay, воспроизведение DSD (преобразование DoP и PCM), двойное хранилище (iCloud/локальное), управление плейлистами, интеграцию информации об исполнителях, графический эквалайзер и многоязычную поддержку.
Cosmos Music Player на GitHub: https://github.com/clquwu/Cosmos-Music-Player
Платформа: iOS
⭐️: 113
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
Cosmos Music Player — это высококачественный музыкальный плеер, поддерживающий синхронизацию с iCloud Drive и локальное хранилище, что обеспечивает пользователям гибкость в управлении музыкой. Приложение разработано для экосистемы iOS и Apple с полной интеграцией с CarPlay.
Премиальный аудиофильский музыкальный плеер для iOS, поддерживающий форматы FLAC, WAV, M4A, MP3, Opus, OGG, DSD и DSF, с расширенными функциями, включая Apple CarPlay, воспроизведение DSD (преобразование DoP и PCM), двойное хранилище (iCloud/локальное), управление плейлистами, интеграцию информации об исполнителях, графический эквалайзер и многоязычную поддержку.
Cosmos Music Player на GitHub: https://github.com/clquwu/Cosmos-Music-Player
Платформа: iOS
⭐️: 113
Please open Telegram to view this post
VIEW IN TELEGRAM
50 вопросов о System Design, ответы на которые должен знать каждый Senior iOS-разработчик: часть 2
Разработка сетевого слоя:
• Как бы вы спроектировали переиспользуемый сетевой слой?
• Как реализовать автоматическое обновление токена?
• Как повторять неудачные запросы к API?
• Как отменять запросы к API?
• Как предотвратить дублирующиеся запросы к API?
Статья: https://apptractor.ru/info/articles/50-voprosov-o-system-design-otvety-na-kotorye-dolzhen-znat-kazhdyy-senior-ios-razrabotchik-chast-2.html
Платформа: iOS
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
Разработка сетевого слоя:
• Как бы вы спроектировали переиспользуемый сетевой слой?
• Как реализовать автоматическое обновление токена?
• Как повторять неудачные запросы к API?
• Как отменять запросы к API?
• Как предотвратить дублирующиеся запросы к API?
Статья: https://apptractor.ru/info/articles/50-voprosov-o-system-design-otvety-na-kotorye-dolzhen-znat-kazhdyy-senior-ios-razrabotchik-chast-2.html
Платформа: iOS
Please open Telegram to view this post
VIEW IN TELEGRAM
Аутентификация через биометрию в Kotlin Multiplatform или Koncierge
Наконец-то неплохо продвинувшись в написании своего мультиплатформенного приложения Modern Money мне понадобилась аутентификация для Kotlin Multiplatform.
Хотелось иметь один API для PIN-кода и биометрии, а под капотом использовать Android Biometric Prompt, Windows Hello, Touch ID.
Так появился Koncierge — набор KMP-модулей
Казалось бы, задача довольно стандартная: объявить
Статья: https://habr.com/ru/articles/1059174/
Платформа: кроссплатформа
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
Наконец-то неплохо продвинувшись в написании своего мультиплатформенного приложения Modern Money мне понадобилась аутентификация для Kotlin Multiplatform.
Хотелось иметь один API для PIN-кода и биометрии, а под капотом использовать Android Biometric Prompt, Windows Hello, Touch ID.
Так появился Koncierge — набор KMP-модулей
biometric, auth и auth-compose.Казалось бы, задача довольно стандартная: объявить
expect-класс и написать несколько actual-реализаций. На Android это примерно так и получилось. А вот Windows Hello, JVM-модуль и публикация всех артефактов заставили немного разобраться в том, как Kotlin Multiplatform работает с нативным кодом.Статья: https://habr.com/ru/articles/1059174/
Платформа: кроссплатформа
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
Container - повышения реактивности асинхронных операций/загрузки
Container — это библиотека для упрощения управления состоянием и загрузки данных в приложениях Android. Она предоставляет небольшой набор строительных блоков, охватывающих наиболее распространенные реактивные шаблоны: обертывание асинхронных результатов в типизированный статус, управление производным состоянием из нескольких потоков и ленивая загрузка данных по запросу.
Container на GitHub: https://github.com/romychab/container
Платформа: Android
⭐️: 15
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
Container — это библиотека для упрощения управления состоянием и загрузки данных в приложениях Android. Она предоставляет небольшой набор строительных блоков, охватывающих наиболее распространенные реактивные шаблоны: обертывание асинхронных результатов в типизированный статус, управление производным состоянием из нескольких потоков и ленивая загрузка данных по запросу.
Container на GitHub: https://github.com/romychab/container
Платформа: Android
⭐️: 15
Please open Telegram to view this post
VIEW IN TELEGRAM
•
(iOS En) Permission Onboarding Animation•
(iOS En) SwiftUI Search Made Amazing: Suggestions, Scopes & Tokens•
(iOS En) Gooey Morphing Pull To Refresh Using SwiftUI•
(And En) My Best Practices For Showing Errors In an App - Building Successful Apps•
(And En) The Compose Styles API Is Everything I Wished For•
(And En) Talking to terminals (and how they talk back)•
(And En) Peeling back the Layers: A Navigation3 Deep Dive•
(And En) How I Learned to Stop Worrying and Love Value Semantics (in Kotlin)•
(And En) Local Lifetimes for Kotlin•
(And En) Metro Under the Hood•
(And En) When Flows Won't Cut It•
(And En) AI-Driven Performance Optimization - Kotzilla MCP•
(Crs En) React Native Full Stack Course – Clerk, Postgres, NativeWind•
(Dev Ru) Качество, архитектура и ответственность в эпоху ИИ-ассистентов•
(Dev Ru) Технический долг и архитектура•
(Dev Ru) Терминалы и оболочки — tty, bash, zsh•
(Dsg Ru) DesignOps на стероидах: автоматизация процессов в Figma•
(iOS Ru) Sideloading и узник Apple•
(iOS Ru) Как побеждать в конкурсах от Telegram•
(And Ru) Переходишь на Compose? Не спеши!•
(And Ru) Как работает ТВ в Android TV?•
(And Ru) Нужны ли Android-разработчики на заводе?•
(And Ru) Gradle DSL изнутри•
(And Ru) Kotlin DSL как единый источник правды для решения многих задачPlease open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Permission Onboarding Animation | Keyframes | Complex Animations | Xcode 27
Hello Guys 🖐🖐🖐
In this video, I’ll show you how to create an Animated Camera Permission Onboarding UI Animation using SwiftUI.
SwiftUI OnBoarding Animation | SwiftUI Onboarding UI | SwiftUI Permission Onboarding | SwiftUI Camera Permission OnBoarding | SwiftUI…
In this video, I’ll show you how to create an Animated Camera Permission Onboarding UI Animation using SwiftUI.
SwiftUI OnBoarding Animation | SwiftUI Onboarding UI | SwiftUI Permission Onboarding | SwiftUI Camera Permission OnBoarding | SwiftUI…