ru
Feedback
AppFiles - Mobile Development

AppFiles - Mobile Development

Открыть в Telegram

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

Больше
2 170
Подписчики
+124 часа
+17 дней
+630 день
Архив постов
Как я написал клиент электронного дневника своей области Сейчас я учусь в 8 классе. Где-то с октября (сейчас апрель) я изучаю
Как я написал клиент электронного дневника своей области Сейчас я учусь в 8 классе. Где-то с октября (сейчас апрель) я изучаю разработку мобильных приложения для андроид. И как это бывает у каждого - я столкнулся с проблемой: а какое приложение мне сделать? И мне крайне повезло. Я не стал делать какой-нибудь фейковый магазин, калькулятор, блокнот, туду лист и всякую подобную заезженную тему. Статья: https://habr.com/ru/articles/806737/ Платформа: Android

EinkBro - маленький браузер, созданный для экранов на электронных чернилах. EinkBro разработан в соответствии с потребностями
EinkBro - маленький браузер, созданный для экранов на электронных чернилах. EinkBro разработан в соответствии с потребностями Eink-устройств : никаких лишних переходов и анимаций, четкие черно-белые иконки, полезные функции для чтения на устройствах. Он был создан на основе FOSS Browser, который является полностью свободным приложением для Android. EinkBro на GitHub: https://github.com/plateaukao/einkbro Платформа: Android ⭐️: 910

Убираем M из MVVM в SwiftUI Вы наверняка заметили, насколько коротким получился код для представления, показывающего три разн
Убираем M из MVVM в SwiftUI Вы наверняка заметили, насколько коротким получился код для представления, показывающего три разных состояния. Это потому, что один из лучших способов убрать «М» из MVVM — разбить представление на маленькие, простые структуры. Apple построила SwiftUI именно таким образом: State, Binding и Environment позволяют вашим представлениям взаимодействовать друг с другом прямолинейно. Статья: https://apptractor.ru/info/articles/ubiraem-m-iz-mvvm-v-swiftui.html Платформа: iOS

Вторая часть "Осваиваем ViewModel в Android: «можно» и «нельзя»" Рассматриваются два вопроса: • Избегайте раскрытия мутабельн
Вторая часть "Осваиваем ViewModel в Android: «можно» и «нельзя»" Рассматриваются два вопроса: • Избегайте раскрытия мутабельных состояний • Используйте update{} при использовании MutableStateFlows Статья: https://apptractor.ru/info/articles/osvaivaem-viewmodel-v-android-mozhno-i-nelzya-chast-2.html Платформа: Android

OpenSwiftUI - это реализация SwiftUI от Apple с открытым исходным кодом. Проект предназначен для создания приложений с графич
OpenSwiftUI - это реализация SwiftUI от Apple с открытым исходным кодом. Проект предназначен для создания приложений с графическим интерфейсом на платформах, отличных от Apple (например, Linux и Windows), диагностики и отладки проблем SwiftUI на платформе Apple. При этом дизайн API по возможности остается таким же, как и оригинальный API SwiftUI. В настоящее время этот проект находится на ранней стадии разработки и его не рекомендуют использовать в “производственных” приложениях. OpenSwiftUI на GitHub: https://github.com/OpenSwiftUIProject/OpenSwiftUI Платформа: iOS ⭐️: 635

Поваренная книга SwiftUI: создание текстовых полей в SwiftUI TextField в SwiftUI — это универсальный элемент, используемый дл
Поваренная книга SwiftUI: создание текстовых полей в SwiftUI TextField в SwiftUI — это универсальный элемент, используемый для получения текстового ввода от пользователя. Статья: https://apptractor.ru/info/articles/povarennaya-kniga-swiftui-sozdanie-tekstovyh-poley-v-swiftui.html Платформа: iOS

Tap Target Compose - это Jetpack Compose реализация “мишеней” (Tap Target) из Material Design, используемых для указания пользователю на новые функции. Tap Target Compose на GitHub: https://github.com/PierfrancescoSoffritti/tap-target-compose Платформа: Android ⭐️: 32

Конструкторы-самозванцы в Kotlin Сегодня я хочу поговорить про интересные моменты в Kotlin, связанные с вызовами конструкторо
Конструкторы-самозванцы в Kotlin Сегодня я хочу поговорить про интересные моменты в Kotlin, связанные с вызовами конструкторов классов. Или не совсем конструкторов? Или же совсем не конструкторов? Давайте разбираться. Статья: https://habr.com/ru/articles/805767/ Платформа: Android

SwiftUI Environment Overrides - небольшая библиотека, которая добавляет панель управления для тестирования того, как приложение SwiftUI адаптируется под различные цветовые темы, настройки доступности и локализации. Вдохновлена панелью "Environment Overrides" в Xcode, но позволяет проверять реальное работающее приложение вместо предварительного просмотра в Xcode. SwiftUI Environment Overrides на GitHub: https://github.com/nalexn/EnvironmentOverrides Платформа: iOS ⭐️: 304

GreenStash - это простое cвободное и открытое приложение для Android, которое поможет вам легко планировать и управлять своим
GreenStash - это простое cвободное и открытое приложение для Android, которое поможет вам легко планировать и управлять своими сбережениями, а также выработает привычку экономить деньги. Внутри Material 3 и Material You, биометрия, MAD (пользовательский интерфейс и логика написаны на чистом Kotlin, единая активити, никаких фрагментов, только Composable Destinations. GreenStash на GitHub: https://github.com/Pool-Of-Tears/GreenStash Платформа: Android ⭐️: 428

Обработка сетевых вызовов в Swift с помощью Moya Moya предоставляет нам абстракцию для выполнения сетевых вызовов без прямого
Обработка сетевых вызовов в Swift с помощью Moya Moya предоставляет нам абстракцию для выполнения сетевых вызовов без прямого взаимодействия с Alamofire и позволяет в кратчайшие сроки сосредоточиться на основных функциях вашего приложения вместо того, чтобы работать с сетью. Статья: https://apptractor.ru/info/articles/moya.html Платформа: iOS

Игра в безопасность Android-приложений В рамках статьи нас интересуют сами процессы взлома и защиты, а не конкретные методики
Игра в безопасность Android-приложений В рамках статьи нас интересуют сами процессы взлома и защиты, а не конкретные методики работы с конкретными инструментами. Поэтому разберёмся с этими процессами и постараемся сделать выводы. Чтобы читать было интереснее, я решил попеременно ставить себя и на место нападающего, и на место защищающего приложение человека. Что-то вроде шахмат: сначала ход делает нападающий, а затем защищающийся. Пока кто-то не победит. Пройдём путь, постепенно наращивая сложность, от простого вроде HTTPS — к более сложному, вроде обфускации и деобфускации, изменению поведения. И под конец перейдём к C++ и просмотру его Assembler кода. Статья: https://habr.com/ru/companies/cian/articles/804835/ Платформа: Android

Сам себе экосистема. Часть 4: как я реализовал клиент Telegram на Android-смартфоне 14-летней давности Я решил реализовать кл
Сам себе экосистема. Часть 4: как я реализовал клиент Telegram на Android-смартфоне 14-летней давности Я решил реализовать клиент Telegram на смартфоне 14-летней давности на базе официальной реализации MTProto от команды Telegram — TDLib. Сегодня мы с вами: узнаем новые причины мотивации вернуть в строй смартфоны прошлых лет, напишем на C# реле-сервер, который обрабатывает пакеты MTProto и кодирует их в простой текстовый формат датасетов, который можно моментально обработать даже при нестабильном GPRS-соединении на 21-летнем Siemens C60, а также узнаем о разработке миниатюрных Android-приложений на базе «голого» API-системы, которые не тянут за собой никаких зависимостей, в том числе и AppCompat/androidx. Интересно? Статья: https://habr.com/ru/companies/timeweb/articles/804033/ Платформа: Android

isowords - игра для iOS по поиску слов на кубиках. Надо соединять буквы, чтобы составить слова, чем длиннее, тем лучше, а ког
isowords - игра для iOS по поиску слов на кубиках. Надо соединять буквы, чтобы составить слова, чем длиннее, тем лучше, а когда буква будет использована в третий раз, кубик исчезнет, открыв новые буквы внутри. isowords - это большое и сложное приложение, построенное полностью на Swift. Логика iOS-клиента построена на Composable Architecture, а пользовательский интерфейс - в основном на SwiftUI с небольшим количеством SceneKit. Сервер также построен на Swift с использованием экспериментальных библиотек. isowords на GitHub: https://github.com/pointfreeco/isowords Платформа: iOS ⭐️: 2.5K

Протокол Identifiable в SwiftUI с примерами Протокол Identifiable позволяет выполнять итерации по коллекции объектов внутри F
Протокол Identifiable в SwiftUI с примерами Протокол Identifiable позволяет выполнять итерации по коллекции объектов внутри ForEach в SwiftUI. Хотя этот протокол выглядит простым и имеет всего одно свойство, в нем легко допустить распространенную ошибку, которая может привести к неожиданному поведению вашего представления. Статья: https://apptractor.ru/info/articles/identifiable.html Платформа: iOS

Оптимизация приложения для сетевой доступности Доступность сети — важный аспект для приложений, полагающихся на сетевые возмо
Оптимизация приложения для сетевой доступности Доступность сети — важный аспект для приложений, полагающихся на сетевые возможности. Ваши пользователи не всегда будут иметь хорошее подключение к Интернету, поэтому оптимизация приложения для плохих сетевых условий очень важна. Мы можем использовать несколько методов для соответствующей оптимизации нашего приложения, но очень важно знать о распространенных ошибках, когда вы это делаете. После написания нескольких сетевых фреймворков и десятков приложений, пришло время поделиться с вами моими лучшими практиками, чтобы предотвратить ошибки, которые я совершил в прошлом. Статья: https://apptractor.ru/info/articles/optimizatsiya-prilozheniya-dlya-setevoy-dostupnosti.html Платформа: iOS

Один «подводный камень» в Jetpack Compose и как его можно исправить В этой небольшой статье я расскажу об одном подводном кам
Один «подводный камень» в Jetpack Compose и как его можно исправить В этой небольшой статье я расскажу об одном подводном камне, с которым вы вполне можете столкнуться при использовании Jetpack Compose. Я также объясню, как его обойти. Это связано с распространением касаний, макетами и Поверхностью в composable. Статья: https://apptractor.ru/info/articles/odin-podvodnyy-kamen-v-jetpack-compose-i-kak-ego-mozhno-ispravit.html Платформа: Android

Compose Rich Editor - текстовый редактор для Jetpack Compose и Compose Multiplatform, полностью настраиваемый и поддерживающи
Compose Rich Editor - текстовый редактор для Jetpack Compose и Compose Multiplatform, полностью настраиваемый и поддерживающие общие функции ввода текста. Основные фичи - мультиплатформенность, простота в использовании (API Compose Rich Editor использует возможности языка Kotlin для простоты и минимального количества шаблонного кода), WYSIWYG. Compose Rich Editor на GitHub: https://github.com/MohamedRejeb/Compose-Rich-Editor Платформа: Android ⭐️: 764

Введение в Trio Компания Airbnb начала разработку Trio более двух лет назад и использует ее в продакшене уже более полутора л
Введение в Trio Компания Airbnb начала разработку Trio более двух лет назад и использует ее в продакшене уже более полутора лет. На нем построена значительная часть работающих экранов в Android-приложении Airbnb, и он позволил нашим инженерам создавать 100% функций в Compose UI. В этой серии статей мы рассмотрим, как Mavericks можно использовать в современных приложениях на базе Compose. Мы обсудим проблемы архитектуры на базе Compose и то, как Trio пытался их решить Статья: https://apptractor.ru/info/articles/vvedenie-v-trio.html Платформа: Android