SwiftDraw - это Swift-библиотека для парсинга и отрисовки SVG-изображений, включающая инструмент командной строки для преобразования SVG в SFSymbol, PNG, PDF и исходный код Swift.
SwiftDraw на GitHub: https://github.com/swhitty/SwiftDraw
Платформа: iOS
⭐️: 360
SwiftDraw на GitHub: https://github.com/swhitty/SwiftDraw
Платформа: iOS
⭐️: 360
Видео и подкасты за неделю @AppFiles
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
#ios #android #mobile #video
•
(iOS Ru) Стратегия автотестирования для iOS приложений•
(iOS Ru) 5 вопросов для iOS разработчика•
(iOS Ru) Борьба с утечками памяти: от задачи до победы•
(iOS En) Import & Export Swift Data with Password•
(iOS En) Interactive Expandable Header - SwiftUI•
(And Ru) 5 уроков из опыта реализации pixel-perfect тестирования дизайн-системы в Android•
(And Ru) Gradle-сборка. Измеряем самое важное•
(And Ru) Шифруем файлы в Android•
(And En) Now in Android: 109 - Android 15 Beta 4, Samsung Galaxy Unpacked, Google Play's new feature, & more•
(And En) Hot Flows vs. Cold Flows In Kotlin - When to Use What?•
(And En) 5 Kotlin Coroutine Secrets I Wish I Knew Earlier•
(And En) Kotlin After 2.0•
(And En) Revamping and Extending Kotlin's Type System•
(And En) The state of code coverage for Kotlin•
(Crs En) There's more than a mouse in Compose Multiplatform for Desktop•
(Dev Ru) Как писать чистый код — угадываем что ввел юзер и дизайним с нуля Clean Code Approach•
(Dev Ru) Егор Бугаенко про ТикТок, Huawei и ленивых разработчиков•
(Dev Ru) Зачем учить язык Си в 2024 году — Как выбрать между C или C++ или Rust#ios #android #mobile #video
SSNeumorphicView - это сложная, но гибкая библиотека для iOS, которая легко интегрирует модный стиль неоморфизм в пользовательский интерфейс вашего приложения. Неоморфизм, известный своими мягкими, тонкими тенями в сочетании с глубиной и текстурой, создает элегантный эффект мягкого тиснения, благодаря которому компоненты вашего пользовательского интерфейса выглядят тактильно и привлекательно.
SSNeumorphicView упрощает процесс внедрения неоморфных элементов в ваше приложение, обеспечивая совместимость с UIKit и SwiftUI. Благодаря широким возможностям настройки цвета, глубины и стиля теней вы без труда создадите современный и визуально привлекательный пользовательский опыт. Кроме того, он обратно совместим с iOS 13, что обеспечивает широкую поддержку на различных устройствах.
SSNeumorphicView на GitHub: https://github.com/SimformSolutionsPvtLtd/SSNeumorphicKit
Платформа: iOS
⭐️: 44
SSNeumorphicView упрощает процесс внедрения неоморфных элементов в ваше приложение, обеспечивая совместимость с UIKit и SwiftUI. Благодаря широким возможностям настройки цвета, глубины и стиля теней вы без труда создадите современный и визуально привлекательный пользовательский опыт. Кроме того, он обратно совместим с iOS 13, что обеспечивает широкую поддержку на различных устройствах.
SSNeumorphicView на GitHub: https://github.com/SimformSolutionsPvtLtd/SSNeumorphicKit
Платформа: iOS
⭐️: 44
2,5 тысяч экрано-состояний и тесты на сотнях устройств: как мы с нуля делали темную тему в приложении
Несмотря на пользу, темную тему часто разрабатывают по остаточному принципу. Например, выделяют на задачу по нескольку часов в неделю, и за это время просто инвертируют цвета светлой темы. Но в таком случае ни о какой пользе для глаз говорить не приходится.
Чтобы сделать действительно полезную фичу, потратили десятки часов и протестировали 2,5 тысячи макетов на сотнях устройств. С чем работали в процессе и что из этого вышло в этой статье.
Статья: https://habr.com/ru/articles/839636/
Платформа: дизайн и прототипирование
Несмотря на пользу, темную тему часто разрабатывают по остаточному принципу. Например, выделяют на задачу по нескольку часов в неделю, и за это время просто инвертируют цвета светлой темы. Но в таком случае ни о какой пользе для глаз говорить не приходится.
Чтобы сделать действительно полезную фичу, потратили десятки часов и протестировали 2,5 тысячи макетов на сотнях устройств. С чем работали в процессе и что из этого вышло в этой статье.
Статья: https://habr.com/ru/articles/839636/
Платформа: дизайн и прототипирование
❤1👍1
Я получил новый iPhone, но мой аккаунт в социальных сетях заблокирован
Как разработчик iOS, я знаю, что у Apple нет никаких API, которые разработчики могут использовать для отслеживания пользователей. Разработчики не могут получить доступ к серийному номеру устройства, а identifierForVendor сбрасывается, когда пользователь удаляет все приложения издателя. Так как же Snapchat мог распознать устройство?
Статья: https://apptractor.ru/develop/ya-poluchil-novyy-iphone-no-moy-akkaunt-v-sotsialnyh-setyah-zablokirovan.html
Платформа: iOS
Как разработчик iOS, я знаю, что у Apple нет никаких API, которые разработчики могут использовать для отслеживания пользователей. Разработчики не могут получить доступ к серийному номеру устройства, а identifierForVendor сбрасывается, когда пользователь удаляет все приложения издателя. Так как же Snapchat мог распознать устройство?
Статья: https://apptractor.ru/develop/ya-poluchil-novyy-iphone-no-moy-akkaunt-v-sotsialnyh-setyah-zablokirovan.html
Платформа: iOS
aDp - эта библиотека используется в Jetpack Compose для преодоления различий в пользовательском интерфейсе на разных Android-устройствах для одного и того же кода. Библиотека принимает на вход задуманную разработчиком ширину экрана и затем масштабирует все размеры в соответствии с настройками устройства, обеспечивая их точное соответствие дизайну. Например, выше сравнение двух TextView: при ширине дизайна 360 вы видите, как изменяется TextView, использующий стандартный dp, а тот, что использует aDp, настраивается так, чтобы выглядеть почти идентично дизайну (у автора есть статья с объяснением).
aDp на GitHub: https://github.com/mohitsoni48/aDp
Платформа: Android
⭐️: 12
aDp на GitHub: https://github.com/mohitsoni48/aDp
Платформа: Android
⭐️: 12
NFC на Android: создание системы предоплаты с использованием NDEF меток
В этой статье мы рассмотрим, как реализовать NFC в приложении для Android, читая и записывая данные в метки с помощью формата NDEF. Мы продемонстрируем это на примере реализации простой системы предоплаты, похожей на системы общественного транспорта, где метки, обычно в формате карт, можно заряжать и использовать для проезда. Android-устройство будет выступать в роли платежного терминала, а метки будут хранить баланс и список приобретенных товаров.
Статья: https://apptractor.ru/info/news/nfc-na-android-sozdanie-sistemy-predoplaty-s-ispolzovaniem-ndef-metok.html
Платформа: Android
В этой статье мы рассмотрим, как реализовать NFC в приложении для Android, читая и записывая данные в метки с помощью формата NDEF. Мы продемонстрируем это на примере реализации простой системы предоплаты, похожей на системы общественного транспорта, где метки, обычно в формате карт, можно заряжать и использовать для проезда. Android-устройство будет выступать в роли платежного терминала, а метки будут хранить баланс и список приобретенных товаров.
Статья: https://apptractor.ru/info/news/nfc-na-android-sozdanie-sistemy-predoplaty-s-ispolzovaniem-ndef-metok.html
Платформа: Android
Swift AST Explorer - это инструмент для визуализации абстрактного синтаксического дерева (Abstract Syntax Tree, AST) исходного кода Swift.
Swift AST Explorer на GitHub: https://github.com/SwiftFiddle/swift-ast-explorer
Платформа: iOS
⭐️: 567
Swift AST Explorer на GitHub: https://github.com/SwiftFiddle/swift-ast-explorer
Платформа: iOS
⭐️: 567
This media is not supported in your browser
VIEW IN TELEGRAM
Создаем атомный лоадер в Jetpack Compose
В этой статье мы создадим потрясающую 3D-анимацию Atomic Loader в Jetpack Compose.
Интересно? Давайте сделаем! ⚛️🚀
Статья: https://apptractor.ru/info/articles/sozdaem-atomanyy-loader-v-jetpack-compose.html
Платформа: Android
В этой статье мы создадим потрясающую 3D-анимацию Atomic Loader в Jetpack Compose.
Интересно? Давайте сделаем! ⚛️🚀
Статья: https://apptractor.ru/info/articles/sozdaem-atomanyy-loader-v-jetpack-compose.html
Платформа: Android
👍5
Voice - это удобное приложение для прослушивания аудиокниг на вашем Android-устройстве. Поддерживая широкий спектр аудиоформатов, включая MP3, M4A, OGG и другие, Voice Audiobook Player обеспечивает интуитивно понятный интерфейс, гладкий и комфортный опыт прослушивания вашей любимой аудиокниги.
Voice на GitHub: https://github.com/PaulWoitaschek/Voice
Платформа: Android
⭐️: 2.4K
Voice на GitHub: https://github.com/PaulWoitaschek/Voice
Платформа: Android
⭐️: 2.4K
Время сборки и верификация модулей
Постепенно время сборки Secrets становилось все медленнее и медленнее, и я не замечал этого... до бета-версии Xcode 16, когда я почувствовал, что мне действительно нужно понять, что происходит.
Статья: https://apptractor.ru/info/articles/vremya-sborki-i-verifikatsiya-moduley.html
Платформа: iOS
Постепенно время сборки Secrets становилось все медленнее и медленнее, и я не замечал этого... до бета-версии Xcode 16, когда я почувствовал, что мне действительно нужно понять, что происходит.
Статья: https://apptractor.ru/info/articles/vremya-sborki-i-verifikatsiya-moduley.html
Платформа: iOS
Интересные приёмы, взятые из исходников Android
В процессе чтения исходников Android SDK я замечал интересные механики и приёмы написания кода, какие-то из них до сих пор используются при создании новых библиотек, другие, напротив, заменены более логичными и понятными конструкциями. В этой статье я постараюсь перечислить всё, что смог заметить сам при изучении исходников Android'а. Сразу отмечу: эта статья не претендует на полноту материала и возможно вы нашли даже больше интересных моментов при чтении кода.
Статья: https://habr.com/ru/companies/ruvds/articles/838330/
Платформа: Android
В процессе чтения исходников Android SDK я замечал интересные механики и приёмы написания кода, какие-то из них до сих пор используются при создании новых библиотек, другие, напротив, заменены более логичными и понятными конструкциями. В этой статье я постараюсь перечислить всё, что смог заметить сам при изучении исходников Android'а. Сразу отмечу: эта статья не претендует на полноту материала и возможно вы нашли даже больше интересных моментов при чтении кода.
Статья: https://habr.com/ru/companies/ruvds/articles/838330/
Платформа: Android
Все, что вы хотели знать о флагах в эмодзи (но не знали, что вам это нужно)
Допустим, вы создаете аналитическое приложение и вам нужен простой способ обозначить местоположение аналитического события. Если вы, как и я, подумали: «Да, флажки эмодзи — забавный способ показать страны», то наверняка сразу же начали создавать такой словарь
Но подождите. Оказывается, есть гораздо более простой способ сделать это (ну как «простой»… с программной точки зрения).
Статья: https://apptractor.ru/info/articles/vse-chto-vy-hoteli-znat-o-flagah-v-emodzi-no-ne-znali-chto-vam-eto-nuzhno.html
Платформа: iOS
Допустим, вы создаете аналитическое приложение и вам нужен простой способ обозначить местоположение аналитического события. Если вы, как и я, подумали: «Да, флажки эмодзи — забавный способ показать страны», то наверняка сразу же начали создавать такой словарь
let emojiFlags = [
"AU": "🇦🇺",
"BE": "🇧🇪",
"BR": "🇧🇷",
"BS": "🇧🇸",
...
]
Но подождите. Оказывается, есть гораздо более простой способ сделать это (ну как «простой»… с программной точки зрения).
Статья: https://apptractor.ru/info/articles/vse-chto-vy-hoteli-znat-o-flagah-v-emodzi-no-ne-znali-chto-vam-eto-nuzhno.html
Платформа: iOS
👍2
Verge - это высокопроизводительная, масштабируемая библиотека управления состоянием для Swift, разработанная с учетом реальных сценариев использования. Она предлагает легкий и простой в использовании подход к управлению состоянием приложения без необходимости использования сложных действий и редукторов. Совместима с UIKit и SwiftUI.
Verge на GitHub: https://github.com/VergeGroup/swift-verge
Платформа: iOS
⭐️: 632
Verge на GitHub: https://github.com/VergeGroup/swift-verge
Платформа: iOS
⭐️: 632
Видео и подкасты за неделю @AppFiles
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
#ios #android #mobile #video
•
(iOS En) SwiftUI Custom Popups - iOS 17 & 18•
(iOS En) SwiftUI TextRenderer•
(iOS En) SwiftUI Reorderable Scroll View - Custom Drag & Drop With Scroll Detection - iOS 18•
(iOS En) Create Modular iOS Apps with Swift Packages: Step-by-Step Guide!•
(iOS En) SwiftUI - Reorder a List (2 Ways)•
(iOS En) Fix This Problem with SwiftUI Lists•
(And Ru) Организация кода в проекте — в какой пакет положить Kotlin класс•
(And En) Building for the future of Android•
(And En) What's new in Android Studio Koala•
(And En) Master Kotlin Coroutines & Flows•
(And En) Build your own compiler with KSP•
(And En) Applying the State Pattern in Kotlin•
(Dev Ru) Архитектурное собеседование — по обе стороны баррикад (+ все собеседования)•
(Dev Ru) Backend-Driven UI и конструкторы. Благо или зло?•
(Dev Ru) Открытое собеседование — технический руководитель: разбор кейса•
(Dev Ru) Как работает авторизация и аутентификация — OAuth, JWT, webauthn, RBAC, ABAC#ios #android #mobile #video
👍1
Как я разрушил свои стереотипы об автотестах, или Мой путь от Appium до Kaspresso
В этой статье хочу рассказать, как я прошел путь от Appium до open-source-фреймворка Kaspresso, с чего начинал, какие делал для себя открытия, как разрушались мои стереотипы и какие по итогу были сделаны выводы.
Статья: https://habr.com/ru/companies/kaspersky/articles/841136/
Платформа: Android
В этой статье хочу рассказать, как я прошел путь от Appium до open-source-фреймворка Kaspresso, с чего начинал, какие делал для себя открытия, как разрушались мои стереотипы и какие по итогу были сделаны выводы.
Статья: https://habr.com/ru/companies/kaspersky/articles/841136/
Платформа: Android
Темная сторона однонаправленных архитектур Swift
В этой статье речь пойдет о главной проблеме всех однонаправленных архитектур Swift. Собственно говоря, это не проблема однонаправленных архитектур как таковых. Скорее, это проблема моделирования действий или событий как значений. Я ее называю “пинг-понг-проблемой”. Все дело в “скачках” между разными местами кода, которые приходится преодолевать, чтобы получить целостное представление обо всем потоке.
Статья: https://nuancesprog.ru/p/21632/
Платформа: iOS
В этой статье речь пойдет о главной проблеме всех однонаправленных архитектур Swift. Собственно говоря, это не проблема однонаправленных архитектур как таковых. Скорее, это проблема моделирования действий или событий как значений. Я ее называю “пинг-понг-проблемой”. Все дело в “скачках” между разными местами кода, которые приходится преодолевать, чтобы получить целостное представление обо всем потоке.
Статья: https://nuancesprog.ru/p/21632/
Платформа: iOS
• Все, что вы хотели знать о флагах в эмодзи (но не знали, что вам это нужно)
• Как я решал задачу получения доступа к данным банковских приложений на iOS
• Дружим iPhone и ESP32. Часть 1. ESP Arduino Core
• Как встроить распознавание звуков в ваше iOS приложение на Swift с использованием SoundAnalysis
• Время сборки и верификация модулей
• Поваренная книга SwiftUI: списки и навигация — Часть 1
• Я получил новый iPhone, но мой аккаунт в социальных сетях заблокирован
• Apple забанила аккаунт компании победителя WWDC
• Темная сторона однонаправленных архитектур Swift
•
(En) JavaScript to Swift and back: Bridging location services in WKWebView•
(En) SwiftData’s new Index and Unique macros•
(En) Elevate Your Testing Game with Swift Testing•
(En) Limit Swift Concurrency’s cooperative pool•
(En) Custom hover effects in SwiftUI•
(En) Backport SwiftUI modifiers•
(En) Hiding A SwiftUI View From Switch Control•
(En) Animating SF Symbols on iOS 18•
(En) The AirDrop Conundrum: Passing Custom Models From and To Your App•
(En) SwiftUI Modifiers Deep Dive: containerRelativeFrame•
(En) How-to: Symbolicate MetricKit Crashdiagnostics•
(En) Walmart Software Engineer III — IOS (IN3) My Interview Experience•
•
•
•
•
•
•
•
Please open Telegram to view this post
VIEW IN TELEGRAM
AppTractor
Все, что вы хотели знать о флагах в эмодзи (но не знали, что вам это нужно)
Это гораздо лучше, чем вести словарь.
👍1
• Интересные приёмы, взятые из исходников Android
• Создаем атомный лоадер на Jetpack Compose
• Композим иконки. Улучшаем семантику и скорость отрисовки
• NFC на Android: создание системы предоплаты с использованием NDEF меток
• Фокус в Android TV
• Многопоточность в Android: тогда и сейчас
• Советы по обработке Insets для обеспечения edge-to-edge на Android 15
• Как я разрушил свои стереотипы об автотестах, или Мой путь от Appium до Kaspresso
• Защита мобильных приложений. Записки охотника: Почему Appdome иногда такой себе Dome
• Организация кода в проекте — в какой пакет положить Kotlin класс
• Android 15 опубликован в AOSP
•
(En) String vs StringBuffer vs StringBuilder•
(En) Coroutine Testing — Never ending tests & backgroundScope•
(En) Avoiding unintentional device exclusion in an Android app•
(En) Android Studio Koala Feature Drop is Stable!•
(En) Transforming Figma UI Designs into Jetpack Compose Code with Google AI Studio: A Step-by-Step Guide•
(En) Composable-scoped ViewModel: An interesting experiment•
(En) Loading Initial Data in LaunchedEffect vs. ViewModel•
(En) How to Provide Photos to the Gallery for Running UI Automated Tests•
(En) Mastering Navigation in Jetpack Compose: A Guide to Using the inclusive Attribute•
(En) How to Create an Atomic Loader in Jetpack Compose•
(En) Insets handling tips for Android 15’s edge-to-edge enforcement•
(En) Kotlin KSP — how to automate everything in the world•
(En) Best way to keep state in a ViewModel•
(En) Unlock Android Jetpack Components: Hidden Tricks to Build Successful App•
(En) Android Compose Videos with ExoPlayer•
(En) Android dev very overengineered and difficult to get into?•
(En) Anti-Pattern: Stop Leaking Kotlin Flow Collectors in Your Android ViewModel•
•
•
•
•
•
•
Please open Telegram to view this post
VIEW IN TELEGRAM
Хабр
Интересные приёмы, взятые из исходников Android
Интересные приёмы, взятые из исходников Android В процессе чтения исходников Android SDK я замечал интересные механики и приёмы написания кода, какие-то из них до сих пор используются при создании...
Learn Kotlin Coroutines - изучение корутин на реальных примерах для Android. Этот проект предназначен для тех, кто хочет начать изучать асинхронное программирование в применении к мобильным приложениям. Автор постарался добавить примеры, которые он сам часто реализует в своем проекте.
Learn Kotlin Coroutines на GitHub: https://github.com/amitshekhariitbhu/Learn-Kotlin-Coroutines
Платформа: Android
⭐️: 373
Learn Kotlin Coroutines на GitHub: https://github.com/amitshekhariitbhu/Learn-Kotlin-Coroutines
Платформа: Android
⭐️: 373