Дебаг на максимум: секретные настройки Xcode, которые должен знать каждый разработчик
Я поделюсь, как пофиксить отрисовку. Вам понадобятся знания основ Swift, CPU, GPU (про них поговорим) и немного юмора. Пройдёмся по примерам багов отображения на iPhone 16 Pro.
Примеры будем смотреть на картинках с красным мотоциклом. Красный байк был мечтой айосеров-старожилов в Альфе и даже стал локальным мемом. На собеседованиях мы часто спрашиваем, есть ли у кандидата красный мотоцикл (если да — это идеальный мэтч).
Статья: https://habr.com/ru/companies/alfa/articles/858706/
Платформа: iOS
Я поделюсь, как пофиксить отрисовку. Вам понадобятся знания основ Swift, CPU, GPU (про них поговорим) и немного юмора. Пройдёмся по примерам багов отображения на iPhone 16 Pro.
Примеры будем смотреть на картинках с красным мотоциклом. Красный байк был мечтой айосеров-старожилов в Альфе и даже стал локальным мемом. На собеседованиях мы часто спрашиваем, есть ли у кандидата красный мотоцикл (если да — это идеальный мэтч).
Статья: https://habr.com/ru/companies/alfa/articles/858706/
Платформа: iOS
Работа с CoordinatorLayout: шапочный разбор
В этой статье я поделюсь опытом по реализации двух версий шапки на главном экране приложения Avito.
Реализации фичей очень похожи, поэтому в своем рассказе я остановлюсь на второй версии. Эта статья будет особенно полезна разработчикам, которые хотят познакомиться с CoordinatorLayout и научиться делать похожие задачки с нетривиальным взаимодействием view между собой. Да, тема не нова, но, тем не менее, она не теряет своей актуальности! Итак, обо всем по порядку.
Статья: https://habr.com/ru/companies/avito/articles/859692/
Платформа: Android
В этой статье я поделюсь опытом по реализации двух версий шапки на главном экране приложения Avito.
Реализации фичей очень похожи, поэтому в своем рассказе я остановлюсь на второй версии. Эта статья будет особенно полезна разработчикам, которые хотят познакомиться с CoordinatorLayout и научиться делать похожие задачки с нетривиальным взаимодействием view между собой. Да, тема не нова, но, тем не менее, она не теряет своей актуальности! Итак, обо всем по порядку.
Статья: https://habr.com/ru/companies/avito/articles/859692/
Платформа: Android
Используйте транзакции вместо сохранения в SwiftData и Core Data
Обеспечение согласованности и целостности данных имеет решающее значение в операциях сохранения данных. Фреймворк SwiftData вводит метод
Статья: https://apptractor.ru/info/articles/ispolzuyte-tranzaktsiy-vmesto-sohraneniya-v-swiftdata-i-core-data.html
Платформа: iOS
Обеспечение согласованности и целостности данных имеет решающее значение в операциях сохранения данных. Фреймворк SwiftData вводит метод
transaction в ModelContext, предоставляя разработчикам более элегантный способ организации и управления операциями с данными. В этой статье мы рассмотрим, как использовать концепцию транзакций для создания более надежных и эффективных операций сохранения данных.Статья: https://apptractor.ru/info/articles/ispolzuyte-tranzaktsiy-vmesto-sohraneniya-v-swiftdata-i-core-data.html
Платформа: iOS
This media is not supported in your browser
VIEW IN TELEGRAM
LazyPager for SwiftUI - плавный, с ленивой загрузкой, панорамированием, масштабированием и возможностью отказа от жестов просмотрщик для SwiftUI.
Цель этой библиотеки - предоставить простой интерфейс SwiftUI для плавного и бесшовного просмотра контента. В отличие от других пейджеров для SwiftUI - этот построен поверх UIKit API, раскрывая возможности, которые еще не доступны в SwiftUI.
Фичи: ленивая загрузка, показ любого контента, не только изображений, горизонтальная и вертикальная прокрутка, увеличение и уменьшение, двойной тап для зума, работа с .ignoresSafeArea() для действительно полноэкранного просмотра, собятия нажатий обрабатываются внутри, настройки.
LazyPager for SwiftUI на GitHub: https://github.com/gh123man/SwiftUI-LazyPager
Платформа: iOS
⭐️: 169
Цель этой библиотеки - предоставить простой интерфейс SwiftUI для плавного и бесшовного просмотра контента. В отличие от других пейджеров для SwiftUI - этот построен поверх UIKit API, раскрывая возможности, которые еще не доступны в SwiftUI.
Фичи: ленивая загрузка, показ любого контента, не только изображений, горизонтальная и вертикальная прокрутка, увеличение и уменьшение, двойной тап для зума, работа с .ignoresSafeArea() для действительно полноэкранного просмотра, собятия нажатий обрабатываются внутри, настройки.
LazyPager for SwiftUI на GitHub: https://github.com/gh123man/SwiftUI-LazyPager
Платформа: iOS
⭐️: 169
🔥2
Tracer спустя год: новые фичи и возможности инструмента для аналитики ошибок в мобильных приложениях
Tracer — модульный инструмент для аналитики ошибок в мобильных приложениях от OK.Tech, который мы представили год назад. За это время в Tracer зарегистрировалось более 1500 организаций и 5000 пользователей. Сейчас решение обрабатывает более 1 млрд событий в день и обслуживает приложения, которые имеют суммарный DAU в 20 млн пользователей. Опыт наших клиентов показывает, что Tracer успешно справляется с поставленными задачами, но мы всё равно не останавливаемся на достигнутом.
Меня зовут Кирилл Попов. Я руководитель направления Android-разработки в ОК. В этой статье я расскажу, какие возможности получил инструмент за последний год, и что мы планируем реализовывать в перспективе.
Статья: https://habr.com/ru/companies/odnoklassniki/articles/861044/
Платформа: разработка
Tracer — модульный инструмент для аналитики ошибок в мобильных приложениях от OK.Tech, который мы представили год назад. За это время в Tracer зарегистрировалось более 1500 организаций и 5000 пользователей. Сейчас решение обрабатывает более 1 млрд событий в день и обслуживает приложения, которые имеют суммарный DAU в 20 млн пользователей. Опыт наших клиентов показывает, что Tracer успешно справляется с поставленными задачами, но мы всё равно не останавливаемся на достигнутом.
Меня зовут Кирилл Попов. Я руководитель направления Android-разработки в ОК. В этой статье я расскажу, какие возможности получил инструмент за последний год, и что мы планируем реализовывать в перспективе.
Статья: https://habr.com/ru/companies/odnoklassniki/articles/861044/
Платформа: разработка
❤3
Легаси шмегаси
В большинстве компаний полно legacy систем. Некомпетентные программисты создают их и оставляют беспорядок следующему человеку. У нового счастливчика не хватает моральных принципов, чтобы исправить беспорядок, поэтому он переписывает все заново, и цикл повторяется.
Вы можете разорвать этот цикл; вы можете позаботиться о том, чтобы не создавать унаследованные системы и делегировать те, которые вы нашли. Благодаря этому вы станете лучшим инженером, а рынок признает вас как человека, который решает проблемы, а не создает их. Ваша репутация вырастет, и вы будете достойно вознаграждены.
Статья: https://apptractor.ru/info/articles/legasi-shmegasi.html
Платформа: разработка
В большинстве компаний полно legacy систем. Некомпетентные программисты создают их и оставляют беспорядок следующему человеку. У нового счастливчика не хватает моральных принципов, чтобы исправить беспорядок, поэтому он переписывает все заново, и цикл повторяется.
Вы можете разорвать этот цикл; вы можете позаботиться о том, чтобы не создавать унаследованные системы и делегировать те, которые вы нашли. Благодаря этому вы станете лучшим инженером, а рынок признает вас как человека, который решает проблемы, а не создает их. Ваша репутация вырастет, и вы будете достойно вознаграждены.
Статья: https://apptractor.ru/info/articles/legasi-shmegasi.html
Платформа: разработка
👍2
This media is not supported in your browser
VIEW IN TELEGRAM
Constraints Explorer - легковесный инструмент, помогающий понять и отладить, как ограничения компоновки (layout constraints) в Compose влияют на ваши композабл. Он предназначен для использования в предварительных просмотрах и позволяет настраивать ограничения в интерактивном режиме.
Constraints Explorer на GitHub: https://github.com/zach-klippenstein/constraints-explorer
Платформа: Android
⭐️: 49
Constraints Explorer на GitHub: https://github.com/zach-klippenstein/constraints-explorer
Платформа: Android
⭐️: 49
❤1
Кросс-платформенное тестирование мобильных приложений: особенности, инструменты и решения
В современном мире без мобильных приложений никуда. Их стабильная и правильная работа требует особого подхода к тестированию, особенно когда речь идёт о кросс‑платформенных приложениях, работающих в iOS и Android. В этой статье я поделюсь своим опытом и трудностями, которые могут встретиться в процессе тестирования приложений в упомянутых ОС.
Статья: https://habr.com/ru/companies/domclick/articles/859546/
Платформа: тестирование
В современном мире без мобильных приложений никуда. Их стабильная и правильная работа требует особого подхода к тестированию, особенно когда речь идёт о кросс‑платформенных приложениях, работающих в iOS и Android. В этой статье я поделюсь своим опытом и трудностями, которые могут встретиться в процессе тестирования приложений в упомянутых ОС.
Статья: https://habr.com/ru/companies/domclick/articles/859546/
Платформа: тестирование
❤1
Асинхронность в iOS: как ускорить корпоративные приложения и не сломать мозг разработчика
Если ваше приложение не отвечает мгновенно на действия пользователя, то в голове у него сразу зажигается красный флаг: «Это медленно. Это неудобно. Может, удалить?». В корпоративных приложениях, где важна каждая секунда, это недопустимо.
В этой статье мы поговорим о том, как организовать асинхронную работу в iOS-приложениях. Разберём подходы от старой доброй GCD до современной магии Swift Concurrency и покажем, как они помогают ускорить приложение без лишнего хаоса в коде.
Статья: https://habr.com/ru/articles/861342/
Платформа: iOS
Если ваше приложение не отвечает мгновенно на действия пользователя, то в голове у него сразу зажигается красный флаг: «Это медленно. Это неудобно. Может, удалить?». В корпоративных приложениях, где важна каждая секунда, это недопустимо.
В этой статье мы поговорим о том, как организовать асинхронную работу в iOS-приложениях. Разберём подходы от старой доброй GCD до современной магии Swift Concurrency и покажем, как они помогают ускорить приложение без лишнего хаоса в коде.
Статья: https://habr.com/ru/articles/861342/
Платформа: iOS
Полное руководство по написанию чистого кода Jetpack Compose
Это руководство призвано помочь разработчикам освоить лучшие практики Jetpack Compose, обеспечив правильное наименование, структуру и управление композитными функциями.
В нем рассматриваются такие ключевые принципы, как правильное использование модификаторов, важность компонентов без состояния и контролируемых компонентов, а также эффективная обработка состояния путем его поднятия.
Следуя этим рекомендациям, разработчики смогут создавать модульные, поддерживаемые и производительные пользовательские интерфейсы, в полной мере использующие возможности декларативной природы Compose.
Статья: https://apptractor.ru/info/articles/polnoe-rukovodstvo-po-napisaniyu-chistogo-koda-jetpack-compose.html
Платформа: Android
Это руководство призвано помочь разработчикам освоить лучшие практики Jetpack Compose, обеспечив правильное наименование, структуру и управление композитными функциями.
В нем рассматриваются такие ключевые принципы, как правильное использование модификаторов, важность компонентов без состояния и контролируемых компонентов, а также эффективная обработка состояния путем его поднятия.
Следуя этим рекомендациям, разработчики смогут создавать модульные, поддерживаемые и производительные пользовательские интерфейсы, в полной мере использующие возможности декларативной природы Compose.
Статья: https://apptractor.ru/info/articles/polnoe-rukovodstvo-po-napisaniyu-chistogo-koda-jetpack-compose.html
Платформа: Android
❤1
Делаем поисковые подсказки в SwiftU
Модификатор searchSuggestions(_:) в SwiftUI — это мощная функция, которая улучшает работу поиска в приложениях для iOS. В сочетании с отслеживанием недавних поисковых запросов он создает интуитивно понятный интерфейс, который помогает пользователям быстро найти то, что они ищут, и легко вернуться к ранее просмотренным элементам.
Давайте создадим приложение для каталога Apple Products, которое продемонстрирует возможности поиска в SwiftUI. Мы реализуем интеллектуальную систему поиска, которая не только фильтрует товары в режиме реального времени, но и предоставляет предложения по поиску, а также отслеживает недавно просмотренные товары.
Статья: https://apptractor.ru/info/articles/delaem-poiskovye-podskazki-v-swiftui.html
Платформа: iOS
Модификатор searchSuggestions(_:) в SwiftUI — это мощная функция, которая улучшает работу поиска в приложениях для iOS. В сочетании с отслеживанием недавних поисковых запросов он создает интуитивно понятный интерфейс, который помогает пользователям быстро найти то, что они ищут, и легко вернуться к ранее просмотренным элементам.
Давайте создадим приложение для каталога Apple Products, которое продемонстрирует возможности поиска в SwiftUI. Мы реализуем интеллектуальную систему поиска, которая не только фильтрует товары в режиме реального времени, но и предоставляет предложения по поиску, а также отслеживает недавно просмотренные товары.
Статья: https://apptractor.ru/info/articles/delaem-poiskovye-podskazki-v-swiftui.html
Платформа: iOS
SwiftfulFirestore - удобные функции для использования Firebase Firestore с Swift Concurrency.
SwiftfulFirestore на GitHub: https://github.com/SwiftfulThinking/SwiftfulFirestore
Платформа: iOS
⭐️: 20
SwiftfulFirestore на GitHub: https://github.com/SwiftfulThinking/SwiftfulFirestore
Платформа: iOS
⭐️: 20
BDUI — это спасение от релизов: «Какие ваши доказательства?»
Если вы видели no-code-проекты, где можно просто блоками перетаскивать интерфейс, то отчасти вы уже знакомы с BDUI-подходом, ведь они по сути и построены на BDUI. Суть в том, что мы делегируем наполнение интерфейса серверу. Фронтенд не отвечает за то, что будет нарисовано, а только определяет список допустимых компонент, которые сервер может показать пользователю. Но в вебе BDUI не очень популярен.
А зря. Ведь в первую очередь он нужен как спасение от релизов.
Но, если быть точнее, он нужен как средство для снижения количества релизов, затрат на разработку и выкатку фичей. Давайте это и обсудим, а также как работает BDUI, разберём примеры, реализованную фичу, которую мы недавно релизили, посмотрим на другие варианты реализации и подведём итоги.
Статья: https://habr.com/ru/companies/alfa/articles/861384/
Платформа: разработка
Если вы видели no-code-проекты, где можно просто блоками перетаскивать интерфейс, то отчасти вы уже знакомы с BDUI-подходом, ведь они по сути и построены на BDUI. Суть в том, что мы делегируем наполнение интерфейса серверу. Фронтенд не отвечает за то, что будет нарисовано, а только определяет список допустимых компонент, которые сервер может показать пользователю. Но в вебе BDUI не очень популярен.
А зря. Ведь в первую очередь он нужен как спасение от релизов.
Но, если быть точнее, он нужен как средство для снижения количества релизов, затрат на разработку и выкатку фичей. Давайте это и обсудим, а также как работает BDUI, разберём примеры, реализованную фичу, которую мы недавно релизили, посмотрим на другие варианты реализации и подведём итоги.
Статья: https://habr.com/ru/companies/alfa/articles/861384/
Платформа: разработка
👍1
Сравнение Koin и Dagger Hilt в современной Android-разработке
При выборе фреймворка для инъекции зависимостей для разработки на Kotlin для Android производительность часто является ключевым фактором. В этой статье рассматривается производительность Koin в его последней версии (4.0.1-Beta1) и проводится сравнение с Dagger Hilt (2.52). Вместо того чтобы полагаться на упрощенные бенчмарки или ограниченные сценарии выполнения кода, мы ориентируемся на разработчиков: понимание производительности в реальном мире, при повседневном использовании. Кроме того, эта статья призвана успокоить тех, кто, возможно, колеблется в выборе Koin из-за проблем с производительностью.
Статья: https://apptractor.ru/info/articles/sravnenie-koin-i-dagger-hilt-v-sovremennoy-android-razrabotke.html
Платформа: Android
При выборе фреймворка для инъекции зависимостей для разработки на Kotlin для Android производительность часто является ключевым фактором. В этой статье рассматривается производительность Koin в его последней версии (4.0.1-Beta1) и проводится сравнение с Dagger Hilt (2.52). Вместо того чтобы полагаться на упрощенные бенчмарки или ограниченные сценарии выполнения кода, мы ориентируемся на разработчиков: понимание производительности в реальном мире, при повседневном использовании. Кроме того, эта статья призвана успокоить тех, кто, возможно, колеблется в выборе Koin из-за проблем с производительностью.
Статья: https://apptractor.ru/info/articles/sravnenie-koin-i-dagger-hilt-v-sovremennoy-android-razrabotke.html
Платформа: Android
👍1🔥1
Material Photo Widget настолько прост, насколько это возможно: виджет на главный экран для отображения фото или коллекции фото. Это бесплатная, без рекламы и с открытым исходным кодом альтернатива для тех, кто хочет настроить главный экран с помощью любимых фотографий.
Помимо своего функционала, Material Photo Widget - это “игровая площадка” для изучения и освоения современной Android-разработки. В нем чистый и красивый пользовательский интерфейс, созданный с помощью Jetpack Compose и рекомендаций Google по материальному дизайну, поддержка тематического оформления Material You, Android Jetpack, включая Jetpack Compose, виджеты главного экрана.
Material Photo Widget на GitHub: https://github.com/fibelatti/photo-widget
Платформа: Android
⭐️: 127
Помимо своего функционала, Material Photo Widget - это “игровая площадка” для изучения и освоения современной Android-разработки. В нем чистый и красивый пользовательский интерфейс, созданный с помощью Jetpack Compose и рекомендаций Google по материальному дизайну, поддержка тематического оформления Material You, Android Jetpack, включая Jetpack Compose, виджеты главного экрана.
Material Photo Widget на GitHub: https://github.com/fibelatti/photo-widget
Платформа: Android
⭐️: 127
Видео и подкасты за неделю на @AppFiles
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
#ios #android #mobile #video
•
(iOS Ru) Как оптимизировали Яндекс Go для отображения 50+ заказов•
(iOS Ru) Кодогенерация в iOS-разработке•
(iOS En) Interactive Navigation Gesture | SwiftUI•
(iOS En) Swift Testing with Test Plans and Floating Point Equality•
(iOS En) Building a Reading List App•
(iOS En) Create an Animated Mesh Gradient in SwiftUI•
(And Ru) Плагины — это просто•
(And Ru) Как Jetpack ViewModel переживает поворот экрана•
(And En) Clipping and masking | Jetpack Compose Tips•
(And En) Rules about performance tools - Android Developers Backstage•
(And En) How to Observe the REAL Internet Connectivity - Android Studio Kotlin Tutorial•
(And En) The Ultimate Gradle Kotlin Beginner's Crash Course For 2025•
(Crs Ru) Профилирование Flutter-приложений•
(Crs Ru) Понимание PWA: выбираем между Flutter и Web, и что ожидают заказчики•
(Crs En) Let's Build a Game with Jetpack Compose! (Kotlin Multiplatform)•
(Dev Ru) Ускорение разработки продуктов с помощью горизонтальных решений•
(Dev Ru) Перестаньте использовать Copilot. Вред ИИ для разработчиков•
(Dev Ru) Топ-5 страхов и проблем ИТ-индустрии — монополизация, ИИ, сокращения, выгорания•
(Dev En) Event-Driven Architecture Course – NextJS, Clerk, Webhooks#ios #android #mobile #video
🔥1
ATProtoKit - это простая в понимании API-библиотека, которая использует протокол AT с безопасностью типов и простотой использования, которые вы привыкли ожидать от языка программирования Swift. Независимо от того, создаете ли вы бота, серверное приложение или просто еще один пользовательский клиент Bluesky, этот проект, надеюсь, поможет вам ускорить разработку.
AT протокол — это открытый децентрализованный протокол, созданный для социальных сетей. Его цель — предоставить пользователям больше контроля над их данными, улучшить совместимость между платформами и обеспечить независимость от централизованных сервисов. Bluesky разрабатывается с акцентом на открытость и прозрачность, а AT Protocol (ранее известный как ADX) лежит в его основе.
ATProtoKit на GitHub: https://github.com/MasterJ93/ATProtoKit
Платформа: iOS
⭐️: 84
AT протокол — это открытый децентрализованный протокол, созданный для социальных сетей. Его цель — предоставить пользователям больше контроля над их данными, улучшить совместимость между платформами и обеспечить независимость от централизованных сервисов. Bluesky разрабатывается с акцентом на открытость и прозрачность, а AT Protocol (ранее известный как ADX) лежит в его основе.
ATProtoKit на GitHub: https://github.com/MasterJ93/ATProtoKit
Платформа: iOS
⭐️: 84
👍3❤1🔥1
Всё о новых штрафах за утечки данных. Сколько светит и как защитить своё приложение
В 2023 году Роскомнадзор выявил 168 утечек персональных данных, затронувших 300 млн записей о клиентах Сбера, Спортмастера, Здравсити, МТС Банка и других крупных компаний. Суды рассмотрели 87 дел и назначили штрафы на общую сумму почти в 5 млн рублей. Таких «щадящих» наказаний за нарушения в работе с данными больше не будет, ведь на этой неделе Госдума ужесточила ответственность за подобные инциденты. Суть изменений в том, что для компаний штрафы вырастут до 3% от выручки или до 500 миллионов рублей.
По оценке нововведения затронут каждую третью компанию в стране. Поэтому сегодня совместно с лидом Android-разработки Surf Алексеем Рябковым попробуем рассказать, что владельцам приложений стоит сделать и проверить, чтобы обезопасить себя и свой продукт от возможных утечек.
Статья: https://habr.com/ru/companies/surfstudio/articles/862048/
Платформа: разработка
В 2023 году Роскомнадзор выявил 168 утечек персональных данных, затронувших 300 млн записей о клиентах Сбера, Спортмастера, Здравсити, МТС Банка и других крупных компаний. Суды рассмотрели 87 дел и назначили штрафы на общую сумму почти в 5 млн рублей. Таких «щадящих» наказаний за нарушения в работе с данными больше не будет, ведь на этой неделе Госдума ужесточила ответственность за подобные инциденты. Суть изменений в том, что для компаний штрафы вырастут до 3% от выручки или до 500 миллионов рублей.
По оценке нововведения затронут каждую третью компанию в стране. Поэтому сегодня совместно с лидом Android-разработки Surf Алексеем Рябковым попробуем рассказать, что владельцам приложений стоит сделать и проверить, чтобы обезопасить себя и свой продукт от возможных утечек.
Статья: https://habr.com/ru/companies/surfstudio/articles/862048/
Платформа: разработка
👍1🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Анимируем представления UIKit с помощью анимации SwiftUI
В iOS 18 появилась новая мощная функция: возможность анимировать представления UIKit с помощью типов анимации SwiftUI. Это еще больше сокращает разрыв между двумя фреймворками, позволяя нам привнести гибкость и выразительность системы анимации SwiftUI в проекты на базе UIKit.
Статья: https://apptractor.ru/info/articles/animiruem-predstavleniya-uikit-s-pomoschyu-animatsii-swiftui.html
Платформа: iOS
В iOS 18 появилась новая мощная функция: возможность анимировать представления UIKit с помощью типов анимации SwiftUI. Это еще больше сокращает разрыв между двумя фреймворками, позволяя нам привнести гибкость и выразительность системы анимации SwiftUI в проекты на базе UIKit.
Статья: https://apptractor.ru/info/articles/animiruem-predstavleniya-uikit-s-pomoschyu-animatsii-swiftui.html
Платформа: iOS
❤2🔥1
С появлением Jetpack Compose разработчики Android могут использовать всю мощь Kotlin для создания компонентов пользовательского интерфейса, отказавшись от традиционных XML-макетов. Однако интеграция векторных активов, таких как иконки, часто все еще зависит от использования ресурсов Android Vector Drawables (AVD/XML).
SVG to Compose - набор инструментов для преобразования файлов SVG или Android Vector Drawable (AVD/XML) в иконки Jetpack Compose. Этот проект предоставляет утилиту командной строки для ручного преобразования и плагин Gradle для автоматизации преобразования в процессе сборки.
Этот проект призван упростить интеграцию векторных ресурсов в приложения Compose, предоставляя инструменты, которые конвертируют файлы SVG или AVD непосредственно в объекты Compose ImageVector, следуя тому же подходу, который используется для Material Icons от Google.
SVG to Compose на GitHub: https://github.com/rafaeltonholo/noscript-to-compose
Платформа: Android
⭐️: 103
SVG to Compose - набор инструментов для преобразования файлов SVG или Android Vector Drawable (AVD/XML) в иконки Jetpack Compose. Этот проект предоставляет утилиту командной строки для ручного преобразования и плагин Gradle для автоматизации преобразования в процессе сборки.
Этот проект призван упростить интеграцию векторных ресурсов в приложения Compose, предоставляя инструменты, которые конвертируют файлы SVG или AVD непосредственно в объекты Compose ImageVector, следуя тому же подходу, который используется для Material Icons от Google.
SVG to Compose на GitHub: https://github.com/rafaeltonholo/noscript-to-compose
Платформа: Android
⭐️: 103
👍2🔥2👎1
Изогнутое нижнее меню в Jetpack Compose
Сегодня я покажу вам, как создать изогнутое нижнее меню в Jetpack Compose.
Статья: https://apptractor.ru/info/articles/izognutoe-nizhnee-menyu-v-jetpack-compose.html
Платформа: Android
Сегодня я покажу вам, как создать изогнутое нижнее меню в Jetpack Compose.
Статья: https://apptractor.ru/info/articles/izognutoe-nizhnee-menyu-v-jetpack-compose.html
Платформа: Android
👍1