AppFiles - Mobile Development
2K subscribers
2.55K photos
33 videos
8 files
3.43K links
Библиотеки, обучающие статьи, курсы и видео для (мобильных) разработчиков. Если есть вопросы - пишите @lbogolubov.
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
ScrollViewLoader - простая утилита, помогающая загружать содержимое в ScrollView в SwiftUI и организовывать бесконечные списки прокрутки. По умолчанию колбек срабатывает, когда расстояние до нижней части прокручиваемого содержимого составляет менее 50% от видимой высоты представления прокрутки. Впрочем, это можно изменить.

ScrollViewLoader на GitHub: https://github.com/gh123man/ScrollViewLoader
Платформа: iOS
⭐️: 11
SOLID в Swift. Простое объяснение с примерами для начинающих

Принципы SOLID — это набор пяти основных принципов, которые помогают разработчикам создавать более понятный, гибкий и поддерживаемый код. Так же знание этих принципов довольно часто спрашивают на собеседованиях. Давайте рассмотрим каждый из этих принципов с примерами нарушения и соблюдения на языке Swift.

Статья: https://habr.com/ru/articles/746410/
Платформа: iOS
Разбор тестового задания на позицию Android Developer

В данной статье я хотел бы разобрать тестовое задание на позицию Android developer и продемонстрировать свой способ решения.

Статья: https://habr.com/ru/articles/746146/
Платформа: Android
👍1
InnerTune - открытый клиент для проигрывания музыки с YouTube. Сделан в Material 3, умеет проигрывать музыку без рекламы, воспроизводить в фоне, искать, управлять библиотеками, кешировать и играть в офлайне, нормализовать громкость и прочее.

InnerTune на GitHub: https://github.com/z-huang/InnerTune
Платформа: Android
⭐️: 1.5K
👍2
Анализ приложений Threads

1. Android-приложение Threads
2. Сходство с приложением Instagram
3. iOS-приложение Threads
4. Время запуска Threads
5. Итог

Статья: https://apptractor.ru/develop/analiz-prilozheniy-threads.html
Платформа: iOS/Android
🔥1
Queryable - открытое приложения для iOS, которое использует модель CLIP (Contrastive Language-Image Pre-Training) для автономного поиска в альбоме Фотографий.

В отличие от функции поиска с распознаванием объектов, встроенной в галерею iOS, Queryable позволяет использовать для поиска в галерее фразы на естественном языке, например "коричневая собака сидит на скамейке". Приложение работает в автономном режиме, гарантируя, что конфиденциальность вашего альбома не будет передана никому, включая Apple/Google.

Queryable на GitHub: https://github.com/mazzzystar/Queryable
Платформа: iOS
⭐️: 989
Как я перестал волноваться и полюбил ошибки в Kotlin корутинах: Мифы обработки ошибок в корутинах

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

Статья: https://habr.com/ru/articles/747146/
Платформа: Android
👍1
Модуляризация мобильных приложений в масштабе

Преобразование монолитного приложения в модульную архитектуру - это путь к масштабируемости, и очень важно установить набор правил для построения масштабируемого проекта. Эти правила стали нашим фонарем, позволяющим видеть и решать возникающие проблемы.

Статья: https://engineering.teknasyon.com/modularization-of-mobile-applications-at-scale-df57815ff19a
Платформа: разработка

Поставьте 👍, если хотите эту статью на русском.
👍61
Используем атрибут @backDeployed для расширения доступности функций

TLDR: для приложений практически бесполезно, может пригодиться тем, кто делает SDK.

В SE 376 Function Back Deployment атрибут был представлен в качестве предложения, после чего он был впервые реализован в Swift 5.8. Многие разработчики ожидали, что эта новая возможность позволит Apple осуществлять обратное развертывание многих функций SwiftUI, однако она оказалась недостаточно гибкой. Давайте погрузимся в эту тему!

Статья: https://apptractor.ru/info/articles/backdeployed.html
Платформа: iOS
AppFiles - Mobile Development
Reader - мультиплатформенный (iOS и Android) RSS-ридер, сделанный на Kotlin Mutliplatform и Compose Multiplatform. Кроме них из большого есть Ktor, SQLDelight, Decompose и Kotlin-inject. Reader на GitHub: https://github.com/msasikanth/reader Платформа: кроссплатформа…
Redwood - это библиотека для создания реактивных пользовательских интерфейсов для Android, iOS и веб на языке Kotlin. Redwood объединяет в себе компилятор Compose, дизайн систему и набор экранов, специфичных для конкретной платформы. Redwood - это библиотека, а не фреймворк. Она предназначена для постепенного внедрения в существующий Android-проект с минимальным риском. Использование Redwood в iOS или веб-приложениях более рискованно. В целом авторы говоря, что в настоящее время Redwood находится в стадии разработки и не готов к использованию. Однако вы уже можете протестировать сам подход.

Redwood на GitHub: https://github.com/cashapp/redwood
Платформа: кроссплатформа
⭐️: 1.1K
1
Храним краску с умом: как организовать ресурсы в многомодульном проекте

Привет, меня зовут Никита Чернобрисов, и я делаю Android-приложения в Doubletapp. Полтора года назад мы начали работать над приложением «Яндекс Путешествий» — само приложение доступно в Play Store, а про кейс подробно можно прочитать тут. При старте у нас возникло много архитектурных холиваров, в частности о том, как хранить ресурсы и пользоваться ими. И, как это и заведено, первые решения оказались неудачными. Я расскажу вам, дорогие читатели, удары каких граблей оставили больше следов и к чему мы пришли.

Статья: https://habr.com/ru/companies/doubletapp/articles/745606/
Платформа: Android
AppFiles - Mobile Development
Модуляризация мобильных приложений в масштабе Преобразование монолитного приложения в модульную архитектуру - это путь к масштабируемости, и очень важно установить набор правил для построения масштабируемого проекта. Эти правила стали нашим фонарем, позволяющим…
Модуляризация мобильных приложений в масштабе

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

• Модули функций
• Модули координаторов
• Модули плагинов
• Модули библиотек
• Модули запуска (лаунчеры)

Перевод: https://apptractor.ru/info/articles/modulyarizatsiya-mobilnyh-prilozheniy-v-masshtabe.html
Платформа: вообще Android, но в целом разработка
Плавающая кнопка действия в SwiftUI

Floating Action Button (FAB) - это элемент пользовательского интерфейса, используемый в Android и Material Design. Он обозначает кнопку, которая запускает основное действие на конкретном экране.

Несмотря на то что этот элемент пришел из Android, его можно увидеть и в некоторых приложениях для iOS.

Статья: https://sarunw.com/posts/floating-action-button-in-swiftui/
Платформа: iOS
1
Swift HTTP Types - это библиотеки работы с HTTP-запросами от Apple, предназначенные как для клиентов, так и для серверов. Они обеспечивают общий набор представлений для HTTP-запросов и ответов, ориентируясь на современные возможности HTTP. В ней реализованы основные форматы - HTTPRequest, HTTPResponse и HTTPFields, а также заложены основы для работы со всеми новыми возможностями.

Swift HTTP Types на GitHub: https://github.com/apple/swift-http-types
Платформа: iOS
⭐️: 452
Видео и подкасты за неделю

• (iOS Ru) Что делать iOS-разработчикам в России?
• (iOS En) SwiftUI Repeatable Button
• (iOS En) SwiftUI 5: What’s New In ScrollView
• (iOS En) Build A To Do List App using SwiftData (Swift Data Tutorials)
• (iOS En) Becoming an “iOS-lite” developer
• (iOS En) Build a Live Activity Realtime Polls App with Firebase & APNS Push Token
• (iOS En) SwiftUI Data Flow with the new Observation
• (iOS En) SwiftUI Search Bar - How to work with searchable in your iOS and macOS apps
• (And Ru) Как избежать хаоса: навигация как отдельный логический уровень
• (And En) Now in Android: 86 - Google Play at I/O, Pixel Fold and Tablet, Google Developer Expert
• (And En) WorkManager - Android Basics 2023
• (Crs Ru) Как собрать iOS-фреймворк из исходных файлов на Kotlin
• (Crs En) Kotlin Multiplatform in Production
• (Crs En) MVI Compose Multiplatform Contacts List App With Photos (iOS & Android)
• (Dev Ru) Игры, в которые играют люди на собеседованиях
• (Dev Ru) Podlodka #324: холакратия — самоорганизующиеся команды
• (Dev Ru) Как мы за полгода построили работу команды data инженеров от хаоса до порядка (Яна Жежер, СберМаркет)
• (Dev En) Design and Prototype for iOS 17 in Figma

Посмотрели какое-то другое интересное видео? Отправьте боту -> 🧑🏻‍💻
👍2🤮2
This media is not supported in your browser
VIEW IN TELEGRAM
Wavy Slider - это анимированный волнистый слайдер в материальном стиле и индикатор выполнения, аналогичный тому, который появился в медиаплеере Android 13.

Библиотека может быть использована в мультиплатформенных проектах Compose как обычный Material Slider.

Поддерживаются такие целевые платформы, как Android, Desktop и JavaScript.

Она также может быть использована в обычном одноплатформенном Android-проекте с помощью Jetpack Compose или (возможно) XML-видов.

Wavy Slider на GitHub: https://github.com/mahozad/wavy-slider
Платформа: Android
⭐️: 12
Полезные iOS-инструменты для дебаггинга

Любой разработчик наверняка знает, что создание высококачественного приложения требует не только написания кода. Одна из важнейших составляющих достижения успеха в этом деле — эффективная отладка. К счастью, существует множество инструментов, которые помогут быстро и эффективно диагностировать, а также устранять проблемы. В этой статье мы подробно рассмотрим нативные и сторонние инструменты, доступные для отладки iOS-приложений, как использовать эти инструменты для диагностики и устранения распространенных проблем.

Статья: https://habr.com/ru/companies/simbirsoft/articles/747462/
Платформа: iOS
1👎1🔥1
Делаем эмулятор Android через Terminal

В Android разработке может наступить момент, когда для тестирования приложения на различных устройствах может потребоваться виртуальное устройство. Эмулятор Android легко можно создать с помощью GUI Android Studio, но также можно и с помощью командной строки на macOS. В этой статье я расскажу вам, как именно это сделать!

Статья: https://habr.com/ru/companies/wrike/articles/747154/
Платформа: Android