AppFiles - Mobile Development
Open in Telegram
Библиотеки, обучающие статьи, курсы и видео для (мобильных) разработчиков. Если есть вопросы - пишите @lbogolubov.
Show more2 174
Subscribers
+224 hours
+47 days
+930 days
Posts Archive
SwiftUI Shimmer — это сверхлегкий модификатор, который добавляет мерцающий эффект к любому представлению SwiftUI, например, чтобы показать выполнение операции. Он хорошо работает в светлом и темном режимах, а также в iOS, macOS, tvOS и watchOS. Можно настраивать продолжительность циклов мерцания, их перемещение вперед и назад, паузы между.
SwiftUI Shimmer на GitHub: https://github.com/markiv/SwiftUI-Shimmer
Платформа: iOS
⭐️: 423
Делайте тесты умнее, а не сложнее
Максим Щепелин — Engineering Manager в Booking.com. Он написал пост в блоге с вопросами, которые вы должны задать себе, создавая культуру автоматизированного тестирования в своей команде.
Некоторые команды подходят к тестированию в виде «В этом квартале мы увеличим тестовое покрытие до X%». Но конечной целью является не просто тщеславная метрика процента покрытыя, а быстрый цикл обратной связи для проверки новых изменений, внесенных в код, на протяжении всего срока службы кодовой базы.
Поэтому вещи, которые вы должны сделать, это
• Поймите ожидаемый срок службы вашей кодовой базы.
• Выявите горячие точки, которые часто меняются.
• Тестируйте все возможные варианты, в том числе крайние случаи.
Цель тестирования — повысить доверие к кодовой базе и упростить итерации. Сосредоточение внимания на таких вещах, как завершенность тестов и обеспечение тщательного тестирования горячих точек в вашей кодовой базе, поможет вам быстро получить обратную связь.
Статья: https://apptractor.ru/smrttest
Платформа: тестирование
Myne — это FOSS Android-приложение для загрузки электронных книг из Project GutenBerg (более 60 тысяч бесплатных книг). Оно использует API GutenDex для извлечения данных электронных книг с сервера, Google Books API для получения некоторых дополнительных метаданных и Jetpack Compose с Material You для отображения всего книжного богатства.
Myne на GitHub: https://github.com/Pool-Of-Tears/Myne
Платформа: Android
⭐️: 183
Видео за неделю
•
(iOS) Видео BA: Swiftable 2022
• (iOS) Snapchat Shared Transitions - Animation's - Grid Matched Geometry - Xcode 14 - SwiftUI Tutorials
• (iOS) How to Use Custom Fonts in SwiftUI
• (iOS) Will ChatGPT Destroy iOS Developer Jobs? A Demonstration
• (And) Моды Android приложении?: Instander & Google Camera by The Dise
• (And) The Top 3 Clean Architecture Mistakes in Android
• (And) How to Create a Magic Text That Always Fits Its Container – Jetpack Compose Tutorial
• (And) How does the .asLiveData() operator work? Kotlin Flow for Android Development
• (Crs) Курс по Flutter: вход в профессию Flutter-разработчика
• (Dev) Путь Full Stack QA
• (Dev) Podlodka #303: .NET, часть 1
• (Dev) How to Make AI-Generated App Icons & Mockups with MidjourneyAwesome Software and Architectural Design Patterns - сборник материалов с различными шаблонами проектирования. Вообще, шаблон проектирования программного обеспечения — общее, многократно используемое решение часто встречающейся проблемы в заданном контексте. В более общем смысле это устоявшийся и общепринятый архитектурный подход, используемые в той или иной ситуации. В этом репозитории - шаблоны проектирования для языков программирования и направлений (мобайла, облаков, DevOPs и т.п.)
Awesome Software and Architectural Design Patterns на GitHub: https://github.com/DovAmir/awesome-design-patterns
Платформа: архитектура
⭐️: 24.9K
Как создавать иконки и мокапы приложений с помощью ИИ
В этом видео автор использует Midjourney AI для создания иконок приложений и мокапов.
Видео: https://youtu.be/Ff7VKbV8BPc
Платформа: дизайн и прототипирование
Nuke - библиотека для загрузки и отображения изображений в вашем приложении. Ее легко понять и использовать, а архитектура обеспечивает множество мощных функций, предлагая при этом практически неограниченные возможности настройки.
Фреймворк компактен и компилируется менее чем за 2 секунды. В Nuke есть набор автоматизированных тестов, вдвое превышающий размер самой кодовой базы, что обеспечивает превосходную надежность. Каждая функция разработана со всей тщательностью и оптимизирована для повышения производительности.
Nuke на GitHub: https://github.com/kean/Nuke
Платформа: iOS
⭐️: 7.1K
Еще одна библиотека от нашего читателя. HttpRequest - крошечный http клиент в 90 строк для Kotlin/Android. Это асинхронная и безопасная (не кидает исключений) обертка над нативным HttpURLConnection. Для парсинга JSON используется KotlinxSerizlizer.
HttpRequest на GitHub: https://github.com/mezhevikin/http-request
Платформа: Android (у автора есть аналогичная библиотека и под iOS)
⭐️: 3
⚡️Научитесь писать выразительный код на Swift!
Пройдите тест из 20 вопросов и узнайте, свой уровень знаний языка Swift. Осилят тест не все!
👉🏻 ПРОЙТИ ТЕСТ: https://otus.pw/Mv0P/
Сможете пройти тест за 30 минут — пройдёте на продвинутый онлайн-курс «iOS Developer. Professional» от OTUS по специальной цене + получите доступ к 2 открытым вебинарам курса.
На курсе вы освоите ключевые особенности Swift 5, сможете определять целесообразность применения паттернов и погрузитесь в нюансы использования Rx.
🔥 Открытые вебинары курса:
- Устройство многопоточности в iOS: Actor и async/await
- Поддержка многоязычности в приложениях iOS
Видео с конференции 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
Swift Dependencies - библиотека инъекции зависимостей от компании Pointfree, “вдохновленная” SwiftUI. Позволяет управлять как всем графом зависимостей, так и конкретными модулями, регистрировать собственные зависимости или использовать готовые, доступные в библиотеке “из коробки”.
Swift Dependencies на GitHub: https://github.com/pointfreeco/swift-dependencies
Платформа: iOS
⭐️: 558
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
Видео и аудио за неделю
•
(iOS) Instagram story opening and closing animation in SwiftUI
• (iOS) Lazy property in Swif
• (iOS) How to make SwiftUI App using ChatGPT
• (iOS) Making a Notion Press Kit for my iOS App
• (And) Binder: как устроена работа с несколькими процессами в Android
• (And) Material You Color System: быстрое погружение в пучины
• (And) Introduction to FLEDGE
• (Dev) Что будет в 2023: тренды мобильной разработки
• (Dev) Podlodka #299: приоритизация
• (Dev) Что такое Design Review
Посмотрели что-то новое? Отправьте ссылку и мне → @lbogolubovCatalog Android Sample App - фреймворк для ускорения создания приложений-каталогов за счет удаления шаблонного кода и динамического включения всего нужного в одну Activity. Google предупреждает, что это экспериментальный проект, который находится в стадии интенсивной разработки, API могут часто меняться.
CASA на GitHub: https://github.com/google/casa-android
Платформа: Android
⭐️: 128
SwiftUI View Lifecycle - приложение для iOS и macOS, демонстрирующее как разные конструкты и представления контейнеров в SwiftUI работают с событиями жизненного цикла, вроде onAppear и onDisappear.
SwiftUI View Lifecycle на GitHub: https://github.com/ole/swiftui-view-lifecycle
Платформа: iOS
⭐️: 104
Animated Circular Download Button - анимированная кнопка , отображающая процесс загрузки. Сделано все на Jetpack Compose.
Animated Circular Download Button на GitHub: https://github.com/M0Coding/Animated-Circular-Download-Button
Платформа: Android
⭐️: 33
Формирование навыков разработчика
Кошелек Миллера — неприятная закономерность, которая делает из сложности программного обеспечения проблему. Самый простой и очевидный способ борьбы с кошельком — это разделение программы на небольшие части, в каждой из которых не больше 5-10 сущностей. Но у этого простого и очевидного способа есть недостаток, озвученный еще Дэвидом Уилером в известном афоризме:
Любую проблему можно решить путём введения дополнительного уровня абстракции, кроме проблемы слишком большого количества уровней абстракции.
Статья: https://apptractor.ru/navrazr
Платформа: разработкаPopup View - тосты, алерты и попапы для SwiftUI.
Popup View на GitHub: https://github.com/exyte/PopupView
Платформа: iOS
⭐️: 1.8K
Jukebox - минималистичный аудиоплеер для Jetpack Compose. Основное внимание в нем уделяется гибкости загрузки, отображения ошибок и управления аудио.
Jukebox на GitHub: https://github.com/LouisDuboscq/Jukebox
Платформа: Android
⭐️: 37
Видео и аудио за неделю
•
(iOS) Ускорение разработки при помощи Unit-теста
• (And) Писать UI для Android на QT
• (And) Advanced Kotlin Dev Day 2022
• (Crs) Flutter Dev Podcast #38: Dart и синтаксический сахар
• (Crs) А точно ли вам нужно PWA?
• (Dev) Переводим Spring/Kotlin-сервис на NIO и coroutines
• (Dev) Продакт и продукт
• (Dev) Эмпатичное проектирование