AppFiles - Mobile Development
2.01K subscribers
2.57K photos
33 videos
8 files
3.46K links
Библиотеки, обучающие статьи, курсы и видео для (мобильных) разработчиков. Если есть вопросы - пишите @lbogolubov.
Download Telegram
Papyrus - это типобезопасный HTTP-клиент для Swift. Он превращает ваши API в чистые и лаконичные протоколы Swift, в которых каждая функция представляет собой конечную точку API. А аннотации к протоколу, функциям и параметрам помогают конструировать запросы и декодировать ответы.

Papyrus на GitHub: https://github.com/joshuawright11/papyrus
Платформа: iOS
⭐️: 117
Осваиваем фреймворк Observation в Swift

Новый фреймворк Observation в сочетании с функциями Swift Concurrency позволяет заменить Combine, который выглядит устаревшим по мнению Apple. В этой статье мы узнаем, как использовать фреймворк Observation для обработки потоков данных в наших приложениях.

Статья: https://apptractor.ru/info/articles/osvaivaem-freymvork-observation-v-swift.html
Платформа: iOS
Добавление кастомных шрифтов Google в приложение

Видео
: https://www.youtube.com/watch?v=9HGbwifxirw
Платформа: Android
AnyPass - это универсальное решение для управления паролями, генерации паролей и анализа их состояния. Внутри Kotlin, Compose Multiplatform, корутины, Swift, модуляризация, Koin, Firebase, Coil, Ktlint и многое другое.

AnyPass на GitHub: https://github.com/getspherelabs/anypass-kmp
Платформа: Android/кроссплатформа
⭐️: 92
👍2
Видео и подкасты за неделю:

(iOS Ru) Как ускорить сборку проекта и не остановить разработку
(iOS Ru) Забудь про UITableView
(iOS Ru) Новые подходы к работе с регулярными выражениями в Swift. Просто о сложном
(iOS Ru) О дивный новый мир со Swift Concurrency
(iOS En) Custom In-App Notification’s – Xcode 15 – SwiftUI Tutorials
(iOS En) How to get started with Swift Concurrency (Beginner Tutorial)
(iOS En) Changing Status Bar Style in 5 Min's - SwiftUI
(iOS En) Build an Air Quality Index App with SwiftUI Map & Google AQI API
(iOS En) How to Build a Custom Sheet in SwiftUI
(iOS En) New and Deprecated APIs in iOS 17
(And Ru) Как устроена логика навигации флоу в приложении Тинькофф
(And Ru) Введение в безопасность Android-приложений
(And Ru) Удалил один класс, а сломался весь проект: Decoupling
(And Ru) Корутинные загадки
(And Ru) Измеряем sequence
(And En) Now in Android: 92 - Studio Bot expansion, Firebase integration, Android Studio, and much more!
(And En) How to Build a Camera App With CameraX - Taking Photos
(And En) How to Build a Custom Gradle Plugin to Share Project Config - Multi-Module Architecture
(And En) Add Custom Google Fonts in your App
(And En) How to make and use BOM (Bill of Materials) dependencies in Android projects
(Crs Ru) Генератор межъязыковых мостов для мобильных приложений PyDjinni
(Crs En) KMP Hopes & Dreamcatchers with Ritesh Gupta

Поставьте 👍, если понравилась подборка. А если вы увидели/выпустили какое-то другое интересное видео - отправьте боту🧑🏻‍💻
Подборка видео про новый фреймворк Observation

Новый фреймворк Observation в сочетании с функциями Swift Concurrency позволяет заменить Combine, который выглядит устаревшим по мнению Apple.

Фреймворк Observation (SwiftUI + iOS 17)
iOS 17 Data Flow with Observation Framework
SwiftUI Data Flow in iOS 17 - Observation & @Observable
SwiftUI Data Flow with the new Observation - simpler SwiftUI code and improved performance in iOS 17
Swift Observation from Scratch

Платформа: iOS
Как эффективно провести модульное тестирование большого MVVM-приложения? The Unit Testing Diet Sample App - пример чат-приложения для Android, который демонстрирует, как следовать Behavior-Driven Development (BDD) путем написания модульных тестов, проверяющих поведение пользователя и результат, который он воспринимает, без проверки деталей реализации. Тесты написаны в стиле Given-When-Then и охватывают уровни ViewModel, UseCase и Repository, без использования моков.

The Unit Testing Diet Sample App на GitHub: https://github.com/steliosfran/unit-testing-diet
Платформа: Android
⭐️: 7
Open Interpreter позволяет LLM выполнять код (Python, Javascript, Shell и др.) локально. Вы можете общаться с Open Interpreter через ChatGPT-подобный интерфейс в терминале, запустив после установки $ interpreter.

Он обеспечивает естественно-языковой интерфейс к задачам общего назначения - таким, как:

• Создание и редактирование фотографий, видео, PDF-файлов и т.д.
• Управление браузером Chrome для проведения исследований
• Создание, очистка и анализ больших массивов данных

...и т.д.

Open Interpreter на GitHub: https://github.com/KillianLucas/open-interpreter
Платформа: разработка
⭐️: 28.7K
This media is not supported in your browser
VIEW IN TELEGRAM
BigUIPaging - коллекция элементов SwiftUI для управления страницами контента.

BigUIPaging на GitHub: https://github.com/notsobigcompany/BigUIPaging
Платформа: iOS
⭐️: 118
👍1
Kodein DI для Android. KMP и Compose

Быть в авангарде в разработке — жизненная необходимость. Поэтому многие проекты уже переходят на Jetpack Compose, а самые смелые и продвинутые даже выпускают приложения на KMP. Мы в проекте Дринкит тоже активно переходим на Jetpack Compose (с KMP пока не сделали подход).

Ну и как же жить со всем этим без DI? Правильно, никак. Поэтому в этой статье я расскажу, как применять DI Kodein в Kotlin Multiplatform и Jetpack Compose.

Статья: https://habr.com/ru/companies/dododev/articles/766058/
Платформа: Android
👍1
Поваренная книга SwiftUI: NavigationStack

При создании приложения с несколькими представлениями важно иметь способ навигации между ними. В SwiftUI NavigationStack обеспечивает простой и интуитивно понятный способ навигации между представлениями.

Статья: https://apptractor.ru/info/articles/povarennaya-kniga-swiftui-navigationstack-v-swiftui.html
Платформа: iOS
Всеобъемлющий Rust

Это бесплатный курс по языку Rust, разработанный командой разработчиков Android в Google. Курс охватывает весь спектр Rust, от базового синтаксиса до таких продвинутых тем, как генерики и обработка ошибок.

Курс: https://google.github.io/comprehensive-rust/
Платформа: разработка
Resaca - правильная область видимости для объектов и вью-моделей в Android Compose. Resaca предоставляет простой способ сохранить Jetpack ViewModel (или любой другой объект) в памяти в течение жизненного цикла функции @Composable и автоматически очистить ее, когда она больше не нужна. Это означает, что библиотека сохраняет ваш объект или ViewModel при перекомпоновке, при изменении конфигурации, а также когда контейнер Fragment или Compose Navigation уходит в backstack. С помощью Resaca вы можете создавать отдельные ViewModel для мелких Composable и, наконец, получить многократно используемые компоненты на всех экранах.

Resaca на GitHub: https://github.com/sebaslogen/resaca
Платформа: Android
⭐️: 223
Паттерн делегирования для написания многократно используемых компонентов Compose

В этой статье я расскажу о решении, позволяющем писать составные функции, которые в большей степени пригодны для повторного использования.

Статья: https://apptractor.ru/info/articles/pattern-delegirovaniya-dlya-napisaniya-mnogokratno-ispolzuemyh-komponentov-compose.html
Платформа: Android
🥱1
Отслеживаем сбои приложения с MetricKit

MetricKit содержит много данных, которые помогут вам отслеживать работоспособность вашего приложения и делать ваших пользователей счастливее.

Статья: https://apptractor.ru/measure/crash-analytics-bug-tracking/otslezhivaem-sboi-prilozheniya-s-metrickit.html
Платформа: iOS
Nimble определяет ожидаемые результаты выполнения выражений в Swift или Objective-C. В Xcode есть фреймворк XCTest, который предоставляет макросы утверждений для проверки правильности поведения кода. Однако утверждения XCTest имеют несколько недостатков - нет простого способа утверждать, что строка содержит определенную подстроку, или что число меньше или равно другому, кроме того сложно писать асинхронные тесты, наконец, XCTest заставляет писать много шаблонного кода. Nimble решает все эти проблемы.

Nimble на GitHub: https://github.com/Quick/Nimble
Платформа: iOS
⭐️: 4.7K
Архитектура Android. Понятно и подробно

Если вы хотите сделать хорошую архитектуру, то используйте эту схему и строго соблюдайте правила, без каких-либо исключений.

Статья: https://habr.com/ru/articles/766762/
Платформа: Android
Понимаем @discardableResult в Swift

Swift известен тем, что в нем большое внимание уделяется безопасности типов и читаемости кода. Одним из свойств, соответствующих этим принципам, является атрибут @discardableResult. Этот атрибут позволяет пометить возвращаемое значение функции как "отбрасываемое" (discardable), что означает возможность игнорировать возвращаемое значение, не выдавая предупреждения компилятора. В этой статье мы рассмотрим, что такое отбрасываемый результат, почему он полезен и как эффективно использовать его в Swift.

Статья: https://apptractor.ru/info/articles/ponimaem-discardableresult-v-swift.html
Платформа: iOS
FocusBloom - это приложение Kotlin Multiplatform, которое помогает пользователям повысить продуктивность и улучшить навыки управления временем с помощью интервалов сосредоточенной работы и коротких перерывов. Поддерживает iOS, Android и десктопы, внутри Kotlin Multiplatform, Compose Multiplatform, SQLDelight, Koin, Voyager, Detekt, Ktlint, Github Actions и прочее.

FocusBloom на GitHub: https://github.com/JoelKanyi/FocusBloom
Платформа: Android/кроссплатформа
⭐️: 179
👍1🔥1