AppFiles - Mobile Development
2K subscribers
2.54K photos
33 videos
8 files
3.42K links
Библиотеки, обучающие статьи, курсы и видео для (мобильных) разработчиков. Если есть вопросы - пишите @lbogolubov.
Download Telegram
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
Делайте тесты умнее, а не сложнее

Максим Щепелин — Engineering Manager в Booking.com. Он написал пост в блоге с вопросами, которые вы должны задать себе, создавая культуру автоматизированного тестирования в своей команде.

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

Поэтому вещи, которые вы должны сделать, это

• Поймите ожидаемый срок службы вашей кодовой базы.
• Выявите горячие точки, которые часто меняются.
• Тестируйте все возможные варианты, в том числе крайние случаи.

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

Статья: https://apptractor.ru/smrttest
Платформа: тестирование
👍1
This media is not supported in your browser
VIEW IN TELEGRAM
SwiftUI Shimmer — это сверхлегкий модификатор, который добавляет мерцающий эффект к любому представлению SwiftUI, например, чтобы показать выполнение операции. Он хорошо работает в светлом и темном режимах, а также в iOS, macOS, tvOS и watchOS. Можно настраивать продолжительность циклов мерцания, их перемещение вперед и назад, паузы между.

SwiftUI Shimmer на GitHub: https://github.com/markiv/SwiftUI-Shimmer
Платформа: iOS
⭐️: 423
😁1
1Coin - финансовый менеджер, написанный на Kotlin Multiplatform (Android и MacOS, в разработке iOS). Из интересного внутри - UI на Compose Multiplatform, навигация Odyssey, KViewModel для общей ViewModel, Ktor для сетевых запросов, Koin для DI, LeakCanary для анализа утечек памяти и Detekt для статического анализа кода.

1Coin на GitHub: https://github.com/1Coin-FinanceTracker/1CoinClient
Платформа: кроссплатформа
⭐️: 3
👍3
Привет, это команда Тинькофф 💡

Наше большое комьюнити мобильных разработчиков решает крутые задачи — создает высоконагруженные сервисы для 27 миллионов клиентов. Мы экспериментируем и ищем новые решения. Приглашаем в команду mobile-разработчиков с опытом от трех лет!

Работать с нами значит:

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

А еще мы всегда «за» действительно комфортную работу. Поэтому большинство бытовых забот делегируем компании: от расширенного ДМС и юридической помощи до питания и разных активностей.

Откликнуться и узнать подробнее о команде mobile-разработчиков Тинькофф: https://l.tinkoff.ru/mobile.stream
SwiftUI Navigation - набор инструментов для упрощения "State-driven" навигации в SwiftUI. Эта библиотека предоставляет API-интерфейсы, которые позволяют моделировать пункты назначения навигации в виде перечисления, а затем управлять навигацией с помощью привязки к этому перечислению.

SwiftUI Navigation на GitHub: https://github.com/pointfreeco/swiftui-navigation
Платформа: iOS
⭐️: 1.2K
Видео конференции Do iOS 2022

14 видео:

1. Time traveling with Swift
2. Supercharge your app with Firebase and Stream
3. Swift your personal website using Publish
4. Managing Combine, your existing code, and async/await
5. Previews and Package Oriented Programming
6. Building Swift Packages in VSCode
7. Fying Solor
8. Do iOS Panel, hosted by Antoine van der Lee
9. Charming Swift Charts
10. The Mythical Hands On Manager
11. Fantastic Swift tools and where to find them
12. Roll your own networking stack
13. Increase Product Impact With This One Simple Trick
14. Don’t forget about the wrist

Плейлист: https://www.youtube.com/playlist?list=PLw-3TTKkn1fM-5kugk9vyJTXZF8B0zHxC
Платформа: iOS
👍1
Jetpack Compose Codelabs - кодлабы, обучающие “лабораторные работы” Google для обучения основам Jetpack Compose. В этом репозитории проекты и код, сами уроки на сайте Google.

Jetpack Compose Codelabs на GitHub: https://github.com/googlecodelabs/android-compose-codelabs
Платформа: Android
⭐️: 800
👍1
WhatIf - простой, удобный и безопасный “синтаксический сахар” Kotlin для управления одиночными операторами if-else, NULL значениями, коллекциями и логическими значениями.

WhatIf на GitHub: https://github.com/skydoves/whatif
Платформа: Android
⭐️: 695
👎2
Loop for iOS - шаблон приложения для создания автоматизированной системы доставки инсулина. Loop построен на основе открытого тут же LoopKit, фреймворка, который обеспечивает хранение, извлечение и расчет данных, а также стандартные контроллеры представлений, используемые в Loop.

Loop for iOS на GitHub: https://github.com/LoopKit/Loop
Платформа: iOS
⭐️: 1.1K
Jetpack Compose для Wear OS

Узнайте о Jetpack Compose для Wear OS, создав специальное приложение для управления временем задержки дыхания, включая секундомер для отслеживания новых рекордов и сохранения их в коллекции. В этом руководстве вы познакомитесь со всеми основными компонентами, такими как ввод, диалоги, индикаторы прогресса и индикаторы страниц. Вы также узнаете, когда использовать виньетку и TimeText.

Руководство: https://www.kodeco.com/36067385-jetpack-compose-for-wear-os
Платформа: Android
Трендинговые репозитории GitHub за январь для языка Swift:

1. IceCubesApp - клиент Mastodon на SwiftUI (+1411)
2. CodeEdit - открытый редактор кода для macOS (+805)
3. MochiDiffusion - Stable Diffusion на Mac (+439)
4. Swift Composable Architecture - целостная и понятная архитектура для создания приложений с учетом композиции, тестирования и эргономики (+310)
5. Swift CoreML Diffusers - приложение, демонстрирующее Stable Diffusion в Core ML (+268)
6. AltStore - альтернативный магазин приложений (+197)
7. Alamofire - HTTP-клиент (+184)
8. Clean Architecture SwiftUI - пример приложения на основе чистой архитектуры (+162)
9. Damus - клиент для социальной сети nostr (+143)
10. NetNewsWire - RSS ридер (+123)
11. Swift Async Algorithms - фирменные алгоритмы Apple (+113)
12. SwiftUI Navigation - простая навигация для SwiftUI (+110)
13. SwiftFormat - инструменты форматирование Swift-кода (+87)
14. SQLite.swift - обертка для SQLite3 (+86)
15. Sileo - менеджер пакетов (+79)
16. Nuke - загрузка изображений (+79)
17. TrollTools и TrollBox - кастомизация iOS (+76)
18. GRDB.swift - инструменты для работы с SQLite (+68)
19. DeviceKit - value-type замена для UIDevice (+64)
20. Swift Snapshot Testing - тестирование снепшотов (+48)
21. Moya - абстракция сетевого уровня (+46)
22. KeychainAccess - обертка для Keychain (+41)
23. Facebook* iOS SDK - SDK запрещенной сети (+34)
24. Stripe iOS - SDK платежной системы (+22)
👍2
Трендинговые репозитории GitHub за январь для языка Kotlin:

1. v2rayNG - клиент V2Ray для Android (+717)
2. ViMusic - стриминг музыки с YouTube Music (+709)
3. Now In Android - лучшие практики Android-разработки в новостном приложении Google (+671)
4. Tachiyomi - открытый ридер манга для Android (+539)
5. ChatGPT Android - чат с ИИ с использованием Stream Chat SDK для Compose (+442)
6. Сloudstream - стриминг и скачивание кино, сериалов и аниме (+410)
7. Seal -скачивание видео/аудио с YouTube (+385)
8. bv - приложение Android TV для Bilibili (+340)
9. Saikou - клиент Anilist с аниме и манга (+302)
10. BiliRoaming - клиент Bilibili с фишками и перками (+300)
11. Maestro - автоматизация тестирования UI (+258)
12. Matsuri - V2Ray/proxy toolchain для Android (+251)
13. Android Developer Roadmap - план развития Android-разработчика (+241)
14. Сompose JB - Compose Multiplatform от JetBrains (+232)
15. Balloon - всплывающие подсказки (+188)
16. Unciv - открытая «Цивилизация» (+186)
17. Ivy Wallet - приложение для управления деньгами с открытым исходным кодом (+163)
18. Anki Android - карточки для запоминания и повторения (+143)
19. Uhabits - открытое приложение для формирования привычек (+139)
20. Komga - медиасервер для комиксов и манга (+139)
21. Fenix - Firefox для Android (+116)
22. Sunflower - лучшие практики Android-разработки в приложении о растениях (+113)
23. Ktlint - линтер для Kotlin (+64)
24. TV bro - браузер, оптимизированный для ТВ (+55)
25. Purpur - сервер для Minecraft (+46)
2👍1
SyncKit - библиотека для iOS и OS X , которая автоматизирует процесс синхронизации Core Data или Realm моделей при помощи CloudKit. Она находится рядом со стеком Core Data или Realm, что упрощает добавление синхронизации в существующие приложения.

SyncKit на GitHub: https://github.com/mentrena/SyncKit
Платформа: iOS
⭐️: 456
Как мы сократили время запуска нашего iOS-приложения на 60%

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

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

1. Изменили String(describing:) на ObjectIdentifier()
2. Прекратили преобразовывать ненужные объекты в AnyHashable
3. Проверили инициализации сторонних фреймворков

Статья: https://apptractor.ru/drdsh60
Платформа: iOS
👍3
Slack Machine - простая, но мощная и расширяемая платформа для ботов в Slack. Это фреймворк, которая поможет вам превратить ваше рабочее пространство Slack в мощную ChatOps станцию. Slack Machine построен с интуитивно понятной системой плагинов, которая позволяет быстро создавать ботов, а также упрощает организацию кода.

Slack Machine на GitHub: https://github.com/DonDebonair/slack-machine
Платформа: чат-бот
⭐️: 717
Dashlane Android Apps - репозиторий с исходниками приложений для управления паролями Dashlane. Они общедоступны для проверки кода и и интересны для всех, кто хочет узнать больше о том, как работают приложения для Android.

Внутри монолит (который прямо сейчас модуляризируют), MVVM, Kotlin с Coroutine и Flow (есть легаси Java), Hilt, Jetpack Navigation, криптография OpenSSL и Argon2.

Dashlane Android Apps на GitHub: https://github.com/Dashlane/android-apps
Платформа: Android
⭐️: 97
👍1