fa
Feedback
AppFiles - Mobile Development

AppFiles - Mobile Development

رفتن به کانال در Telegram

Библиотеки, обучающие статьи, курсы и видео для (мобильных) разработчиков. Если есть вопросы - пишите @lbogolubov.

نمایش بیشتر
2 165
مشترکین
-124 ساعت
اطلاعاتی وجود ندارد7 روز
+130 روز
آرشیو پست ها
Творческая переработка MVVM и TCA на примере iOS За основу мы взяли архитектуру MVVM (Model—View—ViewModel), в которой View о
Творческая переработка MVVM и TCA на примере iOS За основу мы взяли архитектуру MVVM (Model—View—ViewModel), в которой View отвечает за графическое представление данных, вся бизнес логика сосредоточена внутри ViewModel. ViewModel обрабатывает запросы от View, обновляет свои данные, и View посредством data binding автоматически обновляет своё представление, что очень удобно. Model — модель для хранения и передачи данных. Статья: https://habr.com/ru/companies/gri/articles/913610/ Платформа: iOS

Swift в Apple: перенос службы мониторинга паролей с Java Swift широко используется в проде для создания облачных сервисов в A
Swift в Apple: перенос службы мониторинга паролей с Java Swift широко используется в проде для создания облачных сервисов в Apple, давая невероятные результаты. В прошлом году сервис Password Monitoring был переписан на Swift и теперь обрабатывает миллиарды запросов в день с устройств по всему миру. По сравнению с предыдущим сервисом на Java, обновленный бэкенд обеспечивает 40% увеличение производительности, а также улучшенную масштабируемость, безопасность и доступность. Статья: https://apptractor.ru/info/articles/swift-v-apple-perenos-sluzhby-monitoringa-paroley-s-java.html Платформа: Swift/разработка

Tomoyo — это приложение Kotlin Multiplatform. С одной стороны, это функциональная копия веб-сайта, позволяющая реализовать не
Tomoyo — это приложение Kotlin Multiplatform. С одной стороны, это функциональная копия веб-сайта, позволяющая реализовать некоторые его функции на мобильных и десктопных платформах. С другой стороны, оно служит примером для общих функций, таких как навигация, сокеты (для чата), видео, аудио и база данных в Kotlin Multiplatform. Tomoyo на GitHub: https://github.com/AsterCass/Tomoyo Платформа: Android/кроссплатформа ⭐️: 65

Live Updates в Android 16 — исследуем новые уведомления Начиная с Android 16, у нас появился новый стиль уведомлений Notifica
Live Updates в Android 16 — исследуем новые уведомления Начиная с Android 16, у нас появился новый стиль уведомлений Notification.ProgressStyle, который мы можем использовать для создания уведомлений, ориентированных на отображение прогресса выполнения задач. В этой статье мы узнаем, как использовать этот новый стиль для предоставления конечным пользователям оперативных обновлений. Статья: https://apptractor.ru/info/articles/live-updates-v-android-16-issleduem-novye-uvedomleniya.html Платформа: Android

Уникальные значения - удаление дубликатов из массива в Swift Удаление дубликатов для получения уникальных значений из массива
Уникальные значения - удаление дубликатов из массива в Swift Удаление дубликатов для получения уникальных значений из массива может быть распространенной задачей. В таких языках, как Ruby, есть встроенные методы, например uniq, но в Swift нам приходится создавать такие методы самостоятельно. Стандартная библиотека не предоставляет простого способа для этого. Существует много способов достичь того же результата, и у каждого из них есть свои плюсы и минусы. Давайте рассмотрим их и посмотрим, какие методы лучше всего подходят для вашего случая. Статья: https://apptractor.ru/info/articles/unikalnye-znacheniya-udalenie-dublikatov-iz-massiva-v-swift.html Платформа: iOS

ChessKit - пакет Swift для эффективной реализации шахматной логики (не игры самой, а именно логики). Реализует представление
ChessKit - пакет Swift для эффективной реализации шахматной логики (не игры самой, а именно логики). Реализует представление доски и всех игровых фигур, проверку правильности хода, ветвление ходов и вариации, состояний игры (шах, мат, пат, ничья) и т.п. ChessKit на GitHub: https://github.com/chesskit-app/chesskit-swift Платформа: iOS ⭐️: 14

Марширующие муравьи - делаем кастомный модификатор для границ Граница в виде "марширующих муравьев" — распространенный элемент пользовательского интерфейса, используемый для обозначения «выбранного» элемента, но предоставляемый Compose модификатор border() не справляется с этой задачей. Поэтому давайте создадим свой собственный! И по ходу дела мы многое узнаем о Paths, измерении путей, рисовании путей и эффектах! Статья: https://apptractor.ru/info/articles/marshiruyuschie-muravi-delaem-kastomnyy-modifikator-dlya-granits.html Платформа: Android

SmartCaptcha Yandex на iOS: инструкция по внедрению Настройка Yandex SmartCaptcha на первый взгляд может показаться простой з
SmartCaptcha Yandex на iOS: инструкция по внедрению Настройка Yandex SmartCaptcha на первый взгляд может показаться простой задачей, но на практике она требует внимательности, точной настройки и понимания архитектуры приложения. Я поделюсь личным опытом внедрения этого инструмента, объясню, какие нюансы стоит учесть, а также как избежать ошибок. Материал предназначен для iOS-разработчиков, у которых уже есть базовые знания мобильной разработки, и кто хочет быстро и корректно внедрить капчу от Яндекса в свое iOS-приложение. Статья: https://habr.com/ru/companies/simbirsoft/articles/914178/ Платформа: iOS

Автоматизация проверки стиля кода с помощью KtLint в Android проекте Мне повезло участвовать в большом стартапе и начать прое
Автоматизация проверки стиля кода с помощью KtLint в Android проекте Мне повезло участвовать в большом стартапе и начать проект самостоятельно. И в моем проекте я решил покончить с Code Review в привычном понимании. Что мне было необходимо? Нужен был инструмент, который бы приводил код к единому стилю и избавил меня и других участников команды от необходимости проверять стиль кода. Сюда входит правила расстановки новых строк, именования методов, отступы и тд. Необходимо чтоб инструмент подсвечивал места где стиль не соблюдается и исправлял автоматически такие места. В данной статье я рассмотрю только анализ стиля Kotlin кода и его автоматическое исправления согласно выработанным правилам в проекте. Статья: https://habr.com/ru/articles/914250/ Платформа: Android

Для чего я написал собственный аудиопроигрыватель Раздосадованный ограниченностью возможностей, я решил взяться за разработку
Для чего я написал собственный аудиопроигрыватель Раздосадованный ограниченностью возможностей, я решил взяться за разработку. Если уж я купил вычислительное устройство (в данном случае iPhone), то что мешает мне просто создать необходимое мне при помощи кода? В этой статье я расскажу о своих разочарованиях по пути к реализации базовой функциональности музыкального плеера: загрузки аудиофайлов, их упорядочивания и воспроизведения. Но больше всего мне хотелось напомнить себе, что это просто компьютер, и у меня должна быть возможность заставить его выполнять нужные мне задачи. Статья: https://habr.com/ru/companies/ruvds/articles/912886/ Платформа: iOS

ReadMoreTextView - библиотека реализует сворачиваемый виджет Text с «Читать дальше» в свернутом состоянии и «Читать меньше» в
ReadMoreTextView - библиотека реализует сворачиваемый виджет Text с «Читать дальше» в свернутом состоянии и «Читать меньше» в развернутом. Поддерживает Android View и Jetpack Compose. ReadMoreTextView на GitHub: https://github.com/webtoon/ReadMoreTextView Платформа: Android ⭐️: 180

📺 Видео и подкасты за неделю на @AppFiles • (iOS Ru) Ускоряем приложение эффективно • (iOS Ru) Swift Concurrency в iOS SDK Я
📺 Видео и подкасты за неделю на @AppFiles(iOS Ru) Ускоряем приложение эффективно(iOS Ru) Swift Concurrency в iOS SDK Яндекс Доставки(iOS Ru) Как мы доверили качество наших приложений AI(iOS En) iOS Interview Question: Build a World Clock App in SwiftUI(iOS En) 6 Useful SwiftUI Modifiers - Xcode 16(iOS En) How to Run Automated UI Tests in iOS with XCUITest(iOS En) Elevate Your SwiftUI Lists with iOS 18’s New Container Features(iOS En) SwiftUI iOS Localization Tutorial: Master String Catalogs in Xcode 16(iOS En) How Task Cancellation Really Works in Swift (Behind the Scenes)(iOS En) Re-creating iMessage Morph-Menu Effect Using SwiftUI(And Ru) История одного бизнес-желания(And Ru) Наглядный пример, когда не следовать best practices for coroutines от Google(And Ru) Кто является Senior разработчиком?(And En) What’s new in Jetpack Compose(And En) Google Home APIs, tools, and Gemini capabilities for your apps(And En) KotlinConf'25 - Keynote(And En) Everything you need to know about NEW Navigation 3(Crs Ru) Борьба с лишним весом, или Методы оптимизации размеров Flutter-приложений(Crs En) Hot Reload In Compose Multiplatform (CMP) - THIS Is All You Have to Know(Dev Ru) Анатомия энергопотребления(Dev Ru) От J2ME до супераппов: 20 лет разработки глазами техдиректор(Dev Ru) Вадим Чистяков — Global Talent Visa, переезд в Лондон, работа в IT(Dev Ru) Мнемотехника: запомнить всё — развитие памяти, насмотренность, саморазвитие(Dev En) Announcing Gemma 3n Preview: Powerful, Efficient, Mobile-First AI(Dev En) Learn Python for Data Science – Full Course for Beginners Прошлогодние видео: • (iOS Ru) Как писать игры на Swift для Playdate(iOS Ru) Мок-собеседование iOS-разработчика. SwiftUI (+ все собеседования) • (iOS Ru) Макросы Swift: проще, чище, быстрее(iOS Ru) Мы решили все проблемы работы в модульном проекте. Хотите так же?(And Ru) Оптимизация Compose: проблемы, опыт, тактика, стратегия(Crs Ru) 5 лет с Flutter: эволюция кроссплатформенности(Crs Ru) Flutter-диета. Как сбросить вес, выпиливая модули(Dev Ru) Прокачиваем Code Review: как выжать максимум?

ObservableDefaults - библиотека Swift, которая легко интегрирует UserDefaults и NSUbiquitousKeyValueStore (iCloud Key-Value S
ObservableDefaults - библиотека Swift, которая легко интегрирует UserDefaults и NSUbiquitousKeyValueStore (iCloud Key-Value Storage) с фреймворком Observation в SwiftUI. Он предоставляет два мощных макроса (@ObservableDefaults для локального управления UserDefaults и @ObservableCloud для облачного синхронизированного хранения данных), которые упрощают сохранение данных, автоматически связывая объявленные свойства с соответствующими системами хранения. Это позволяет точно и эффективно реагировать на изменения данных, независимо от того, происходят ли они внутри приложения, извне или на нескольких устройствах. ObservableDefaults на GitHub: https://github.com/fatbobman/ObservableDefaults Платформа: iOS ⭐️: 152

Выразительные анимации для всех По мере изучения возможностей Material 3 Expressive одним из первых компонентов, которые я собираюсь внедрить, станут кнопки-переключатели. Благодаря новой выразительной системе движений и визуальных эффектов мне не терпится увидеть, как эти кнопки могут стать более динамичными, плавными и эмоционально привлекательными - выйти за рамки статичных элементов пользовательского интерфейса и стать тем, что действительно реагирует на взаимодействие с пользователем. Статья: https://apptractor.ru/info/articles/vyrazitelnye-animatsii-dlya-vseh.html Платформа: Android

Скриншот-тестирование для превью Compose Скриншот-тестирование - эффективный способ проверить, как ваш пользовательский интер
Скриншот-тестирование для превью Compose Скриншот-тестирование - эффективный способ проверить, как ваш пользовательский интерфейс выглядит для пользователей. Инструмент Compose Preview Screenshot Testing сочетает в себе простоту и возможности composable превью с повышением производительности при выполнении скриншот-тестов на собственном компьютере. Compose Preview Screenshot Testing разработан для того, чтобы быть таким же простым в использовании, как и сами composable превью. Статья: https://apptractor.ru/info/articles/skrinshot-testirovanie-dlya-prevyu-compose.html Платформа: Android

Как мы распилили монолит Tinder Tinder поделился опытом преодоления проблем, связанных с монолитной архитектурой в iOS-прилож
Как мы распилили монолит Tinder Tinder поделился опытом преодоления проблем, связанных с монолитной архитектурой в iOS-приложении. Они столкнулись с трудностями, такими как медленные сборки, отсутствие четкой ответственности за модули и сложности в тестировании. Чтобы решить эти проблемы, команда Tinder применила стратегию модульности, разделив монолит на независимые Swift-модули. Ключевые аспекты подхода Tinder: 1. Сокращение критического пути сборки: Путем «уплощения» графа зависимостей, то есть устранения ненужных зависимостей между модулями, они добились возможности параллельной компиляции, что значительно ускорило процесс сборки. 2. Модульность как средство управления зависимостями: Разделение кода на модули позволило явно определить контракты между частями системы, уменьшить использование анти-паттернов, таких как синглтоны и циклические зависимости, и улучшить читаемость и поддержку кода. 3. Автоматизация процесса: С учетом масштабов проекта (более 1000 файлов и 150 000 строк кода), ручная модульность была бы неэффективной. Tinder разработал инструменты для автоматического рефакторинга, что обеспечило масштабируемость и последовательность изменений. Этот опыт демонстрирует, как переход от монолитной архитектуры к модульной может значительно улучшить производительность, упростить поддержку и ускорить разработку в крупных проектах. Статья: https://medium.com/tinder/how-we-decomposed-tinders-monolith-48dcf01a6066 Платформа: iOS

photo content

Pixel Weather App - многофункциональное погодное приложение для Android с уникальным пиксель-арт пользовательским интерфейсом
Pixel Weather App - многофункциональное погодное приложение для Android с уникальным пиксель-арт пользовательским интерфейсом, разработанное в качестве дипломного проекта. Приложение не только отображает стандартные прогнозы погоды из OpenWeatherMap API, но и использует локальную модель TensorFlow Lite для прогнозирования температуры «ощущается как». Внутри Kotlin, Jetpack Compose, MVVM, корутины и Flow, Hilt, Room, TensorFlow Lite, Gradle. Pixel Weather App на GitHub: https://github.com/ArtemZarubin/PixelArtWeatherML Платформа: Android ⭐️: 29

Что такое static в Swift — вопросы с собеседований Swift — современный язык программирования, который сочетает в себе мощь и
Что такое static в Swift — вопросы с собеседований Swift — современный язык программирования, который сочетает в себе мощь и безопасность, предоставляя разработчикам разнообразные инструменты для написания выразительного и безопасного кода. Ключевое слово static в Swift играет важную роль в определении свойств и методов, принадлежащих самому типу, а не его экземпляру. Хотя концепция может показаться знакомой тем, кто имел дело с языками вроде Java или C++, в Swift она имеет свои особенности, тонкости и области применения, которые важно понимать, чтобы использовать язык на полную мощность. Статья: https://apptractor.ru/info/articles/static-swift.html Все: вопросы с собеседований Платформа: iOS

Институциональные покупки: понимание и обнаружение Всплеск загрузок, вызванный институциональными покупками (Institutional Pu
Институциональные покупки: понимание и обнаружение Всплеск загрузок, вызванный институциональными покупками (Institutional Purchases), видимыми в App Store Connect, приводит в замешательство многих разработчиков приложений. Несколько сообщений на Reddit или форумах Apple пытаются ответить на вопрос, что это такое, но путаницы с ними по-прежнему много. Программа Apple Volume Purchase Program (VPP) имеет отношение к институциональным покупкам и приводит к измененному поведению вашего приложения. Что такое институциональные покупки и что вы должны делать с ними по-другому? Статья: https://apptractor.ru/info/articles/institutsionalnye-pokupki-ponimanie-i-obnaruzhenie.html Платформа: iOS