Night Clock - минимальные, не отвлекающие от работы часы, которые сохраняют экран постоянно включенным. Идеальное решение для прикроватной тумбочки или рабочего стола. Простые, чистые, созданные для того, чтобы светить всю ночь, не обжигая глаза.
Night Clock на GitHub: https://github.com/amitmerchant1990/night-clock
Платформа: Android
⭐️: 31
Night Clock на GitHub: https://github.com/amitmerchant1990/night-clock
Платформа: Android
⭐️: 31
👍1
Prefire - библиотека для легкой автоматической генерации каталогов интерактивных компонентов (Playbook) и тестов с использованием Preview
Может использоваться для снепшот-тестирования и обнаружения UI регрессий, улучшения превью в SwiftUI состояниями и пользовательскими историями, работы в CI, вроде GitHub Actions, интеграции с Xcode и CLI-инструментами.
Prefire на GitHub: https://github.com/BarredEwe/Prefire
Платформа: iOS
⭐️: 346
Может использоваться для снепшот-тестирования и обнаружения UI регрессий, улучшения превью в SwiftUI состояниями и пользовательскими историями, работы в CI, вроде GitHub Actions, интеграции с Xcode и CLI-инструментами.
Prefire на GitHub: https://github.com/BarredEwe/Prefire
Платформа: iOS
⭐️: 346
🤡1
Что нового в Swift 6.2
Обновление включает множество улучшений, направленных на повышение удобства и безопасности разработки.
Одним из ключевых нововведений является улучшение поддержки параллелизма, что делает работу с асинхронным кодом более надёжной. Также были добавлены новые возможности в строковую интерполяцию, включая поддержку значений по умолчанию, что упрощает форматирование строк. Кроме того, метод
Swift 6.2 также включает множество мелких, но полезных изменений, таких как добавление raw идентификаторов и улучшения в области безопасности типов. Эти обновления направлены на повышение стабильности и предсказуемости языка.
В целом, Swift 6.2 представляет собой шаг вперёд в развитии языка, предлагая разработчикам более мощные инструменты для создания надёжных и эффективных приложений.
Статья: https://www.hackingwithswift.com/articles/277/whats-new-in-swift-6-2
Платформа: iOS
Обновление включает множество улучшений, направленных на повышение удобства и безопасности разработки.
Одним из ключевых нововведений является улучшение поддержки параллелизма, что делает работу с асинхронным кодом более надёжной. Также были добавлены новые возможности в строковую интерполяцию, включая поддержку значений по умолчанию, что упрощает форматирование строк. Кроме того, метод
enumerated() теперь соответствует протоколу Sequence, что расширяет его применение в различных сценариях.Swift 6.2 также включает множество мелких, но полезных изменений, таких как добавление raw идентификаторов и улучшения в области безопасности типов. Эти обновления направлены на повышение стабильности и предсказуемости языка.
В целом, Swift 6.2 представляет собой шаг вперёд в развитии языка, предлагая разработчикам более мощные инструменты для создания надёжных и эффективных приложений.
Статья: https://www.hackingwithswift.com/articles/277/whats-new-in-swift-6-2
Платформа: iOS
Hacking with Swift
What's new in Swift 6.2?
Raw identifiers, backtraces, task naming, and more.
❤3
Как я создал плагин для решения самой раздражающей меня проблемы в KMP
В статье разработчик делится опытом создания плагина OpenInTools, призванного упростить работу с KMP проектами. Он столкнулся с проблемой постоянного переключения между различными средами разработки, такими как IntelliJ IDEA для общего кода, Xcode для iOS-компонентов и Cursor для шаблонного кода. Эти частые переключения отвлекали его от основной работы и снижали продуктивность.
Чтобы решить эту проблему, он разработал плагин OpenInTools для JetBrains IDE, который добавляет кнопки на панель инструментов, позволяя быстро открывать проекты в VS Code, Cursor и Xcode. Плагин автоматически определяет рабочие пространства Xcode и предоставляет их в выпадающем меню, избавляя от необходимости вручную искать нужные файлы. Он также предлагает возможность настройки путей для нестандартных конфигураций.
Плагин доступен в JetBrains Marketplace и сопровождается репозиторием для обратной связи и предложений по улучшению. Автор отмечает, что устранение мелких, но постоянных раздражающих факторов в рабочем процессе может значительно повысить продуктивность. Он призывает других разработчиков решать подобные проблемы, создавая собственные инструменты, которые могут быть полезны не только им, но и сообществу в целом.
Статья: https://medium.com/@abd3lraouf/how-i-built-a-plugin-to-solve-my-most-annoying-kmm-dev-problem-91acf3ab2c60
Платформа: Android/кроссплатформа
👏: 53
В статье разработчик делится опытом создания плагина OpenInTools, призванного упростить работу с KMP проектами. Он столкнулся с проблемой постоянного переключения между различными средами разработки, такими как IntelliJ IDEA для общего кода, Xcode для iOS-компонентов и Cursor для шаблонного кода. Эти частые переключения отвлекали его от основной работы и снижали продуктивность.
Чтобы решить эту проблему, он разработал плагин OpenInTools для JetBrains IDE, который добавляет кнопки на панель инструментов, позволяя быстро открывать проекты в VS Code, Cursor и Xcode. Плагин автоматически определяет рабочие пространства Xcode и предоставляет их в выпадающем меню, избавляя от необходимости вручную искать нужные файлы. Он также предлагает возможность настройки путей для нестандартных конфигураций.
Плагин доступен в JetBrains Marketplace и сопровождается репозиторием для обратной связи и предложений по улучшению. Автор отмечает, что устранение мелких, но постоянных раздражающих факторов в рабочем процессе может значительно повысить продуктивность. Он призывает других разработчиков решать подобные проблемы, создавая собственные инструменты, которые могут быть полезны не только им, но и сообществу в целом.
Статья: https://medium.com/@abd3lraouf/how-i-built-a-plugin-to-solve-my-most-annoying-kmm-dev-problem-91acf3ab2c60
Платформа: Android/кроссплатформа
👏: 53
👍2
Архитектурный линтинг для Swift: часть 4
В этой серии статей мы рассказываем о трудностях написания правил архитектурной проверки в SwiftLint и представляем Harmonize, новый архитектурный линтер с открытым исходным кодом для Swift. В предыдущем посте мы поделились некоторыми лучшими практиками для команд, которые хотят использовать Harmonize.
В этом, заключительном, посте мы объясним разработчикам, как начать использовать Harmonize в своем собственном iOS-проекте.
Статьи:
• Архитектурный линтинг для Swift: часть 4
• Архитектурный линтинг для Swift: часть 3
• Архитектурный линтинг для Swift: часть 2
• Расширенные архитектурные правила в SwiftLint: часть 1
Платформа: iOS
В этой серии статей мы рассказываем о трудностях написания правил архитектурной проверки в SwiftLint и представляем Harmonize, новый архитектурный линтер с открытым исходным кодом для Swift. В предыдущем посте мы поделились некоторыми лучшими практиками для команд, которые хотят использовать Harmonize.
В этом, заключительном, посте мы объясним разработчикам, как начать использовать Harmonize в своем собственном iOS-проекте.
Статьи:
• Архитектурный линтинг для Swift: часть 4
• Архитектурный линтинг для Swift: часть 3
• Архитектурный линтинг для Swift: часть 2
• Расширенные архитектурные правила в SwiftLint: часть 1
Платформа: iOS
This media is not supported in your browser
VIEW IN TELEGRAM
Haze - это библиотека, обеспечивающая размытие в стиле Глассморфизма для Compose. Haze создан на базе Compose Multiplatform и поддерживает все его платформы - Android, iOS, JS и пр.
Haze на GitHub: https://github.com/chrisbanes/haze
Платформа: Android
⭐️: 1.6K
Haze на GitHub: https://github.com/chrisbanes/haze
Платформа: Android
⭐️: 1.6K
Когда JavaScript недостаточно: Практика разработки нативных модулей для React Native
Эта статья для React Native-разработчиков, которым не хватает возможностей JavaScript. Вы научитесь писать нативные модули на Kotlin, чтобы работать с NFC, Bluetooth, системными API и другими «закрытыми» для RN функциями. Готовый пример + объяснение каждой строки кода.
Статья: https://habr.com/ru/articles/908690/
Платформа: кроссплатформа
Эта статья для React Native-разработчиков, которым не хватает возможностей JavaScript. Вы научитесь писать нативные модули на Kotlin, чтобы работать с NFC, Bluetooth, системными API и другими «закрытыми» для RN функциями. Готовый пример + объяснение каждой строки кода.
Статья: https://habr.com/ru/articles/908690/
Платформа: кроссплатформа
GPT, DeepSeek и Qwen: идеальные unit-тесты в эхо-камере
Появление unit- и UI-тестов неизбежно в крупных мобильных приложениях: появляется новая функциональность, старая расширяется, изменяются существующие элементы. Для стабильной работы команда вынуждена внедрять автотесты, что требует инфраструктуры, инструментов, а также времени и внимания для их реализации.
Размышляя над этим, пришла идея использовать LLM для автоматической генерации тестов. Это могло бы снизить нагрузку на разработчиков и минимизировать влияние автотестов на time to market новых фич. Меня зовут Марк, я iOS-разработчик Lamoda Tech. Ранее я рассказывал о своем опыте поиска решений с использованием GPT и Copilot в UI-тестах.
Со временем на AI-арене появились новые заметные игроки — DeepSeek и Qwen. В это же время передо мной как разработчиком возникла задача обеспечить покрытие новой функциональности unit-тестами. Похоже, настал момент для очередного эксперимента: мы протестируем возможности GPT, DeepSeek и Qwen в генерации unit-тестов для iOS-приложения.
Статья: https://habr.com/ru/companies/lamoda/articles/902038/
Платформа: iOS/тестирование/ИИ
Появление unit- и UI-тестов неизбежно в крупных мобильных приложениях: появляется новая функциональность, старая расширяется, изменяются существующие элементы. Для стабильной работы команда вынуждена внедрять автотесты, что требует инфраструктуры, инструментов, а также времени и внимания для их реализации.
Размышляя над этим, пришла идея использовать LLM для автоматической генерации тестов. Это могло бы снизить нагрузку на разработчиков и минимизировать влияние автотестов на time to market новых фич. Меня зовут Марк, я iOS-разработчик Lamoda Tech. Ранее я рассказывал о своем опыте поиска решений с использованием GPT и Copilot в UI-тестах.
Со временем на AI-арене появились новые заметные игроки — DeepSeek и Qwen. В это же время передо мной как разработчиком возникла задача обеспечить покрытие новой функциональности unit-тестами. Похоже, настал момент для очередного эксперимента: мы протестируем возможности GPT, DeepSeek и Qwen в генерации unit-тестов для iOS-приложения.
Статья: https://habr.com/ru/companies/lamoda/articles/902038/
Платформа: iOS/тестирование/ИИ
Как правильно загружать данные в Kotlin-проектах
Я создал 15 с лишним приложений и прочитал тысячи статей по Kotlin, и я видел так много неправильных способов загрузки данных для отображения в пользовательском интерфейсе, что я беспокоюсь за всех людей, которые неосознанно используют их.
Хуже всего то, что такие статьи продолжают появляться! Каждый месяц я вижу очередную статью / видео / пример кода с несовершенной реализацией событий или стратегий загрузки данных, которые приводят к скрытым ошибкам, которые, скорее всего, проявятся только в продакшене.
Хотите узнать, используете ли вы одну из них? Исправить проблемы? Тогда эта статья для вас, потому что это окончательное руководство, которое вам нужно для правильной загрузки данных в приложениях на Kotlin.
Статья: https://proandroiddev.com/how-to-load-data-kotlin-898f9add9c6f
Платформа: Android
👏: 308
Я создал 15 с лишним приложений и прочитал тысячи статей по Kotlin, и я видел так много неправильных способов загрузки данных для отображения в пользовательском интерфейсе, что я беспокоюсь за всех людей, которые неосознанно используют их.
Хуже всего то, что такие статьи продолжают появляться! Каждый месяц я вижу очередную статью / видео / пример кода с несовершенной реализацией событий или стратегий загрузки данных, которые приводят к скрытым ошибкам, которые, скорее всего, проявятся только в продакшене.
Хотите узнать, используете ли вы одну из них? Исправить проблемы? Тогда эта статья для вас, потому что это окончательное руководство, которое вам нужно для правильной загрузки данных в приложениях на Kotlin.
Статья: https://proandroiddev.com/how-to-load-data-kotlin-898f9add9c6f
Платформа: Android
👏: 308
❤1
This media is not supported in your browser
VIEW IN TELEGRAM
Используем Core Motion в SwiftUI-приложении
Чтобы получить доступ к акселерометру, гироскопам и, при наличии, шагомеру, магнитометру и барометру устройства, будь то iOS, iPadOS, watchOS или visionOS, используйте фреймворк Core Motion. Этот фреймворк сообщает данные о движении и окружающей среде, полученные от встроенных аппаратных датчиков. Использовать его в приложении, созданном с помощью SwiftUI, для создания визуального взаимодействия на основе собранных данных довольно просто.
В следующем примере мы имитируем динамическую глубину, используя данные гироскопа для поворота элементов пользовательского интерфейса и перемещения их тени.
Статья: https://apptractor.ru/info/articles/ispolzuem-core-motion-v-swiftui-prilozhenii.html
Платформа: iOS
Чтобы получить доступ к акселерометру, гироскопам и, при наличии, шагомеру, магнитометру и барометру устройства, будь то iOS, iPadOS, watchOS или visionOS, используйте фреймворк Core Motion. Этот фреймворк сообщает данные о движении и окружающей среде, полученные от встроенных аппаратных датчиков. Использовать его в приложении, созданном с помощью SwiftUI, для создания визуального взаимодействия на основе собранных данных довольно просто.
В следующем примере мы имитируем динамическую глубину, используя данные гироскопа для поворота элементов пользовательского интерфейса и перемещения их тени.
Статья: https://apptractor.ru/info/articles/ispolzuem-core-motion-v-swiftui-prilozhenii.html
Платформа: iOS
Создавайте восхитительные возможности и опыт с камерой и мультимедиа в Android
Команда Android поделилась свежими разработками в области камер и медиавозможностей — с фокусом на Jetpack Media3, CameraX и AI-интеграции. Вот что важно:
🎬 Многооконный видеомонтаж с Media3
Jetpack Media3 теперь позволяет легко собирать клипы в единую композицию с адаптивным UI (например, 2×2 сетка или picture-in-picture). Причём всё это — с поддержкой Jetpack Compose и даже Android XR.
📸 CameraX 1.4: кастомизация без боли
Новый API поддерживает эффекты из Media3. Например, добавить ч/б-фильтр — это буквально три строки. Есть и поддержка собственного OpenGL-рендеринга.
🧠 AI + видео: краткие итоги, перевод, теги
С помощью Gemini и Firebase можно анализировать видео, извлекать ключевые кадры, генерировать описания и аудиоверсии. В демо показаны фичи вроде видео-конспектов и HDR-превью.
🔊 Аудио с заботой о батарее
Android 16 и NDK добавляют PCM Offload — воспроизведение аудио через DSP, минуя CPU. Это экономит энергию и идеально для подкастов и музыки.
Все примеры уже доступны: AI Samples, Composition Demo, PowerPlay и другие.
Статья: https://android-developers.googleblog.com/2025/05/building-delightful-android-camera-media-experiences.html
Платформа: Android
Команда Android поделилась свежими разработками в области камер и медиавозможностей — с фокусом на Jetpack Media3, CameraX и AI-интеграции. Вот что важно:
🎬 Многооконный видеомонтаж с Media3
Jetpack Media3 теперь позволяет легко собирать клипы в единую композицию с адаптивным UI (например, 2×2 сетка или picture-in-picture). Причём всё это — с поддержкой Jetpack Compose и даже Android XR.
📸 CameraX 1.4: кастомизация без боли
Новый API поддерживает эффекты из Media3. Например, добавить ч/б-фильтр — это буквально три строки. Есть и поддержка собственного OpenGL-рендеринга.
🧠 AI + видео: краткие итоги, перевод, теги
С помощью Gemini и Firebase можно анализировать видео, извлекать ключевые кадры, генерировать описания и аудиоверсии. В демо показаны фичи вроде видео-конспектов и HDR-превью.
🔊 Аудио с заботой о батарее
Android 16 и NDK добавляют PCM Offload — воспроизведение аудио через DSP, минуя CPU. Это экономит энергию и идеально для подкастов и музыки.
Все примеры уже доступны: AI Samples, Composition Demo, PowerPlay и другие.
Статья: https://android-developers.googleblog.com/2025/05/building-delightful-android-camera-media-experiences.html
Платформа: Android
Местное вдохновение, мировое влияние: знакомимся с четырьмя победителями конкурса Swift Student Challenge этого года
В статье рассказывается о Swift Student Challenge, ежегодном мероприятии Apple, которое приглашает студентов со всего мира продемонстрировать свой творческий потенциал с помощью Swift. В этом году было отобрано 350 победителей из 38 стран, а 50 выдающихся победителей были приглашены на Всемирную конференцию разработчиков (WWDC) в Apple Park.
В статье рассказывается о четырех из этих победителей: Тайки Хамамото, который создал Hanafuda Tactics, чтобы сохранить традиционную японскую карточную игру; Марина Ли, разработавшая EvacuMate, чтобы помочь людям во время стихийных бедствий; Лусиана Ортис Ноласко, разработавшая BreakDownCosmic, чтобы сделать астрономию более доступной; и Нахом Ворку, который создал AccessEd, чтобы предоставить образовательные ресурсы для студентов с Wi-Fi или без него. Эти студенты использовали свои навыки программирования для решения реальных проблем и создания инновационных решений, демонстрируя силу технологий для стимулирования позитивных изменений. Apple поддерживает этих молодых разработчиков и их усилия по формированию будущего с помощью технологий.
Статья: https://www.apple.com/newsroom/2025/05/meet-four-of-this-years-swift-student-challenge-winners/
Платформа: разработка
В статье рассказывается о Swift Student Challenge, ежегодном мероприятии Apple, которое приглашает студентов со всего мира продемонстрировать свой творческий потенциал с помощью Swift. В этом году было отобрано 350 победителей из 38 стран, а 50 выдающихся победителей были приглашены на Всемирную конференцию разработчиков (WWDC) в Apple Park.
В статье рассказывается о четырех из этих победителей: Тайки Хамамото, который создал Hanafuda Tactics, чтобы сохранить традиционную японскую карточную игру; Марина Ли, разработавшая EvacuMate, чтобы помочь людям во время стихийных бедствий; Лусиана Ортис Ноласко, разработавшая BreakDownCosmic, чтобы сделать астрономию более доступной; и Нахом Ворку, который создал AccessEd, чтобы предоставить образовательные ресурсы для студентов с Wi-Fi или без него. Эти студенты использовали свои навыки программирования для решения реальных проблем и создания инновационных решений, демонстрируя силу технологий для стимулирования позитивных изменений. Apple поддерживает этих молодых разработчиков и их усилия по формированию будущего с помощью технологий.
Статья: https://www.apple.com/newsroom/2025/05/meet-four-of-this-years-swift-student-challenge-winners/
Платформа: разработка
This media is not supported in your browser
VIEW IN TELEGRAM
ProgressUI - это пакет SwiftUI, который реализует легко настраиваемый круговой индикатор прогресса. Он поддерживает динамическое окрашивание в зависимости от самого прогресса, несколько вариантов размеров и плавную анимацию, что делает его идеальным для отображения процессов, состояний загрузки или индикаторов состояния в приложениях для iOS, macOS, watchOS, visionOS и tvOS.
ProgressUI на GitHub: https://github.com/PierreJanineh-com/ProgressUI
Платформа: iOS
⭐️: 14
ProgressUI на GitHub: https://github.com/PierreJanineh-com/ProgressUI
Платформа: iOS
⭐️: 14
👍1
Apple опубликовала FastVLM — визуальный энкодер, которая позволяет улучшить работу с большими мультимодальными языковыми моделями.
Visual Language Model (VLM) — это модель искусственного интеллекта, которая сочетает в себе обработку изображений (визуальных данных) и текста (языковых данных). Такие модели умеют одновременно анализировать и понимать как картинки, так и текст, что позволяет им выполнять мультиформатные задачи.
VLM использует два типа нейросетей:
• Визуальный энкодер — преобразует изображение в векторное представление.
• Языковая модель — обрабатывает текст и встраивает его в общий векторный контекст вместе с визуальными данными.
FastVLM как раз является новым визуальным энкодером, разработанным для вывода меньшего количества токенов и значительного сокращения времени энкодинга изображений высокого разрешения.
Модель доступна в конфигурациях с параметрами 0,5B, 1,5B и 3B.
Apple также предоставила демонстрационное приложение для запуска модели на устройствах Apple и распознавания изображения.
FastVLM на GitHub: https://github.com/apple/ml-fastvlm
Платформа: iOS
⭐️: 1.9K
Visual Language Model (VLM) — это модель искусственного интеллекта, которая сочетает в себе обработку изображений (визуальных данных) и текста (языковых данных). Такие модели умеют одновременно анализировать и понимать как картинки, так и текст, что позволяет им выполнять мультиформатные задачи.
VLM использует два типа нейросетей:
• Визуальный энкодер — преобразует изображение в векторное представление.
• Языковая модель — обрабатывает текст и встраивает его в общий векторный контекст вместе с визуальными данными.
FastVLM как раз является новым визуальным энкодером, разработанным для вывода меньшего количества токенов и значительного сокращения времени энкодинга изображений высокого разрешения.
Модель доступна в конфигурациях с параметрами 0,5B, 1,5B и 3B.
Apple также предоставила демонстрационное приложение для запуска модели на устройствах Apple и распознавания изображения.
FastVLM на GitHub: https://github.com/apple/ml-fastvlm
Платформа: iOS
⭐️: 1.9K
👍2
Мастерство фокусов на Compose (часть 2): как работает запрос фокуса
В процессе работы над проектом PREMIER для Android TV я столкнулся с тем, что в Jetpack Compose механизм фокусов — достаточно сложная и неочевидная тема. А информации в интернете об этом очень мало, особенно о специфичных сценариях вроде ТВ-приложений или устройств без сенсорного ввода. Поэтому я решил разобрать тему фокусов в Compose максимально подробно, чтобы помочь разработчикам лучше понять этот механизм и избежать типичных ошибок.
Статья: https://habr.com/ru/companies/habr_rutube/articles/902306/
Платформа: Android
В процессе работы над проектом PREMIER для Android TV я столкнулся с тем, что в Jetpack Compose механизм фокусов — достаточно сложная и неочевидная тема. А информации в интернете об этом очень мало, особенно о специфичных сценариях вроде ТВ-приложений или устройств без сенсорного ввода. Поэтому я решил разобрать тему фокусов в Compose максимально подробно, чтобы помочь разработчикам лучше понять этот механизм и избежать типичных ошибок.
Статья: https://habr.com/ru/companies/habr_rutube/articles/902306/
Платформа: Android
Первый проект на HarmonyOS — мой плейлист для старта с нуля
Я работаю, в том числе, с мобильными приложениями на React Native. Разработка под HarmonyOS сразу заинтриговала меня тем, что ArkTS — это как бы TypeScript, но не совсем. И сам ArkUI сочетает в себе элементы и из React Native, и из Flutter, который мне тоже знаком.
Я решил: создам на Harmony OS базовое мобильное приложение и посмотрю, насколько дружелюбна эта платформа. Если вы мобильный разработчик (особенно с опытом Android или Flutter) и тоже хотите разобраться, что это за платформа и как с ней работать — вы по адресу. Создадим базовый плейлист по шагам.
Статья: https://habr.com/ru/companies/friflex/articles/909090/
Платформа: разработка
Я работаю, в том числе, с мобильными приложениями на React Native. Разработка под HarmonyOS сразу заинтриговала меня тем, что ArkTS — это как бы TypeScript, но не совсем. И сам ArkUI сочетает в себе элементы и из React Native, и из Flutter, который мне тоже знаком.
Я решил: создам на Harmony OS базовое мобильное приложение и посмотрю, насколько дружелюбна эта платформа. Если вы мобильный разработчик (особенно с опытом Android или Flutter) и тоже хотите разобраться, что это за платформа и как с ней работать — вы по адресу. Создадим базовый плейлист по шагам.
Статья: https://habr.com/ru/companies/friflex/articles/909090/
Платформа: разработка
Compose Unstyled - это набор базовых компонентов для создания высококачественных, доступных систем дизайна в Compose Multiplatform. Доступен для Desktop, Web (Js/WASM), Android, iOS, а также для любой другой платформы, на которой может работать Compose.
Compose Unstyled на GitHub: https://github.com/composablehorizons/compose-unstyled/
Платформа: Android
⭐️: 568
Compose Unstyled на GitHub: https://github.com/composablehorizons/compose-unstyled/
Платформа: Android
⭐️: 568
👍1
Типобезопасная передача результатов между экранами в Compose с Jetpack Navigation
В этой небольшой статье я расскажу, как мы в проекте решили обеспечить типобезопасность при передаче результатов между экранами с применением библиотеки Compose Navigation. Мы рассмотрим механизм, который помогает избежать типичных ошибок и делает код более поддерживаемым.
Статья: https://habr.com/ru/companies/wildberries/articles/905238/
Платформа: Android
В этой небольшой статье я расскажу, как мы в проекте решили обеспечить типобезопасность при передаче результатов между экранами с применением библиотеки Compose Navigation. Мы рассмотрим механизм, который помогает избежать типичных ошибок и делает код более поддерживаемым.
Статья: https://habr.com/ru/companies/wildberries/articles/905238/
Платформа: Android
This media is not supported in your browser
VIEW IN TELEGRAM
Сила KeyPath в SwiftUI: элегантный способ доступа к свойствам
В SwiftUI
Основы
•
•
•
Пример использования:
Преимущества в SwiftUI:
• Гибкость: Можно создавать универсальные представления, которые отображают различные свойства разных моделей данных.
• Сокращение кода: Уменьшается количество повторяющегося кода при работе с похожими структурами данных.
• Безопасность типов: Ошибки доступа к свойствам выявляются на этапе компиляции.
Использование
Статья: https://levelup.gitconnected.com/the-power-of-keypath-in-swiftui-aff57dc5afdd
Платформа: iOS
В SwiftUI
KeyPath позволяет обращаться к свойствам объектов динамически и безопасно. Это особенно полезно при создании универсальных компонентов и сокращении повторяющегося кода.Основы
KeyPath:•
KeyPath предоставляет доступ только для чтения к свойству•
WritableKeyPath позволяет читать и записывать значение свойства•
ReferenceWritableKeyPath используется для ссылочных типов (классов) и также поддерживает чтение и записьПример использования:
struct Person {
var name: String
var age: Int
}
let person = Person(name: "Alice", age: 30)
let nameKeyPath = \Person.name
print(person[keyPath: nameKeyPath]) // Выведет "Alice"Преимущества в SwiftUI:
• Гибкость: Можно создавать универсальные представления, которые отображают различные свойства разных моделей данных.
• Сокращение кода: Уменьшается количество повторяющегося кода при работе с похожими структурами данных.
• Безопасность типов: Ошибки доступа к свойствам выявляются на этапе компиляции.
Использование
KeyPath в SwiftUI делает код более чистым, модульным и легким для сопровождения.Статья: https://levelup.gitconnected.com/the-power-of-keypath-in-swiftui-aff57dc5afdd
Платформа: iOS
🤨1
Jetpack Compose 1.8 уже здесь - и он меняет правила игры
Jetpack Compose 1.8 представляет собой значительный шаг вперёд в развитии современного UI-инструментария для Android. Обновление включает в себя множество улучшений, направленных на повышение стабильности, удобства разработки и расширение функциональности.
• Одним из ключевых достижений является значительное сокращение количества экспериментальных API: с 170 в версии 1.7 до 70 в 1.8. Это свидетельствует о стремлении к стабилизации и зрелости фреймворка, что особенно важно для разработчиков, ориентированных на долгосрочную поддержку приложений.
• В области анимаций введён
• Для отслеживания видимости компонентов теперь доступен модификатор
• Поддержка HTML в Text-компонентах была расширена: теперь можно напрямую отображать такие теги, как
• Улучшена работа с текстом благодаря внедрению атрибута
• Функциональность автозаполнения была усовершенствована: достаточно указать тип содержимого через
В целом, Jetpack Compose 1.8 предлагает разработчикам более стабильную, гибкую и мощную платформу для создания современных Android-приложений.
Статья: https://medium.com/@eshagajjar7573/jetpack-compose-1-8-is-here-and-its-a-game-changer-9bf4ac02a562
Платформа: Android
👏: 307
Jetpack Compose 1.8 представляет собой значительный шаг вперёд в развитии современного UI-инструментария для Android. Обновление включает в себя множество улучшений, направленных на повышение стабильности, удобства разработки и расширение функциональности.
• Одним из ключевых достижений является значительное сокращение количества экспериментальных API: с 170 в версии 1.7 до 70 в 1.8. Это свидетельствует о стремлении к стабилизации и зрелости фреймворка, что особенно важно для разработчиков, ориентированных на долгосрочную поддержку приложений.
• В области анимаций введён
LookAheadScope, позволяющий автоматически анимировать изменения размеров и позиций компонентов без необходимости вручную прописывать анимации. Это упрощает создание плавных и отзывчивых интерфейсов.• Для отслеживания видимости компонентов теперь доступен модификатор
onLayoutRectChanged, который предоставляет информацию о расположении элемента на экране, облегчая реализацию логики, зависящей от видимости.• Поддержка HTML в Text-компонентах была расширена: теперь можно напрямую отображать такие теги, как
<ul> и <li>, без необходимости использования сторонних решений.• Улучшена работа с текстом благодаря внедрению атрибута
autoSize, который позволяет автоматически подстраивать размер текста под доступное пространство, включая возможность пошагового изменения размера.• Функциональность автозаполнения была усовершенствована: достаточно указать тип содержимого через
semantics, и система обеспечит соответствующее поведение, даже когда приложение находится в фоновом режиме.В целом, Jetpack Compose 1.8 предлагает разработчикам более стабильную, гибкую и мощную платформу для создания современных Android-приложений.
Статья: https://medium.com/@eshagajjar7573/jetpack-compose-1-8-is-here-and-its-a-game-changer-9bf4ac02a562
Платформа: Android
👏: 307
👍1
SwiftOpenAI - пакет Swift с открытым исходным кодом, предназначенный для удобного взаимодействия с публичным API OpenAI. Кроме того, SwiftOpenAI поддерживает различных провайдеров, совместимых с OpenAI, включая Anthropic, Gemini, Ollama, DeepSeek и пр.
SwiftOpenAI на GitHub: https://github.com/jamesrochabrun/SwiftOpenAI
Платформа: iOS
⭐️: 500
SwiftOpenAI на GitHub: https://github.com/jamesrochabrun/SwiftOpenAI
Платформа: iOS
⭐️: 500
👍1🔥1