AppFiles - Mobile Development
1.99K subscribers
2.55K photos
33 videos
8 files
3.43K links
Библиотеки, обучающие статьи, курсы и видео для (мобильных) разработчиков. Если есть вопросы - пишите @lbogolubov.
Download Telegram
Осознанная архитектура: рефакторинг 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
Facebook открыл статический анализатор кода для Android — Mariana Trench

Facebook открыл исходный код Mariana Trench (“Марианская впадина”), инструмента, который используется в компании для выявления и предотвращения ошибок безопасности и конфиденциальности в приложениях Android и Java. Помимо создания системы статического анализа, Facebook также создал инструмент с открытым исходным кодом для просмотра и анализа полученных результатов. Это Static Analysis Post Processor (Постпроцессор статического анализа, SAPP). SAPP берет исходные данные из Mariana Trench и наглядно демонстрирует, как данные могут потенциально перетекать из источника в приемники, чтобы эксперты могли понять оценку инструмента.

Новость: https://apptractor.ru/info/news/mariana-trench.html
GitHub: https://github.com/facebook/mariana-trench
Платформа: Android
⭐️: 581
Einsen - это приложение для определения приоритетов, которое использует технику матрицы Эйзенхауэра в качестве рабочего процесса для определения приоритетов в списке задач. Создано оно для демонстрации использования Jetpack Compose с современными компонентами архитектуры Android и архитектурой MVVM.

Проект на GitHub: https://github.com/Spikeysanju/Einsen
Платформа: Android
⭐️: 158
Как мы автоматизируем iOS: настройка Gitlab CI + Fastlane + Firebase + ItunesConnect

В этой статье я хочу подробно рассказать о пути настройки Gitlab CI + Fastlane + Firebase + Testflight. Примеры приводятся на основе одного проекта, в котором участвовали 10 разработчиков. В конце будут описаны проблемы, с которыми мы сталкивались, и их решения.

Для кого будет полезен этот опыт? Для всех, кому нужен CI/CD и кто сидит на Gitlab. Для Github будет другая связка, например с Travis, — остальные компоненты неизменны. В нашей команде все используют Gitlab CI, Fastlane вместо голого xcodebuild для быстроты и удобства разработки, Firebase и Testflight.

Статья: https://apptractor.ru/cicdios
Платформа: iOS
⬆️: +12
SwiftyWalkthrough - это библиотека для создания отличных пошаговых инструкций в ваших приложениях, написанная на Swift. Вы можете использовать библиотеку, чтобы пользователи могли перемещаться и исследовать ваше приложение, шаг за шагом, предопределенным способом, контролируемым вами. SwiftyWalkthrough работает, добавляя оверлей поверх экрана, блокируя доступ к вашим View, и вы можете контролировать, какие части экрана должны быть доступны и когда.

Проект на GitHub: https://github.com/ruipfcosta/SwiftyWalkthrough
Платформа: iOS
⭐️: 343
Kotlin Multiplatform Mobile (KMM) - это SDK, предназначенный для упрощения создания кроссплатформенных мобильных приложений. С помощью KMM вы можете использовать общий код для приложений iOS и Android и писать код для конкретной платформы только там, где это необходимо. Например, для реализации собственного пользовательского интерфейса или при работе с API, зависящими от платформы. Awesome KMM - список лучших библиотек, инструментов и обучающих материалов, касающихся Kotlin Multiplatform Mobile.

Проект на GitHub: https://github.com/terrakok/kmm-awesome
Платформа: iOS/Android
⭐️: 317
#ДатаДня: Tech Talks от Apple пройдут с 25 октября по 17 декабря и будут включать как доклады в прямом эфире, так и индивидуальные встречи с экспертами. На этой виртуальной конференции вы сможете узнать больше о последних технологиях, задать вопросы и получить рекомендации от разработчиков компании. Начнутся Tech Talks уже 25 октября, расписание ближайших сессий (до 5 ноября) уже доступно на сайте. Новые доклады и индивидуальные сессии будут открываться каждые две недели. Все доклады Tech Talks будут включать живую презентацию по какой-либо теме, с последующими вопросами и ответами или круглым столом, а в рабочее время эксперты Apple также будут общаться с разработчиками один на один.
Всем привет!

Нам нужен говорливый Android разработчик на круглый стол в предверии хакатона от БКС https://bcscd.sk.ru

Тема круглого стола: «Подходы к документированию кода»

Сегодня в течение дня ждем ваших откликов, формируем шорт-лист - @Lizaveta_shilina.