AppFiles - Mobile Development
1.99K subscribers
2.55K photos
33 videos
8 files
3.43K links
Библиотеки, обучающие статьи, курсы и видео для (мобильных) разработчиков. Если есть вопросы - пишите @lbogolubov.
Download Telegram
Workflow - фреймворк для Kotlin и Swift с архитектурными примитивами от Square. Обеспечивает пресловутый однонаправленный поток данных (неизменяемые данные в каждом рабочем процессе передаются в одном направлении от источника к пользовательскому интерфейсу, а события - в одном направлении от пользовательского интерфейса к бизнес-логике), поддерживает написание бизнес-логики и сложной логики навигации пользовательского интерфейса в виде конечных автоматов (что позволяет уверенно рассуждать о состоянии и проверять правильность), оптимизирован для компоновки и масштабируемости функций и экранов, облегчает простые в написании модульные тесты для всей бизнес-логики приложения и помогает обеспечить их правильность.

Проект на GitHub: https://github.com/square/workflow-kotlin
Платформа: iOS/Android
⭐️: 539
Разрабатываем свое приложение для Android Auto

Платформа Android Auto от Google не является собственно операционной системой. Это мобильное приложение для Android, разработанное Google. Это расширение подключенного Android-смартфона на совместимый автомобиль, который может отображать некоторые приложения и зеркалировать сообщения на приборной панели автомобиля.

Перевод статьи: https://apptractor.ru/drdauto
Платформа: Android
👋: 1.2K
Как измерить производительность приложения с помощью MetricKit

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

Статья: https://apptractor.ru/mtrckt
Платформа: iOS
👋: 52
This media is not supported in your browser
VIEW IN TELEGRAM
SplitButton - кнопка меню с двумя функциями, предлагающая действие по умолчанию, а также возможность выбора другого действия из набора альтернатив.

Библиотека на GitHub: https://github.com/kojofosu/SplitButton
Платформа: Android
⭐️: 19
🧑‍💻 Тинькофф приглашает на пятый мобильный телеграм-митап

7 октября в 19:00, онлайн

Тема этой встречи — адаптация мобильного приложения для людей с ограниченными возможностями. С Михаилом Рубановым из Dodo Engineering поговорим про accessibility iOS-приложений:
📎 как незрячие и слабовидящие пользуются телефоном. Аудио интерфейс и тачпад вместо экрана;
📎 как пришли к тому, что нужно заниматься адаптацией мобильных приложений, насколько она востребована и как влияет на бизнес-показатели;
📎 что такое Dynamic Type и какие контролы позволяют проще верстать резиновый интерфейс;

Без технических подробностей тоже не обойдемся. Встречаемся в телеграм-чате, ссылка на него придет после регистрации: https://l.tinkoff.ru/mobile-meetup5
iOS 15 позволяет находить даже выключенный iPhone: как это сделано и есть ли опасность

В iOS 15.0 появилась новая функция: iPhone теперь можно найти при помощи Find My, даже когда iPhone «отключен». Как это работает? Представляет ли функция проблему для безопасности?

Оригинал: https://naehrdine.blogspot.com/2021/09/always-on-processor-magic-how-find-my.html
Перевод: https://habr.com/ru/post/581046/
Платформа: iOS
⬆️: +40
Official Raywenderlich.com Swift Style Guide - официальное руководство по стилю написанию Swift-кода от популярного сайта про iOS-разработку. Это руководство по стилю отличается от других, которые вы можете увидеть, поскольку основное внимание уделяется удобочитаемости для печати и Интернета. Авторы создали это руководство, чтобы код в книгах, учебных пособиях и статьях был красивым и согласованным, даже несмотря на то, что над книгами работают много разных авторов.

Общие цели этого руководства - ясность, последовательность и краткость.

Руководство на GitHub: https://github.com/raywenderlich/swift-style-guide
Платформа: iOS
⭐️: 11.7К
Осознанная архитектура: рефакторинг Headspace для масштабирования

Headspace были готовы к запуску новых функций для здоровья и фитнеса, но архитектура их приложений - нет. Компания потратила восемь месяцев на рефакторинг до архитектуры Model-View-ViewModel, переписывание на Kotlin и улучшение тестового покрытия с 15 до 80%. За период со 2 по 4 квартал 2020 года благодаря улучшенному опыту приложения MAU увеличилось на 15%, а оценки улучшились с 3.5 до 4.7.

Статья: https://apptractor.ru/hdsps
Платформа: Android
👋: 216
SSComposeCookBook - поваренная книга Jetpack Compose, коллекция основных и часто используемых UI-компонентов. Среди них App Abr, нижняя навигация, кпоки, элементы форм, FAB-ы, Drawer меню, списки, анимации и прочее.

Библиотека на GitHub: https://github.com/SimformSolutionsPvtLtd/SSComposeCookBook
Платформа: Android
⭐️: 61
GitHub Contribution Graphs for iOS - виджет для домашнего экрана iOS, показывающий вашу (или любого другого человека) работу с GitHub-ом. Есть разные размеры, цвета и выбор контрибьютора.

Проект на GitHub: https://github.com/AnderGoig/github-contributions-ios
Платформа: iOS
⭐️: 188
Orbit Multiplatform - MVI фреймворк для Kotlin Multiplatform и Android, библиотека, подобная Redux/MVI, как MVVM+. В ней простой, типобезопасный, расширяемый API в стиле корутин, мультиплатформенность с таргетингом на Android и iOS (альфа), полная поддержка корутинов Kotlin (в конце концов, Orbit построен на них), поддержка ViewModel вместе с SavedState, дополнительная простая библиотека модульных тестов, совместимость с RxJava, LiveData и т.д. через обертки корутинов.

Проект на GitHub: https://github.com/orbit-mvi/orbit-mvi
Платформа: Android
⭐️: 217
Почему мне не нравится открытый исходный код

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

ОСТОРОЖНО: автор явно чем-то обижен

Перевод статьи
: https://apptractor.ru/osdslk
Платформа: open source
👋: 849
Библиотека от нашего читателя. Page-turning for Android - библиотека для имитации переворачивания страниц в вашем приложении. Помимо загибания, библиотека поддерживает масштабирование и перетаскивание увеличенной области.

Библиотека на GitHub: https://github.com/AlShevelev/PageTurningLib
Платформа: Android
⭐️: 1
Повышения производительности разработки в крупномасштабном iOS-приложении: опыт Airbnb

Хотя Xcode — это инструмент, с которым инженеры iOS чувствуют себя наиболее комфортно, мы обнаружили, что Xcode невозможно изящно масштабировать для кодовой базы нашего размера и сложности. Мало того, что файлы проекта Xcode сложно проверять в пул реквестах, но и частота конфликтов слияния и состояний гонки в этих файлах проекта увеличивалась по мере того, как большая группа инженеров двигалась в разработке с высокой скоростью. Даже открытие Xcode может превратиться в проблему с большой кодовой базой. Более года назад мы замерили, что Xcode требуется от одной до двух минут, чтобы стать интерактивным при загрузке рабочего пространства со всем нашим исходным кодом.

Перевод статьи: https://apptractor.ru/bnbios
Платформа: iOS
👋: 516
RealFlags - библиотека для работы с фиче флагами, упрощает настройку флагов в вашей кодовой базе. Она разработана для Swift и обеспечивает простой и элегантный уровень абстракции для множества провайдеров (например, FirebaseRemoteConfig), которых вы можете опрашивать с вашим собственным приоритетом. RealFlags также поставляется с удобным инструментом для просмотра и изменения значений непосредственно во время работы приложения.

Проект на GitHub: https://github.com/immobiliare/RealFlags
Платформа: iOS
⭐️: 47
Kotlin Flow во ViewModel-ях: все сложно

Загрузка UI данных в приложениях Android может быть сложной задачей. Необходимо учитывать жизненные циклы различных экранов, а также изменения конфигурации, ведущие к разрушению и воссозданию Activity.

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

Изменения конфигурации происходят в различных случаях: при изменении ориентации устройства, переключении приложения в многооконный режим или изменении размера его окна, переключении в темный или светлый режим, изменении языкового стандарта или размеров шрифта по умолчанию и т.д.

Статья: https://apptractor.ru/ktlnfl
Платформа: Android
👋: 1.4K
Square Logcat - небольшой Kotlin API для логирования поверх нормального класса Log в Android. Сделан в Square для нужд своего PoS-приложения и пришел на замену Timber.

Библиотека на GitHub: https://github.com/square/logcat
Платформа: Android
⭐️: 560
Xcodes.app - простой способ переключаться между некоторыми версиями Xcode. Выводит список всех доступных версий, устанавливает любую, запускает любую выбранную по клику. Есть версия для командной строки.

Проект на GitHub: https://github.com/RobotsAndPencils/XcodesApp
Платформа: iOS
⭐️: 1.5K
В пятницу - pet-проект на выходные 😀 Doom Checkboxes - настоящая игра Doom, которая рендерится в браузере с помощью чекбоксов.

Проект на GitHub: https://github.com/healeycodes/doom-checkboxes
Статья: https://healeycodes.com/doom-rendered-via-checkboxes
Платформа: веб
⭐️: 33
Курс “Основы Android на Kotlin” завершен

Google всегда ищет способы сделать обучение разработке под Android доступным для всех. В 2020 году компания запустила бесплатный курс для самостоятельного изучения “Android Basics на Kotlin”. Сегодня выпущен последний модуль и теперь курс доступен от начала и до конца.

Курс: https://developer.android.com/courses/android-basics-kotlin/
Платформа: Android
OnboardKit - листаемые экраны для онбординга на Swift. С помощью библиотеки можно просто создать несколько экранов (текст, изображение, кнопка) и показать их пользователю с листанием.

Библиотека на GitHub: https://github.com/NikolaKirev/OnboardKit
Платформа: iOS
⭐️: 407