AppFiles - Mobile Development
2.01K subscribers
2.56K photos
33 videos
8 files
3.45K links
Библиотеки, обучающие статьи, курсы и видео для (мобильных) разработчиков. Если есть вопросы - пишите @lbogolubov.
Download Telegram
Невозвратные затраты: когда стоит бросить проект?

В разработке вам нужно учиться вырезать все слишком амбициозное и то, что невозможно воплотить. Если вы так не поступите, то все это начнет тянуть проект вниз или даже доведет расходы компании до критической точки, особенно если сохранение этой функции или проекта требует дополнительной работы.

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

Статья: https://apptractor.ru/nvzvrt
Платформа: разработка
👍1
Copilot for Xcode — это расширение Xcode Source Editor, которое обеспечивает поддержку Github Copilot в Xcode. Он использует LSP, предоставляемый через Copilot.vim.

Copilot for Xcode на GitHub: https://github.com/intitni/CopilotForXcode
Платформа: iOS
⭐️: 42
🔥2👍1
Как решить задачу Google про бросание яиц со здания

Собеседование для программиста - отличный опыт, в ходе него возникает много отличных задач. Моя любимая задача также нравится и рекрутерам Google:

Вы работаете в 100-этажном здании и у вас есть два одинаковых яйца. Вам нужно определить наивысший этаж, с которого можно уронить яйцо и не разбить его. Найдите алгоритм, который минимизирует количество бросков в худшем сценарии развития событий.

Статья: https://apptractor.ru/100eggs
Платформа: программирование
👎4👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Maestro - простой и эффективный фреймворк для тестирования UI. Главные особенности: толерантность к изменениям интерфейса, автоматическая обработка задержек, быстрые итерации, декларативный синтаксис, простая установка.

Maestro на GitHub: https://github.com/mobile-dev-inc/maestro
Платформа: Android/iOS
⭐️: 2.8K
Seal - загрузчик видео/аудио для Android. Умеет скачивать видео и аудио с платформ, поддерживаемых yt-dlp (youtube-dl), добавлять файлам метаданные, скачивать плейлисты, встраивать субтитры и пр. Сделано на Material Design 3 и с учетом MAD на чистом Kotlin.

Seal на GitHub: https://github.com/JunkFood02/Seal
Платформа: Android
⭐️: 1.9K
👍1
Jukebox - минималистичный аудиоплеер для Jetpack Compose. Основное внимание в нем уделяется гибкости загрузки, отображения ошибок и управления аудио.

Jukebox на GitHub: https://github.com/LouisDuboscq/Jukebox
Платформа: Android
⭐️: 37
👍1
Popup View - тосты, алерты и попапы для SwiftUI.

Popup View на GitHub: https://github.com/exyte/PopupView
Платформа: iOS
⭐️: 1.8K
Формирование навыков разработчика

Кошелек Миллера — неприятная закономерность, которая делает из сложности программного обеспечения проблему. Самый простой и очевидный способ борьбы с кошельком — это разделение программы на небольшие части, в каждой из которых не больше 5-10 сущностей. Но у этого простого и очевидного способа есть недостаток, озвученный еще Дэвидом Уилером в известном афоризме:

Любую проблему можно решить путём введения дополнительного уровня абстракции, кроме проблемы слишком большого количества уровней абстракции.

Статья: https://apptractor.ru/navrazr
Платформа: разработка
👍2
Animated Circular Download Button - анимированная кнопка , отображающая процесс загрузки. Сделано все на Jetpack Compose.

Animated Circular Download Button на GitHub: https://github.com/M0Coding/Animated-Circular-Download-Button
Платформа: Android
⭐️: 33
SwiftUI View Lifecycle - приложение для iOS и macOS, демонстрирующее как разные конструкты и представления контейнеров в SwiftUI работают с событиями жизненного цикла, вроде onAppear и onDisappear.

SwiftUI View Lifecycle на GitHub: https://github.com/ole/swiftui-view-lifecycle
Платформа: iOS
⭐️: 104
Catalog Android Sample App - фреймворк для ускорения создания приложений-каталогов за счет удаления шаблонного кода и динамического включения всего нужного в одну Activity. Google предупреждает, что это экспериментальный проект, который находится в стадии интенсивной разработки, API могут часто меняться.

CASA на GitHub: https://github.com/google/casa-android
Платформа: Android
⭐️: 128
WebRTC in Jetpack Compose — этот проект демонстрирует использование протокола WebRTC для видеосвязи в реальном времени в Jetpack Compose. Цель его — реализация всего UI для видеосвязи в реальном времени с помощью Jetpack Compose, выполнение связи в реальном времени в фоновом режиме с помощью Kotlin Coroutines, понимание однорангового соединения на основе WebRTC, взаимодействие с сигнальным сервером для обмена информацией о одноранговых соединениях между клиентами.

WebRTC in Jetpack Compose на GitHub: https://github.com/GetStream/webrtc-in-jetpack-compose
Платформа: Android
⭐️: 140
Swift Dependencies - библиотека инъекции зависимостей от компании Pointfree, “вдохновленная” SwiftUI. Позволяет управлять как всем графом зависимостей, так и конкретными модулями, регистрировать собственные зависимости или использовать готовые, доступные в библиотеке “из коробки”.

Swift Dependencies на GitHub: https://github.com/pointfreeco/swift-dependencies
Платформа: iOS
⭐️: 558
👍1
Видео с конференции Swiftable 2022

Прошла в Буэнос-Айресе в начале декабря 2022 года. Всего 16 видео:

• Creating reusable container views
• TBC
• Elevated Swift
• Preload strategies using WKWebView
• Swift Charts - Beyond the basics
• Platformizing features at Spotify
• Fewer, Smarter, Faster: Scaling Testing @Spotify
• Hey Focus! How to get the most out of your day
• Tools for SwiftUI adoption at scale
• Integrating modern native APIs with legacy code
• Code organization strategies for complex globalization in Swift
• Scaling with Server Driver UI
• iOS Home Depot (A Tooling Talk)
• iOS Attack Vectors and how to protect your app
• How to decrease your localization strings size?
• Adopting SwiftUI at scale

Плейлист: https://apptractor.ru/sftbl22
Платформа: iOS
👍1
Еще одна библиотека от нашего читателя. HttpRequest - крошечный http клиент в 90 строк для Kotlin/Android. Это асинхронная и безопасная (не кидает исключений) обертка над нативным HttpURLConnection. Для парсинга JSON используется KotlinxSerizlizer.

HttpRequest на GitHub: https://github.com/mezhevikin/http-request-kotlin
Платформа: Android (у автора есть аналогичная библиотека и под iOS)
⭐️: 3
Nuke - библиотека для загрузки и отображения изображений в вашем приложении. Ее легко понять и использовать, а архитектура обеспечивает множество мощных функций, предлагая при этом практически неограниченные возможности настройки.

Фреймворк компактен и компилируется менее чем за 2 секунды. В Nuke есть набор автоматизированных тестов, вдвое превышающий размер самой кодовой базы, что обеспечивает превосходную надежность. Каждая функция разработана со всей тщательностью и оптимизирована для повышения производительности.

Nuke на GitHub: https://github.com/kean/Nuke
Платформа: iOS
⭐️: 7.1K
👍2
Как создавать иконки и мокапы приложений с помощью ИИ

В этом видео автор использует Midjourney AI для создания иконок приложений и мокапов.

Видео: https://youtu.be/Ff7VKbV8BPc
Платформа: дизайн и прототипирование
3
Awesome Software and Architectural Design Patterns - сборник материалов с различными шаблонами проектирования. Вообще, шаблон проектирования программного обеспечения — общее, многократно используемое решение часто встречающейся проблемы в заданном контексте. В более общем смысле это устоявшийся и общепринятый архитектурный подход, используемые в той или иной ситуации. В этом репозитории - шаблоны проектирования для языков программирования и направлений (мобайла, облаков, DevOPs и т.п.)

Awesome Software and Architectural Design Patterns на GitHub: https://github.com/DovAmir/awesome-design-patterns
Платформа: архитектура
⭐️: 24.9K