uz
Feedback
AppFiles - Mobile Development

AppFiles - Mobile Development

Kanalga Telegram’da o‘tish

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

Ko'proq ko'rsatish
2 170
Obunachilar
+124 soatlar
+17 kunlar
+630 kunlar
Postlar arxiv
Оптимизация приложения для сетевой доступности Доступность сети — важный аспект для приложений, полагающихся на сетевые возмо
Оптимизация приложения для сетевой доступности Доступность сети — важный аспект для приложений, полагающихся на сетевые возможности. Ваши пользователи не всегда будут иметь хорошее подключение к Интернету, поэтому оптимизация приложения для плохих сетевых условий очень важна. Мы можем использовать несколько методов для соответствующей оптимизации нашего приложения, но очень важно знать о распространенных ошибках, когда вы это делаете. После написания нескольких сетевых фреймворков и десятков приложений, пришло время поделиться с вами моими лучшими практиками, чтобы предотвратить ошибки, которые я совершил в прошлом. Статья: 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

Gifu добавляет в UIKit поддержку protocol-based performance-aware анимированных GIF. Не требует использования встроенного подкласса GIFImageView. Всю тяжелую работу выполняет класс Animator, а протокол GIFAnimatable раскрывает функциональность классам представления, которые соответствуют ему, используя расширения протокола. Animator имеет FrameStore, который хранит в памяти только ограниченное количество кадров, эффективно создавая буфер для анимации, не занимая всю доступную память. Такой подход делает загрузку больших GIF-файлов гораздо более дружественной к ресурсам. Gifu на GitHub: https://github.com/kaishin/Gifu Платформа: iOS ⭐️: 3K

Сделайте ваше iOS-приложение меньше с помощью динамических фреймворков Упаковать динамический фреймворк достаточно просто, од
Сделайте ваше iOS-приложение меньше с помощью динамических фреймворков Упаковать динамический фреймворк достаточно просто, однако для того, чтобы правильно дедуплицировать ресурсы и сделать приложение легким, вам придется пройти через множество недокументированных шагов. Статья: https://apptractor.ru/info/articles/sdelayte-vashe-ios-prilozhenie-menshe-s-pomoschyu-dinamicheskih-freymvorkov.html Платформа: iOS

Context receivers — новые extension functions Поговорим сегодня про context receivers — фиче Kotlin, про которую я узнал давн
Context receivers — новые extension functions Поговорим сегодня про context receivers — фиче Kotlin, про которую я узнал давно, но смог найти применение лишь пару месяцев назад. Расскажу о том, что такое context receivers, где их можно использовать, и, конечно же, про «успешный успех» — минус 60% самописного DI в Ozon ID SDK. Статья: https://habr.com/ru/companies/ozontech/articles/802641/ Платформа: Android

Privacy Manifest: что нужно о нём знать для внедрения в проект На работе я столкнулся с задачей внедрения Privacy Manifest в
Privacy Manifest: что нужно о нём знать для внедрения в проект На работе я столкнулся с задачей внедрения Privacy Manifest в проект. Изучение вопроса началось с прочтения документации Apple, а продолжилось просмотром WWDC-сессии на тему конфиденциальности. После внедрения оказалось, что для корректной работы над задачей нужно изучить больше информации. Поэтому я решил поделиться опытом в формате инструкции. Покажу, как внедрять Privacy Manifest на примере вымышленного проекта, и дам практические советы по внедрению манифеста конфиденциальности. Статья: https://habr.com/ru/companies/sberbank/articles/803445/ Платформа: iOS

Keyguard - это альтернативный клиент для платформы Bitwarden (открытый менеджер паролей), созданный для обеспечения наилучшег
Keyguard - это альтернативный клиент для платформы Bitwarden (открытый менеджер паролей), созданный для обеспечения наилучшего пользовательского опыта. Особенности Keyguard - Material You, мощный и быстрый поиск, поиск записи с дублированными паролями, неактивной двух-факторной аутентификацией, незащищенными веб-сайтами и дублированными, неполными или просроченными записями, прекрасная производительность, поддержка автозаполнения, поддержка множественных учетных записей с безопасным входом и двух-факторной аутентификацией, загрузка больших файлов в фоне, красивая светлая и черная темы, поддержка Chrome OS. В дополнение, у Keyguard есть притягивающие глаз анимации и плавность работы, которую вы ожидаете от лучших современных приложений. Keyguard на GitHub: https://github.com/AChep/keyguard-app Платформа: Android ⭐️: 529

Производительность - ключевая характеристика для многих приложений и фреймворков. Пакет Benchmark позволяет легко измерять и
Производительность - ключевая характеристика для многих приложений и фреймворков. Пакет Benchmark позволяет легко измерять и отслеживать множество различных показателей, влияющих на производительность, таких как загрузка процессора, ARC-трафик, использование памяти, использование ресурсов операционной системы, таких как потоки и системные вызовы, а также полностью пользовательские счетчики метрик. Benchmark работает как на macOS, так и на Linux и поддерживает несколько ключевых рабочих сценариев: • Автоматизированная проверка регрессии производительности пул-реквеста путем сравнения показателей с основной веткой • Автоматизированная проверка пул-реквеста по сравнению с предварительно записанным абсолютным пороговым значением, подходящая, например, для регрессионных тестов • Ручное сравнение нескольких базовых показателей производительности для итеративной или A/B работы отдельного разработчика • Экспорт результатов бенчмарка в нескольких форматах для анализа или визуализации • Запуск профилировщика Instruments на наборе бенчмарков непосредственно из Xcode Benchmark подходит как для небольших специальных бенчмарков, ориентированных на рантайм, так и для более масштабных бенчмарков, которые заботятся о нескольких расширенных метриках. Benchmark на GitHub: https://github.com/ordo-one/package-benchmark Платформа: iOS ⭐️: 214

SimpMusic - открытый музыкальный клиент YouTube Music для Android со многими функциями. Из интересного есть кеширование для о
SimpMusic - открытый музыкальный клиент YouTube Music для Android со многими функциями. Из интересного есть кеширование для оффлайн-проигрывания, отсутствие рекламы, слова песен из Musixmatch, Spotify и транскрипции YouTube с переводом, предложение песен на основе ИИ, поддержка Android Auto. SimpMusic на GitHub: https://github.com/maxrave-dev/SimpMusic Платформа: Android ⭐️: 1.1K

Исходников нет, но мы не сдадимся: как и зачем я портировал более старый Android, чем стоял «с завода»? Моддинг-сцена с разра
Исходников нет, но мы не сдадимся: как и зачем я портировал более старый Android, чем стоял «с завода»? Моддинг-сцена с разработкой и портированием кастомных прошивок для Android-устройств существует вот уже более 10 лет. В основном, энтузиасты пытаются проапгрейдить свои устройства путем портирования более свежих версий Android, чем предлагает производитель девайса. Чего уж говорить, если Galaxy S III, которому уже 12 лет стукнуло, получил неофициальный апгрейд до Android 14. Порой мне в голову приходят различные, весьма странные моддерские мысли: например, почему бы не портировать на старенький смартфон… ещё более старую версию Android, дабы посмотреть «что будет». Казалось бы «портировал и портировал», но в процессе работы я столкнулся с множеством интересных нюансов и особенностей работы Android, о которых хотел бы рассказать и вам. Статья: https://habr.com/ru/companies/timeweb/articles/802591/ Платформа: Android

SQLite.swift - типобезопасный слой чистого Swift поверх SQLite3. Библиотека обеспечивает проверку синтаксиса выражений и наме
SQLite.swift - типобезопасный слой чистого Swift поверх SQLite3. Библиотека обеспечивает проверку синтаксиса выражений и намерений SQL-операторов во время компиляции, предоставляя массу полезных простых в использовании функций для работы с базой данных. SQLite.swift на GitHub: https://github.com/stephencelis/SQLite.swift Платформа: iOS ⭐️: 9.4K

К чему с годами приводит работа с Dependency Injection и Service Locator Глубину осознания той или иной библиотеки можно пров
К чему с годами приводит работа с Dependency Injection и Service Locator Глубину осознания той или иной библиотеки можно проверить, написав её самостоятельно. Возможно, новорожденное решение будет ограниченным и лишённым всякой аудитории, но оно будет навеки принадлежать её автору и подтверждать реальное понимание работы технологии. Так произошло и со мной. Решил написать полноценный функционал для работы с зависимостями и, так как я Android-разработчик, адаптировать для работы в моей привычной среде и для моих таких же привычных задач. А делюсь я написанным творением с наивной мыслью, что это сделает кого-то лучше в техническом плане. Статья: https://habr.com/ru/companies/alfa/articles/802587/ Платформа: Android

Better Open With заменяет диалог "Открыть файл с помощью" в Android. Приложение визуально отображает все действия по умолчани
Better Open With заменяет диалог "Открыть файл с помощью" в Android. Приложение визуально отображает все действия по умолчанию для открытия ссылок, изображений, PDF и многих других типов файлов, перечисляя все возможные приложения, которые вы обычно видите. В отличие от стандартного диалога, всплывающее окно показывается в течение нескольких секунд (по умолчанию 5, но это можно настроить). В окне предлагается выбрать приложение, после выбора оно автоматически будет открывать данный тип файлов. В отличии от других подобных приложений, в этом вы просто ждете запуска приложения по умолчанию (без необходимости нажимать) или выбираете другое. Better Open With на GitHub: https://github.com/Giorgi/BetterOpenWith Платформа: Android ⭐️: 23

Adwaita for Swift - это фреймворк для создания пользовательских интерфейсов для GNOME с API, похожим на SwiftUI. Основная цел
Adwaita for Swift - это фреймворк для создания пользовательских интерфейсов для GNOME с API, похожим на SwiftUI. Основная цель Adwaita - предоставить iOS-разработчикам простой в использовании интерфейс для создания GNOME-приложений. Бэкэнд должен оставаться как можно более простым, не ограничивая при этом возможности Libadwaita и GTK. Adwaita на GitHub: https://github.com/AparokshaUI/adwaita-swift Платформа: iOS/кроссплатформа ⭐️: 295

Инструментальные цепочки Gradle редко бывают хорошей идеей Вас никто не осудит за то, что вы считаете, что цепочки инструмент
Инструментальные цепочки Gradle редко бывают хорошей идеей Вас никто не осудит за то, что вы считаете, что цепочки инструментов Java - это лучший способ управления компиляцией. Однако они редко бывают хорошей идеей. Давайте разберемся, почему. Статья: https://apptractor.ru/info/articles/instrumentalnye-tsepochki-gradle-redko-byvayut-horoshey-ideey.html Платформа: Android

Ignite - это конструктор статических сайтов для разработчиков Swift, предлагающий выразительный и мощный API для создания кра
Ignite - это конструктор статических сайтов для разработчиков Swift, предлагающий выразительный и мощный API для создания красивых сайтов, которые отлично работают на всех устройствах. Ignite не пытается преобразовать код SwiftUI в HTML или просто сопоставить HTML-теги с кодом Swift. Вместо этого он стремится использовать синтаксис, похожий на SwiftUI, чтобы помочь вам создавать прекрасные веб-сайты, даже если вы не знаете HTML или CSS. Ignite на GitHub: https://github.com/twostraws/Ignite Платформа: iOS ⭐️: 562

Делаем DVD-заставку на SwiftUI Я подумал, что было бы забавно воссоздать эту заставку с помощью SwiftUI. Признаться, для этого нет никакой реальной причины, кроме того, что мне предстоит долгий перелет и нужно убить немного времени. Статья: https://apptractor.ru/info/articles/delaem-dvd-zastavku-na-swiftui.html Платформа: iOS