This media is not supported in your browser
VIEW IN TELEGRAM
FigX - это практичный CLI инструмент для импорта ресурсов дизайна из Figma в вашу кодовую базу. Создан для разработчиков, которые ценят явный контроль и воспроизводимость.
Это идеальный выбор для средних и крупных проектов, так как он не требует изменений в структуре вашего проекта и прост в настройке.
⚡️ Быстро: FigX экспортирует и преобразует ресурсы из Figma значительно быстрее, чем figma-export, и на порядок быстрее, чем делать это вручную — единственным ограничением скорости здесь является ограничение скорости REST API Figma 😅
⚖️ Правильно: результат импорта ресурсов в ваш проект точно отражает то, что определено в конфигурации FigX — не больше и не меньше.
🛡 Надежно: импорт ресурсов через FigX дает одинаковый результат на любой машине и любой ОС. Невоспроизводимые результаты могут возникать только из-за изменений, внесенных дизайнерами в Figma, а не из-за разработчиков или инструмента.
♻️ Кэширование: сетевые запросы минимизированы. Извлекаются только измененные ресурсы. Кэш переносим между машинами, что делает его идеальным для конвейеров CI и автоматизированных рабочих процессов.
FigX на GitHub: https://github.com/tonykolomeytsev/figx
Платформа: Android
⭐️: 14
Это идеальный выбор для средних и крупных проектов, так как он не требует изменений в структуре вашего проекта и прост в настройке.
⚡️ Быстро: FigX экспортирует и преобразует ресурсы из Figma значительно быстрее, чем figma-export, и на порядок быстрее, чем делать это вручную — единственным ограничением скорости здесь является ограничение скорости REST API Figma 😅
⚖️ Правильно: результат импорта ресурсов в ваш проект точно отражает то, что определено в конфигурации FigX — не больше и не меньше.
🛡 Надежно: импорт ресурсов через FigX дает одинаковый результат на любой машине и любой ОС. Невоспроизводимые результаты могут возникать только из-за изменений, внесенных дизайнерами в Figma, а не из-за разработчиков или инструмента.
♻️ Кэширование: сетевые запросы минимизированы. Извлекаются только измененные ресурсы. Кэш переносим между машинами, что делает его идеальным для конвейеров CI и автоматизированных рабочих процессов.
FigX на GitHub: https://github.com/tonykolomeytsev/figx
Платформа: Android
⭐️: 14
Функциональное программирование в Android. Знакомство с парадигмой
Эта статья открывает цикл материалов о функциональном программировании. В нём мы разберёмся, что из этой парадигмы можно применять в архитектуре Android-приложений, а на что стоит смотреть с осторожностью. Но прежде нужно глубже погрузиться в суть функционального программирования.
Сегодня поговорим о теории функционального программирования, её особенностях и о том, что оно может дать вашему приложению. Всё это — на примере моего собственного знакомства с функциональным программированием. Оно уже переросло в идею написать pet-проект на функциональной архитектуре, кстати, но обо всём по порядку.
Статья: https://habr.com/ru/companies/dododev/articles/917222/
Платформа: Android
Эта статья открывает цикл материалов о функциональном программировании. В нём мы разберёмся, что из этой парадигмы можно применять в архитектуре Android-приложений, а на что стоит смотреть с осторожностью. Но прежде нужно глубже погрузиться в суть функционального программирования.
Сегодня поговорим о теории функционального программирования, её особенностях и о том, что оно может дать вашему приложению. Всё это — на примере моего собственного знакомства с функциональным программированием. Оно уже переросло в идею написать pet-проект на функциональной архитектуре, кстати, но обо всём по порядку.
Статья: https://habr.com/ru/companies/dododev/articles/917222/
Платформа: Android
Кроссплатформенный опыт Surf с Flutter Web
Flutter — удобный кроссплатформенный мобильный фреймворк, который позволяет разрабатывать классные приложения для телефонов. Но про другие платформы, которые поддерживаются Flutter, известно достаточно мало. И речь сейчас про Flutter Web.
Статья: https://habr.com/ru/companies/surfstudio/articles/916840/
Платформа: кроссплатформа
Flutter — удобный кроссплатформенный мобильный фреймворк, который позволяет разрабатывать классные приложения для телефонов. Но про другие платформы, которые поддерживаются Flutter, известно достаточно мало. И речь сейчас про Flutter Web.
Статья: https://habr.com/ru/companies/surfstudio/articles/916840/
Платформа: кроссплатформа
От массивных представлений SwiftUI до повторно используемых компонентов: Root MVVM подход к модульным интерфейсам
Большие SwiftUI-вьюшки, перегруженные логикой и данными, — один из самых распространённых антипаттернов в проектах начинающих (и не только) разработчиков. Они:
• сложны в поддержке,
• плохо тестируются,
• часто ломают Xcode Previews,
• мешают переиспользованию кода
Что делать? Разделите представления на два типа:
• Content views — отвечают только за UI. Получают простые типы (String, URL, Int) и ничего не знают о бизнес-логике.
• Root views — “склеивают” UI и модель, управляют состоянием, ViewModel'ями, сетевыми запросами и навигацией.
Такой подход:
• проще тестировать,
• удобнее переиспользовать,
• легче просматривать в Preview без моков и магии
И главное — не каждая вьюшка нуждается в ViewModel. Это миф. Только root view взаимодействует с моделью, контент-вью — просто отображает.
Статья: https://matteomanferdini.com/swiftui-massive-reusable-views/
Платформа: iOS
Большие SwiftUI-вьюшки, перегруженные логикой и данными, — один из самых распространённых антипаттернов в проектах начинающих (и не только) разработчиков. Они:
• сложны в поддержке,
• плохо тестируются,
• часто ломают Xcode Previews,
• мешают переиспользованию кода
Что делать? Разделите представления на два типа:
• Content views — отвечают только за UI. Получают простые типы (String, URL, Int) и ничего не знают о бизнес-логике.
• Root views — “склеивают” UI и модель, управляют состоянием, ViewModel'ями, сетевыми запросами и навигацией.
Такой подход:
• проще тестировать,
• удобнее переиспользовать,
• легче просматривать в Preview без моков и магии
И главное — не каждая вьюшка нуждается в ViewModel. Это миф. Только root view взаимодействует с моделью, контент-вью — просто отображает.
Статья: https://matteomanferdini.com/swiftui-massive-reusable-views/
Платформа: iOS
👍3
StructuredQueries - эта библиотека от Point-Free предоставляет набор инструментов, которые позволяют вам писать типобезопасные, выразительные и компонуемые SQL-выражения с использованием Swift. Она может помочь вам обнаружить простые ошибки при написании ваших запросов, такие как опечатки в именах столбцов или сравнение двух разных типов данных. Просто присоединив макросы к типам, представляющим схему вашей базы данных, вы получаете мгновенный доступ к широкому набору API для построения запросов, от простых до самых сложных.
StructuredQueries — это не ORM или новый язык запросов, который вам нужно изучать: его API разработаны для чтения, близкого к SQL, который он генерирует, хотя они часто более лаконичны и всегда безопаснее.
StructuredQueries на GitHub: https://github.com/pointfreeco/swift-structured-queries
Платформа: iOS
⭐️: 219
Reminder
.select {
($0.priority,
$0.noscript.groupConcat())
}
.where { !$0.isCompleted }
.group(by: \.priority)
.order { $0.priority.desc() }
// => [(Int?, String)]
StructuredQueries — это не ORM или новый язык запросов, который вам нужно изучать: его API разработаны для чтения, близкого к SQL, который он генерирует, хотя они часто более лаконичны и всегда безопаснее.
StructuredQueries на GitHub: https://github.com/pointfreeco/swift-structured-queries
Платформа: iOS
⭐️: 219
❤1
Не хотите поговорить о Kotlin Contracts?
За время собеседований я заметил одну любопытную вещь: даже опытные котлиноводы частенько не в курсе такой мощной фичи, как Kotlin Contracts. Этой серией статей я хочу простым человеческим языком показать, зачем нужны Contracts, как их использовать на практике и как они работают внутри.
Статья: https://habr.com/ru/companies/alfa/articles/916536/
Платформа: Android
За время собеседований я заметил одну любопытную вещь: даже опытные котлиноводы частенько не в курсе такой мощной фичи, как Kotlin Contracts. Этой серией статей я хочу простым человеческим языком показать, зачем нужны Contracts, как их использовать на практике и как они работают внутри.
Статья: https://habr.com/ru/companies/alfa/articles/916536/
Платформа: Android
Инструмент с открытым исходным кодом для ускорения запуска iOS-приложений
Sentry совместно с Emerge Tools открыли исходный код ключевого компонента своего инструмента Launch Booster — теперь он доступен как Swift‑пакет под названием FaultOrdering. Этот инструмент помогает ускорить запуск iOS‑приложений за счёт генерации order‑файлов, которые оптимизируют расположение кода в бинарнике. В результате уменьшается количество обращений к памяти при cold start и достигается заметное ускорение запуска — по данным авторов, до 20%.
Особенность FaultOrdering в том, что для его использования не нужно вносить изменения в код приложения. Сбор данных происходит через встроенный отладчик, который ставит брейкпоинты на ключевые функции и отслеживает их выполнение во время UI‑тестов. Итоговый order‑файл автоматически прикрепляется к результатам теста и может быть применён в процессе сборки приложения.
Инструмент легко встраивается в CI/CD и позволяет получать прирост производительности практически «из коробки». Он особенно полезен на этапах релиза, когда критична каждая секунда времени запуска.
Sentry обещает, что это только начало серии open-source решений от команды Emerge Tools. Судя по всему, оптимизация старта приложений станет проще и доступнее для широкого круга iOS‑разработчиков.
Статья: https://blog.sentry.io/open-source-tool-speed-up-ios-app-launch/
Платформа: iOS
Мой перевод статьи: https://apptractor.ru/info/articles/faultordering.html
Sentry совместно с Emerge Tools открыли исходный код ключевого компонента своего инструмента Launch Booster — теперь он доступен как Swift‑пакет под названием FaultOrdering. Этот инструмент помогает ускорить запуск iOS‑приложений за счёт генерации order‑файлов, которые оптимизируют расположение кода в бинарнике. В результате уменьшается количество обращений к памяти при cold start и достигается заметное ускорение запуска — по данным авторов, до 20%.
Особенность FaultOrdering в том, что для его использования не нужно вносить изменения в код приложения. Сбор данных происходит через встроенный отладчик, который ставит брейкпоинты на ключевые функции и отслеживает их выполнение во время UI‑тестов. Итоговый order‑файл автоматически прикрепляется к результатам теста и может быть применён в процессе сборки приложения.
Инструмент легко встраивается в CI/CD и позволяет получать прирост производительности практически «из коробки». Он особенно полезен на этапах релиза, когда критична каждая секунда времени запуска.
Sentry обещает, что это только начало серии open-source решений от команды Emerge Tools. Судя по всему, оптимизация старта приложений станет проще и доступнее для широкого круга iOS‑разработчиков.
Статья: https://blog.sentry.io/open-source-tool-speed-up-ios-app-launch/
Платформа: iOS
Мой перевод статьи: https://apptractor.ru/info/articles/faultordering.html
👍5
Чему я научился, проведя реверсинжиниринг собственного приложения для Android
Автор провёл интересный эксперимент: скачал и декомпилировал собственное Android-приложение, чтобы посмотреть, что увидит злоумышленник. В процессе он нашёл несколько серьёзных проблем.
Во-первых, в коде остались захардкоденые ключи Firebase, что делает их уязвимыми для утечки. Во-вторых, в
После ревизии автор включил обфускацию через ProGuard, убрал чувствительные данные и разрешения, очистил манифест и удалил отладочные инструменты.
Вывод простой: если вы не хотите, чтобы вашу архитектуру изучали посторонние за пять минут, стоит хотя бы один раз декомпилировать собственное приложение и посмотреть на него глазами исследователя.
Статья: https://medium.com/@ravinnpawar/things-i-learned-from-reverse-engineering-my-own-android-app-a11fd2a0eb23
Платформа: Android
Автор провёл интересный эксперимент: скачал и декомпилировал собственное Android-приложение, чтобы посмотреть, что увидит злоумышленник. В процессе он нашёл несколько серьёзных проблем.
Во-первых, в коде остались захардкоденые ключи Firebase, что делает их уязвимыми для утечки. Во-вторых, в
strings.xml лежали конфиденциальные строки и флаги, которые не предназначались для пользователей. Также в коде остались методы для тестирования и отладки вроде bypassLoginForQA() — они не вызывались, но полностью сохранились в сборке. В папке assets оказались тестовые токены и мок-данные, которые могли бы дать много информации о внутреннем API. Манифест содержал лишние разрешения, в том числе на доступ к SMS и камере, хотя эти функции не использовались. И наконец, классы и методы не были обфусцированы — их названия ясно указывали на структуру приложения.После ревизии автор включил обфускацию через ProGuard, убрал чувствительные данные и разрешения, очистил манифест и удалил отладочные инструменты.
Вывод простой: если вы не хотите, чтобы вашу архитектуру изучали посторонние за пять минут, стоит хотя бы один раз декомпилировать собственное приложение и посмотреть на него глазами исследователя.
Статья: https://medium.com/@ravinnpawar/things-i-learned-from-reverse-engineering-my-own-android-app-a11fd2a0eb23
Платформа: Android
❤2
Внедрение ИИ в ваше приложение: используем Foundation модели Apple
После многих лет борьбы с ключами API, ограничениями токенов и сетевыми ошибками это кажется обманом. Вся интеграция ИИ занимает около 100 строк кода. Никаких внешних зависимостей. Никаких файлов конфигурации. Она просто работает.
Статья: https://apptractor.ru/info/articles/foundation-models.html
Платформа: iOS
После многих лет борьбы с ключами API, ограничениями токенов и сетевыми ошибками это кажется обманом. Вся интеграция ИИ занимает около 100 строк кода. Никаких внешних зависимостей. Никаких файлов конфигурации. Она просто работает.
Статья: https://apptractor.ru/info/articles/foundation-models.html
Платформа: iOS
👍3
Feeder - открытое приложение для чтения лент новостей (RSS/Atom/JSONFeed) для Android, созданная еще в 2014 году и до сих пор обновляемая для соответствия новым технологиям. С Feeder вы можете читать последние новости и сообщения с ваших любимых сайтов. Feeder можно использовать бесплатно, он работает локально на вашем устройстве. Ваши данные на 100% конфиденциальны.
Feeder на GitHub: https://github.com/spacecowboy/Feeder
Платформа: Android
⭐️: 2.1K
Feeder на GitHub: https://github.com/spacecowboy/Feeder
Платформа: Android
⭐️: 2.1K
•
(iOS Ru) Как перевезти 250+ SPM модулей из динамики в статику и не сойти с ума•
(iOS Ru) Пагинация: от идеи до реализации•
(iOS Ru) Стратегии ускорения старта на практике•
(iOS En) AlarmKit - Live Activities•
(iOS En) Interactive Snippets - App Intents•
(iOS En) Swift 6.2: Apple has listened to developer feedback!•
(iOS En) Gradient Generator using On-Device Intelligence - FoundationModels•
(iOS En) What's New in SwiftUI - WWDC 2025•
(And Ru) Адаптация мобильного приложения под ТВ-платформы•
(And Ru) Баттл codegen-инструментов от разработчиков дизайн-систем•
(And Ru) История, принципы и концепции библиотеки навигации Decompose•
(And Ru) Что нового в Android 16 для разработчиков и пользователей•
(And Ru) Как ускоряют Android-приложения в Яндексе: интервью с инженером•
(And En) Now in Android: 118 –What’s new in Android development at Google I/O 2025 (part 2)•
(And En) Navigating the future with Jetpack Navigation 3 - Core Concepts•
(And En) Bot to the future: Two years later•
(And En) Build a mobile app using the Home APIs on Android•
(And En) Beginner's Crash Course to the New Navigation 3 Library (Android & KMP)•
(And En) Kotlin Coroutine Gotchas•
(And En) Kotlin Coroutines - Debugging Tools Overview•
(And En) Single-Threaded Coroutines in Kotlin•
(And En) Let's try implementing Nested Navigation with the New Navigation 3 Library•
(Crs Ru) Firebase + KMP: Разрушаем мифы и создаем гибкие решения•
(Crs Ru) Duit – как создать эффективный BDUI-фреймворк для Flutter•
(Crs Ru) Аудит безопасности мобильных приложений•
(Crs En) Full Guide to Material3 Theming in Compose Multiplatform•
(Dev Ru) Как ускорить карьеру в ИТ? Перенимаем мировой опыт: от Гарварда и Стэнфорда до Кремниевой долины•
(Dev Ru) Легаси. Оптимизации. Обфускация. Героическая борьба с Minecraft•
(Dev Ru) Алгоритмы на собеседовании: ритуал или необходимость?•
(Dev Ru) Как не сойти с ума от FOMO из-за AI•
(Dsg En) How to Make Apple's Liquid Glass Effect In FigmaПрошлогодние видео:
•
(iOS Ru) iOS-приложения под защитой Apple! Или нет?•
(And Ru) Как избавиться от рекурсии, или Как мой код попал в Google•
(And Ru) Микширование аудиопотоков в Android•
(And Ru) Как мы победили техдолг в проекте Android RuStore•
(Crs Ru) Опыт внедрения Kotlin и Compose Multiplatform в продакшн-решение•
(Dev Ru) Как решать задачи на Leetcode•
(Dev Ru) Как устроен сетевой код в играхPlease open Telegram to view this post
VIEW IN TELEGRAM
Создание фракталов в Kotlin и Jetpack Compose
Автор рассказывает о создании Android‑приложения, которое сгенерирует и визуализирует фрактал Мандельброта с возможностью плавного масштабирования и панорамирования на любом уровне детализации — ограниченным лишь точностью типа
Особое внимание уделяется взаимодействию с пользователем: применяется
В заключительной части автор подчёркивает, что, несмотря на кажущуюся простоту формулы, эффективная отрисовка фракталов — привычная задача для десктопов — в мобильных условиях требует продуманного архитектурного подхода. И Jetpack Compose в связке с Kotlin‑корутинами позволяет получить плавную, визуально сложную визуализацию даже на смартфоне .
Статья — отличное руководство для тех, кто хочет совместить математическую визуализацию с современной Android‑архитектурой, научиться организовывать асинхронную отрисовку и работать с жестами в Compose.
Статья: https://proandroiddev.com/generating-fractals-in-kotlin-with-jetpack-compose-c94bf37b39da (как читать M)
Платформа: Android
Автор рассказывает о создании Android‑приложения, которое сгенерирует и визуализирует фрактал Мандельброта с возможностью плавного масштабирования и панорамирования на любом уровне детализации — ограниченным лишь точностью типа
Double. Он начинает с объяснения математической основы: фрактал строится по простой рекуррентной формуле. Далее автор подробно показывает, как в Jetpack Compose реализовать саму отрисовку. Используется компонент Canvas и рендеринг по пикселям. Для расчётов применяются корутины Kotlin, чтобы разбить задачу на параллельные участки и избежать блокировки UI. Благодаря этому генерация остаётся отзывчивой даже при глубоком зуме .Особое внимание уделяется взаимодействию с пользователем: применяется
Modifier для обработки жестов, таких как масштабирование двумя пальцами и перемещение. Это позволяет динамически изменять центр и уровень масштабирования фрактала прямо на экране. Кроме того, обсуждаются вопросы производительности: оптимизация обхода пикселей, управление максимальным числом итераций и адаптация к возможным точностным ограничениям типа Double .В заключительной части автор подчёркивает, что, несмотря на кажущуюся простоту формулы, эффективная отрисовка фракталов — привычная задача для десктопов — в мобильных условиях требует продуманного архитектурного подхода. И Jetpack Compose в связке с Kotlin‑корутинами позволяет получить плавную, визуально сложную визуализацию даже на смартфоне .
Статья — отличное руководство для тех, кто хочет совместить математическую визуализацию с современной Android‑архитектурой, научиться организовывать асинхронную отрисовку и работать с жестами в Compose.
Статья: https://proandroiddev.com/generating-fractals-in-kotlin-with-jetpack-compose-c94bf37b39da (как читать M)
Платформа: Android
Полное руководство по фреймворку Foundation Models
Подробный обзор нового фреймворка Foundation Models от Apple, представленного на WWDC 2025. Этот инструмент позволяет запускать LLM прямо на устройствах Apple — без отправки данных в облако, с высокой производительностью и сохранением приватности.
Автор статьи описывает простейший пример: с помощью макроса
Одним из ключевых достоинств фреймворка является guided generation — возможность описания своих структур (Swift‑структуры и перечисления с аннотациями
Дальше автор показывает применение в SwiftUI‑приложении: выбор ингредиентов, отправка промпта, асинхронная генерация списка рецептов через поток, отображение и сохранение результата с помощью SwiftData. Кроме того, затрагивается тема инструментов — tools. Поясняется, как создать кастомный
Отдельно рассказывается о производительности: рекомендуется заранее прогревать модель с помощью session.prewarm(), проектировать структуры без лишних свойств, учитывать лимит токенов (4096) и строить инструкции на английском за лучшую стабильность.
В заключении подчёркивается, что Foundation Models — это новый этап on‑device AI от Apple: генерация текстов, структурированные данные, инструменты, сохранение и SwiftUI‑интеграция — всё работает локально. При этом автор обещает обновлять статью по мере расширения фреймворка и ссылается на курс и репозиторий с примерами.
Статья: https://azamsharp.com/2025/06/18/the-ultimate-guide-to-the-foundation-models-framework.html
Платформа: iOS
Подробный обзор нового фреймворка Foundation Models от Apple, представленного на WWDC 2025. Этот инструмент позволяет запускать LLM прямо на устройствах Apple — без отправки данных в облако, с высокой производительностью и сохранением приватности.
Автор статьи описывает простейший пример: с помощью макроса
#Playground, SwiftUI и LanguageModelSession достаточно нескольких строк, чтобы отправить запрос модели — например, «перечисли штаты США» — и получить ответ. Затем демонстрируется потоковая генерация, позволяющая ускорить реакцию интерфейса за счёт отображения частичного результата по мере его поступления.Одним из ключевых достоинств фреймворка является guided generation — возможность описания своих структур (Swift‑структуры и перечисления с аннотациями
@Generable и @Guide) и получения от модели строго типизированного ответа. В примере предлагается рецепт с ингредиентами и объёмами, упорядоченными в иерархии, доступной напрямую в коде.Дальше автор показывает применение в SwiftUI‑приложении: выбор ингредиентов, отправка промпта, асинхронная генерация списка рецептов через поток, отображение и сохранение результата с помощью SwiftData. Кроме того, затрагивается тема инструментов — tools. Поясняется, как создать кастомный
RecipeTool, зарегистрировать его в LanguageModelSession, чтобы модель могла при необходимости сама вызвать API и получить данные извне.Отдельно рассказывается о производительности: рекомендуется заранее прогревать модель с помощью session.prewarm(), проектировать структуры без лишних свойств, учитывать лимит токенов (4096) и строить инструкции на английском за лучшую стабильность.
В заключении подчёркивается, что Foundation Models — это новый этап on‑device AI от Apple: генерация текстов, структурированные данные, инструменты, сохранение и SwiftUI‑интеграция — всё работает локально. При этом автор обещает обновлять статью по мере расширения фреймворка и ссылается на курс и репозиторий с примерами.
Статья: https://azamsharp.com/2025/06/18/the-ultimate-guide-to-the-foundation-models-framework.html
Платформа: iOS
👍5
VLCKit — универсальная мультимедийная библиотека для любых задач воспроизведения аудио и видео на macOS, iOS и tvO. VLCUI - обертка этой библиотеки для SwiftUI. Поддерживает воспроизведение, активную потоковую передачу и обмен медиафайлами.
VLCUI на GitHub: https://github.com/LePips/VLCUI
Платформа: iOS
⭐️: 50
VLCUI на GitHub: https://github.com/LePips/VLCUI
Платформа: iOS
⭐️: 50
👍1
Настраиваем CI/CD Android-проекта, часть 1. Начало
Если коротко - моя главная мотивация написания "еще одной статьи про CI/CD на Android" - помочь себе и другим, закрыть свои потребности при работе с CI/CD. К тому же, на мой взгляд, каждая статья на эту тему получается разной - ведь задачи у всех разные.
Статья: https://habr.com/ru/companies/scanny/articles/918364/
Платформа: Android
Если коротко - моя главная мотивация написания "еще одной статьи про CI/CD на Android" - помочь себе и другим, закрыть свои потребности при работе с CI/CD. К тому же, на мой взгляд, каждая статья на эту тему получается разной - ведь задачи у всех разные.
Статья: https://habr.com/ru/companies/scanny/articles/918364/
Платформа: Android
FinalTextOnPath.webm
632.6 KB
Анимация текста вдоль траектории в Jetpack Compose
В этой статье мы научимся рисовать текст по траектории (path) внутри холста Compose. Это можно использовать для создания причудливой графики или анимации строки текста.
Статья: https://apptractor.ru/info/articles/animatsiya-teksta-vdol-traektorii-v-jetpack-compose.html
Платформа: Android
В этой статье мы научимся рисовать текст по траектории (path) внутри холста Compose. Это можно использовать для создания причудливой графики или анимации строки текста.
Статья: https://apptractor.ru/info/articles/animatsiya-teksta-vdol-traektorii-v-jetpack-compose.html
Платформа: Android
Трехмерные графики в SwiftUI: новый уровень визуализации данных
Apple сделала тихую, но значимую ставку на 3D-графики в SwiftUI — и это не просто эффектная фича, а потенциальный поворотный момент для data-driven интерфейсов.
В статье подробно разобран свежий API, появившийся в iOS 26 - Chart3D. Теперь вы можете буквально “вытянуть” ось Z из привычных Charts, и получить интерактивные объемные визуализации.
Что важно:
🎛 Chart3DStack позволяет настраивать глубину, перспективу, тени и анимации без танцев с SceneKit.
📊 Уровень интеграции с существующим Charts API — бесшовный. Используются те же модификаторы (
🧠 Поддерживается VoiceOver и dynamic type — 3D не в ущерб доступности.
Зачем это:
• Улучшенная читаемость сложных данных (например, при сравнении категорий по времени и регионам).
• Вау-эффект в аналитических дашбордах и BI-решениях прямо на iOS.
• Возможность нативной замены WebGL/Unity-решений в корпоративных приложениях.
Если вы делаете продукт с данными — не игнорируйте эту новинку. 3D-графики в SwiftUI уже production-ready. Apple закладывает этим фундамент для spatial computing и VisionOS. Начать экспериментировать стоит уже сегодня, пока конкуренты не обогнали.
Статья: https://swiftshorts.com/2025/06/19/swiftui-3d-charts-add-a-whole-new-dimension-to-your-data/
Платформа: iOS
Apple сделала тихую, но значимую ставку на 3D-графики в SwiftUI — и это не просто эффектная фича, а потенциальный поворотный момент для data-driven интерфейсов.
В статье подробно разобран свежий API, появившийся в iOS 26 - Chart3D. Теперь вы можете буквально “вытянуть” ось Z из привычных Charts, и получить интерактивные объемные визуализации.
Что важно:
🎛 Chart3DStack позволяет настраивать глубину, перспективу, тени и анимации без танцев с SceneKit.
📊 Уровень интеграции с существующим Charts API — бесшовный. Используются те же модификаторы (
.foregroundStyle, .annotation, .chartXAxis и пр.), просто добавляется третье измерение.🧠 Поддерживается VoiceOver и dynamic type — 3D не в ущерб доступности.
Зачем это:
• Улучшенная читаемость сложных данных (например, при сравнении категорий по времени и регионам).
• Вау-эффект в аналитических дашбордах и BI-решениях прямо на iOS.
• Возможность нативной замены WebGL/Unity-решений в корпоративных приложениях.
Если вы делаете продукт с данными — не игнорируйте эту новинку. 3D-графики в SwiftUI уже production-ready. Apple закладывает этим фундамент для spatial computing и VisionOS. Начать экспериментировать стоит уже сегодня, пока конкуренты не обогнали.
Статья: https://swiftshorts.com/2025/06/19/swiftui-3d-charts-add-a-whole-new-dimension-to-your-data/
Платформа: iOS
Any Distance выложили в Open Source
Дэниел Кунц открыл код Any Distance, приложения, выигравшего Apple Design Award в 2023 году.
Any Distance на GitHub: https://github.com/Any-Distance/any-distance-ios
Платформа: iOS
⭐️: 595
Дэниел Кунц открыл код Any Distance, приложения, выигравшего Apple Design Award в 2023 году.
Сегодня я открываю исходный код Any Distance, приложения для фитнес-трекера, над которым я работал вместе с несколькими другими людьми почти 5 лет. Any Distance начинался как способ поделиться красивой графикой ваших тренировок в социальных сетях. В конечном итоге он превратился в венчурный стартап, нацеленный на свержение Strava. Хотя мы так и не приблизились к этой цели или даже к соответствию продукта рынку (на мой взгляд), в итоге мы создали много интересного программного обеспечения, которым я до сих пор горжусь.
Я провел много времени, экспериментируя с различными комбинациями SwiftUI, UIKit и Metal, чтобы сделать Any Distance максимально красивым и производительным. Многое из того, что мы сделали, до сих пор не было воспроизведено (насколько мне известно). Я не буду утверждать, что все, что мы сделали, — это лучший способ что-то сделать. Но этого оказалось достаточно, чтобы получить премию Apple Design Award.
Any Distance на GitHub: https://github.com/Any-Distance/any-distance-ios
Платформа: iOS
⭐️: 595
Kotlin-практики, которые выдают senior-разработчика с первого взгляда
Если ты пишешь на Kotlin и хочешь, чтобы твой код сразу читался как “код сеньора” — обрати внимание на ключевые приёмы, разобранные в статье.
Кратко по сути — никакой “магии”, только зрелый контроль над выразительностью языка.
1. Используй
2. Используй функции расширения грамотно
3. Заменяй дерево
4. Используй классы данных, но не злоупотребляй ими
5. Используй Null-Safety фичи как профессионал
6. Делай функции короткими и сфокусированными
7. Предпочитай читаемые лямбды умным
8. Не пропуская документацию - используй KDoc
Senior — это не про “знать больше”, а про “писать проще и чище”. Kotlin даёт все инструменты, чтобы код был выразительным и читаемым — используйте их осознанно.
Статья: https://nameisjayant.medium.com/kotlin-practices-that-make-you-look-like-a-senior-dev-1f1de3626d76
Платформа: Android
Если ты пишешь на Kotlin и хочешь, чтобы твой код сразу читался как “код сеньора” — обрати внимание на ключевые приёмы, разобранные в статье.
Кратко по сути — никакой “магии”, только зрелый контроль над выразительностью языка.
1. Используй
val вместо var (и даже const val)2. Используй функции расширения грамотно
3. Заменяй дерево
if на when4. Используй классы данных, но не злоупотребляй ими
5. Используй Null-Safety фичи как профессионал
6. Делай функции короткими и сфокусированными
7. Предпочитай читаемые лямбды умным
8. Не пропуская документацию - используй KDoc
Senior — это не про “знать больше”, а про “писать проще и чище”. Kotlin даёт все инструменты, чтобы код был выразительным и читаемым — используйте их осознанно.
Статья: https://nameisjayant.medium.com/kotlin-practices-that-make-you-look-like-a-senior-dev-1f1de3626d76
Платформа: Android
🤣3