fa
Feedback
AppFiles - Mobile Development

AppFiles - Mobile Development

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

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

نمایش بیشتر
2 163
مشترکین
-224 ساعت
-17 روز
اطلاعاتی وجود ندارد30 روز
آرشیو پست ها
Kotlin Coroutines под капотом: CoroutineContext и CoroutineScope Structured Concurrency это одна из главных фишек Kotlin Coro
Kotlin Coroutines под капотом: CoroutineContext и CoroutineScope Structured Concurrency это одна из главных фишек Kotlin Coroutines, позволяющая оперировать иерархиями корутин через единый интерфейс, благодаря такой организации можно легко отменить сразу все корутины, имея ссылку только на самый высокоуровневый объект. В этой статье я разберу две базовые штуки на основе которых строится Structured Concurrency - CoroutineContext и CoroutineScope. Поехали! Статья: https://habr.com/ru/articles/883588/ Платформа: Android

Как мы «рисовали» учет времени на iOS с помощью библиотеки Charts Недавно мы обновляли наше приложение родительского контроля
Как мы «рисовали» учет времени на iOS с помощью библиотеки Charts Недавно мы обновляли наше приложение родительского контроля и мониторинга Kaspersky Safe Kids — и в ходе редизайна пришли к выводу, что «родительские» графики активности детского устройства стали громоздкими и неудобными. Нам же требовался виджет, в котором была бы видна актуальная информация о времени использования устройства, интервалах блокировок и еще ряд полезных деталей. В статье расскажу, как мы быстро решили эту проблему благодаря open-source-библиотеке Charts: в чем ее особенности и нюансы, как мы ей пользуемся и как смогли локализовать такую систему даже для арабских пользователей. Статья: https://habr.com/ru/companies/kaspersky/articles/881578/ Платформа: iOS

SongSync - простое приложение для Android, позволяющее загружать тексты песен (файлы .lrc) для вашей музыкальной библиотеки.
SongSync - простое приложение для Android, позволяющее загружать тексты песен (файлы .lrc) для вашей музыкальной библиотеки. Поиск текстов, загрузка текстов песен для всей музыкальной библиотеки одним тапом, использует различных провайдеров. SongSync на GitHub: https://github.com/Lambada10/SongSync Платформа: Android ⭐️: 685

Сколько потоков использует ваш сетевой клиент? Одна из популярных причин использования корутин в Kotlin — ограничение количес
Сколько потоков использует ваш сетевой клиент? Одна из популярных причин использования корутин в Kotlin — ограничение количества потоков, используемых в приложении. Каждый поток — это затраты, особенно на память, но также и на внимание процессора. Мы вводим корутины, чтобы ограничить количество потоков, используемых в наших приложениях. В конце концов, с помощью корутинов мы можем добиться параллелизма без лишних потоков. Однако наши усилия часто срываются из-за используемых библиотек. В этой статье я расскажу, сколько потоков используют самые популярные сетевые клиенты, и как вы можете проверить это сами. Статья: https://apptractor.ru/info/articles/skolko-potokov-ispolzuet-vash-setevoy-klient.html Платформа: Android

Анализ Android-фич на доступность и внедрение accessibility в процесс разработки Совместная работа с командой дизайнеров помо
Анализ Android-фич на доступность и внедрение accessibility в процесс разработки Совместная работа с командой дизайнеров помогла сделать функциональность доступнее. Следующим шагом было отдать на проверку наши фичи команде цифровой доступности, которая также оценила проделанный труд. Эта работа была очень продуктивной, каждый пытался встать на сторону инклюзивности. Оказалось, это не так уж трудно, стоит только проработать детали на этапе дизайна фичи. Буду рада, если эта статья вдохновит и вас внедрять доступность в разработку приложений. Статья: https://habr.com/ru/companies/vk/articles/881908/ Платформа: Android

Monal - кроссплатформенный современный открытый XMPP-клиент для iOS и macOS. Среди фич - отсутствие рекламы и отслеживания ли
Monal - кроссплатформенный современный открытый XMPP-клиент для iOS и macOS. Среди фич - отсутствие рекламы и отслеживания личной информации, зашифрованные чаты, работа с корпоративными XMPP-серверами, требующими VPN, поддержка групповых чатов, аудио/видео звонков. Monal на GitHub: https://github.com/monal-im/Monal Платформа: iOS ⭐️: 540

🚀 Хотите вывести свои Flutter-приложения на новый уровень? Дополненная реальность — это будущее мобильных технологий, и мы п
🚀 Хотите вывести свои Flutter-приложения на новый уровень? Дополненная реальность — это будущее мобильных технологий, и мы покажем, как её использовать во Flutter! 📅 19 февраля в 🕗 20:00 мск вы узнаете, как создавать AR-приложения с помощью ARKit, ARCore и Flutter: от распознавания поверхностей до взаимодействия с 3D-объектами. 👨‍💻 Спикер Дмитрий Золотов — Flutter+Kotlin Developer в Yandex. Начните внедрять AR в свои проекты, создавайте уникальный пользовательский опыт и станьте востребованным разработчиком. 👇Регистрируйтесь на открытый урок перед стартом курса «Flutter Mobile Developer». Участникам — скидка на обучение! Записаться: https://otus.pw/3TwO/ Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Осваиваем скроллинг в SwiftUI: реализация кастомной прокрутки Настроив ScrollTargetBehavior, мы не только добились горизонтального пейджинга, но и можем расширить его для поддержки вертикальной прокрутки или более сложной логики прокрутки. Например, комбинируя скорость прокрутки (velocity), можно реализовать многостраничную прокрутку при быстром пролистывании и одностраничную при легком пролистывании. Кроме того, scrollTargetBehavior может служить инструментом для динамической загрузки данных. По сравнению с использованием onAppear в ленивых представлениях, оно позволяет нам запускать загрузку данных раньше во время прокрутки, тем самым улучшая проблему скачка прокрутки, вызванную динамической загрузкой данных в ленивых контейнерах SwiftUI. Хотя onScrollGeometryChange позволяет добиться аналогичной функциональности, он доступен только в iOS 18 и более поздних версиях, в то время как ScrollTargetBehavior поддерживается с iOS 17, что делает его более широко применимым. Статья: https://apptractor.ru/info/articles/osvaivaem-skrolling-v-swiftui.html Платформа: iOS

Под капотом у пользовательского интерфейса SwiftUI — Детальный разбор: Часть 1 — UIKit Главная цель этой серии статей — предо
Под капотом у пользовательского интерфейса SwiftUI — Детальный разбор: Часть 1 — UIKit Главная цель этой серии статей — предоставить вам полный обзор того, как UIKit и SwiftUI устроены под капотом. Сначала мы обсудим UIKit, а в следующей части перейдем к SwiftUI. Статья: https://habr.com/ru/companies/otus/articles/883522/ Платформа: iOS

Секреты мобильной разработки в логистике: разгоняем MVVM до максимума Сегодня я хочу поделиться, как с помощью грамотно подоб
Секреты мобильной разработки в логистике: разгоняем MVVM до максимума Сегодня я хочу поделиться, как с помощью грамотно подобранной архитектуры нам удалось упростить, стандартизировать и даже ускорить разработку мобильных приложений логистики, которых у нас очень много: приложение для курьеров, приложение для пунктов выдачи заказов, приложения для сортировочных центров и так далее. Статья: https://habr.com/ru/companies/yandex/articles/883202/ Платформа: разработка

Как мы сокращали размер JSONʼа в SDUI Шаблонизация существенно уменьшила объём JSON при работе с однотипными элементами. Резу
Как мы сокращали размер JSONʼа в SDUI Шаблонизация существенно уменьшила объём JSON при работе с однотипными элементами. Результат для нашего примера: • Сокращение на 5 элементах составило около 45%. • При 100 элементах — примерно 74% (учитывая количество символов, а не строк). Но помимо уменьшения объёма, JSON стал более читабельным благодаря четкому разделению данных и статичной разметки. Делаю вывод, что усилия не были напрасны. Статья: https://habr.com/ru/companies/alfa/articles/882054/ Платформа: разработка

KMP Liquid Slider - “жидкий” слайдер на Jetpack Compose с широкими возможностями настройки. Оригинал, судя по всему, можно найти тут. KMP Liquid Slider на GitHub: https://github.com/mejdi14/KMP-Liquid-Slider Платформа: Android ⭐️: 10

Основы SwiftLint: упорядочивание качества кода Swift В статье автор подробно рассказывает о том, как SwiftLint помогает улучшить качество кода в Swift-проектах. Инструмент автоматически проверяет стиль кода, выявляет потенциальные ошибки и обеспечивает соблюдение стандартов кодирования, что способствует поддержанию чистоты и согласованности кода. Интеграция SwiftLint в проект позволяет разработчикам автоматизировать процесс проверки кода, снижая количество ошибок и улучшая читаемость. Использование такого инструмента способствует повышению эффективности командной работы и облегчает сопровождение проектов в долгосрочной перспективе. Статья: https://medium.com/icommunity/swiftlint-101-streamline-your-swift-code-quality-681745bbe38d Платформа: iOS

Что такое перерисовка и как с ней бороться Рендеринг, то есть отрисовка пользовательского интерфейса на экране мобильного уст
Что такое перерисовка и как с ней бороться Рендеринг, то есть отрисовка пользовательского интерфейса на экране мобильного устройства, влияет на восприятие качества каждым пользователем приложения. Глаза требуют плавности при выводе изображений и текста на экран. Поэтому лучше избегать медленной отзывчивости и задержек при отрисовке на экране. В этой статье я расскажу, что такое перерисовки (Overdraw), как они влияют на производительность рендеринга и как можно их исправить. Вперед! Статья: https://apptractor.ru/info/articles/chto-takoe-pererisovka-i-kak-s-ney-borotsya.html Платформа: Android

Fluent - это ORM (Object-Relational Mapper) фреймворк для Swift. Он использует преимущества сильной системы типов Swift, чтоб
Fluent - это ORM (Object-Relational Mapper) фреймворк для Swift. Он использует преимущества сильной системы типов Swift, чтобы обеспечить простой в использовании интерфейс для вашей базы данных. Использование Fluent сосредоточено на создании типов моделей, которые представляют структуры данных в вашей базе данных. Эти модели затем используются для выполнения операций создания, чтения, обновления и удаления данных вместо написания сырых запросов, что позволяет писать запросы, безопасные для типов и не зависящие от базы данных. Пример:
let planets = try await Planet.query(on: database)
    .filter(\.$type == .gasGiant)
    .sort(\.$name)
    .with(\.$star)
    .all()
Fluent на GitHub: https://github.com/vapor/fluent-kit Платформа: iOS ⭐️: 223

⚡️Кросс-платформа — твой новый шаг в развитии iOS! Ты знаешь, как делать приложения для iOS. А теперь представь, что один и т
⚡️Кросс-платформа — твой новый шаг в развитии iOS! Ты знаешь, как делать приложения для iOS. А теперь представь, что один и тот же код может работать и на iOS, и на Android. Пора узнать, как реализовать это с помощью KMP? На открытом вебинаре 19 февраля в 20:00 мск ты узнаешь: - Что такое кросс-платформенная разработка и почему она — будущее; - Как сделать iOS-приложение мультиплатформенным; - Как использовать актуальные инструменты Compose Multiplatform. Зарегистрируйся на открытый урок в преддверие старта курса «iOS Developer»! Все участники получат скидку на обучение. Встречаемся 19 февраля в 20:00 мск. 👉Регистрируйтесь: https://otus.pw/RkdG/ Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

SAST приложений под Android: делаем код безопаснее Статическое тестирование безопасности приложений (SAST) используется для о
SAST приложений под Android: делаем код безопаснее Статическое тестирование безопасности приложений (SAST) используется для обеспечения безопасности программного обеспечения путём анализа исходного кода программы с целью выявления источников уязвимостей. Мы будем говорить об инструментах для анализа исходного кода для Android. Здесь мы сразу договоримся, что рассматриваться будут отдельные утилиты, не привязанные к какой‑либо IDE и легко интегрируемые в конвейер CI/CD. Статья: https://habr.com/ru/companies/otus/articles/881110/ Платформа: Android

Осваиваем скроллинг в SwiftUI: реализация кастомного пейджинга Начиная с iOS 17 в SwiftUI появилась функция scrollTargetBehav
Осваиваем скроллинг в SwiftUI: реализация кастомного пейджинга Начиная с iOS 17 в SwiftUI появилась функция scrollTargetBehavior, позволяющая разработчикам управлять поведением прокрутки с большей точностью. Будь то выравнивание представлений в состоянии покоя или реализация пользовательских эффектов пагинации, ScrollTargetBehavior обеспечивает надежную поддержку. Что еще более важно, разработчики могут создавать собственные реализации ScrollTargetBehavior для удовлетворения конкретных потребностей. В этой статье на реальном примере шаг за шагом будет показано, как использовать scrollTargetBehavior и в конечном итоге реализовать пользовательскую логику управления скроллингом. Статья: https://fatbobman.com/en/posts/mastering-swiftui-scrolling-implementing-custom-paging/ Платформа: iOS

Поддержка webextensions под Андроид Сегодня я хочу представить очередную свою работу, точнее рабочий черновик. Да, я в курсе — дураку полработы не показывают, но так и на хабре то не дураки сидят. Итак, сегодня я расскажу как перенес поддержку webextensions в chromium под Андроид, что работает а что не работает, как пользоваться тем что работает и когда будет работать то что не работает. Статья: https://habr.com/ru/articles/882640/ Платформа: Android

Sketch - это библиотека загрузки изображений, специально разработанная для Compose Multiplatform и Android View. Она обладает
Sketch - это библиотека загрузки изображений, специально разработанная для Compose Multiplatform и Android View. Она обладает следующими возможностями: • Поддерживает загрузку изображений из различных источников, таких как http, файлы, ресурсы Compose, ассеты и т.д. • Поддержка трехуровневого кэширования, автоматическая отмена запросов, автоматическая регулировка размера изображений, автоматический поворот изображений в соответствии с ориентацией Exif и т. д. • Поддержка анимированных изображений, SVG-изображений, Base64-изображений и видеокадров. • Поддержка расширений различных аспектов, таких как кэширование, декодирование, трансформация, переход, плейсхолдеры и т.д. • Практичные фичи, такие как приостановка загрузки при работе в сотовой сети, приостановка загрузки при прокрутке списка, значки типа изображения, индикаторы прогресса загрузки и т.д. Библиотека полностью основана на Kotlin и корутинах. Sketch Image Loader на GitHub: https://github.com/panpf/sketch Платформа: Android ⭐️: 2.1K