AppFiles - Mobile Development
2.01K subscribers
2.57K photos
33 videos
8 files
3.46K links
Библиотеки, обучающие статьи, курсы и видео для (мобильных) разработчиков. Если есть вопросы - пишите @lbogolubov.
Download Telegram
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
Разработка мобильного приложения, безупречно работающего в реальном мире, требует тщательного тестирования в различных сетевых условиях. Flaker - это сетевой симулятор, призванный сделать процесс тестирования мобильных приложений более плавным и эффективным. С помощью Flaker можно легко эмулировать широкий спектр сетевых условий, что позволяет точно настроить производительность приложения и обеспечить исключительное качество работы при любых обстоятельствах. Flaker написан на Kotlin, Kotlin Multiplatform, Jetpack Compose и SwiftUI, с использованием SqlDelight, Jetpack DataStore, Okhttp, Ktor.

Flaker на GitHub: https://github.com/RotBolt/Flaker
Платформа: разработка
⭐️: 112
LLaMA 2, RWKV, Santacoder и другие LLM на iOS

Мысль портировать LLaMA.cpp на iOS у меня появилась после того, как вышло приложение Draw Things, про его разработку писали на Хабре. Мне понравилось то, что я могу без интернета (в поезде, например), заняться «генерацией всякого» с помощью нейросетей, без подписок, цензуры и неконтролируемых обновлений. Я подумал: если Stable Diffusion запустили на iOS, то что мешает запустить языковые модели? Так появилась идея создать приложение LLM Farm.

Статья: https://habr.com/ru/articles/764598/
Платформа: iOS
Как выступить на Mobius и внести свой вклад в Kotlin — Максим Сидоров (SberDevices)

Легендарное интервью с Максимом Сидоровым, Android-разработчиком из SberDevices, который на весеннем Мобиусе представил свой первый доклад “Измеряем sequence”, по результатам которого JetBrains внесли изменения в язык. Поговорили про карьеру, Kotlin, разработку, Сбер, имеет ли смысл “обычному разработчику” ковыряться в функциях языка и многое другое.

Интервью: https://apptractor.ru/info/interview/kak-vystupit-na-mobius-i-vnesti-svoy-vklad-v-kotlin-maksim-sidorov-sberdevices.html
Платформа: Android
🔥1
Все видео droidcon NYC 2023

Более 50 видео с конференции.

Сайт: https://www.droidcon.com/
Grape - библиотека Swift для моделирования сил и визуализации графов.

Grape на GitHub: https://github.com/li3zhen1/Grape
Платформа: iOS
⭐️: 47
1
Одна игра, один человек, шесть платформ: хорошие, плохие, злые

Недавно компания Valve объявила, что Counter-Strike 2 больше не будет поддерживать macOS. Как инди-разработчик, выпустивший игру с поддержкой macOS, я сначала удивился решению Valve. Но, вспомнив свой собственный путь поддержки шести платформ, я думаю, что могу понять точку зрения Valve.

Статья: https://apptractor.ru/info/articles/odna-igra-odin-chelovek-shest-platform-horoshie-plohie-zlye.html
Платформа: кроссплатформа
7 плагинов Android Studio, ускоряющих разработку приложений

Android Studio, созданная на основе программного обеспечения JetBrains IntelliJ IDEA и запущенная Google, представляет собой полнофункциональную интегрированную среду разработки для Android. Обладая таким количеством замечательных функций, а также будучи чрезвычайно продуктивной и эффективной, Android Studio вошла в тройку самых популярных IDE по версии GitHub.

Статья: https://apptractor.ru/info/articles/7-plaginov-android-studio-uskoryayuschih-razrabotku-prilozheniy.html
Платформа: Android
Готовимся к собеседованиям в западных компаниях — курсы и обучающие материалы

Тред от Евгения Мацюка, в котором он собрал различные ресурсы для подготовки к собеседованиям в западных компаниях.

Статья: https://apptractor.ru/info/articles/gotovimsya-k-sobesedovaniyam-v-zapadnyh-kompaniyah-kursy-i-obuchayuschie-materialy.html
Платформа: собеседования
Cookit Recipes App - приложение с рецептами, созданное на базе Compose Multiplatform. Снаружи iOS и Android, библиотека рецептов, пошаговые инструкции, добавление собственных. Внутри Jetpack Compose, Koin для инъекции зависимостей, Voyager для навигации, Moko Resources для управления ресурсами, ImageLoader для работы с изображениями.

Cookit Recipes App на GitHub: https://github.com/JunydDEV/kmp-recipes-mobile-app
Платформа: Android/кроссплатформа
⭐️: 25
👍2