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

Любые трения вредят времени моей работы. Это снижает скорость, с которой я могу превратить неопределенность в уверенность, то есть обучение. Моя самая долгосрочная ценность создается путем обучения как можно быстрее, поскольку это множитель для всего будущего кода, который я пишу, или систем, которые я разрабатываю. Другими словами: поскольку «написание — это переписывание», программирование — это рефакторинг.

Моя самая долгосрочная ценность создается путем обучения как можно быстрее.

‍Вот почему вы должны писать дерьмовый код. Или, точнее, почему вы должны писать БОЛЬШЕ дерьмового кода

Статья: https://apptractor.ru/info/articles/shitty-code.html
Платформа: программирование
👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Custom Slider Control - в попытке воспроизвести систему управления звуком в iOS, автор сделал общий компонент слайдера? который теперь можно применять для любых ситуаций.

Custom Slider Control на GitHub: https://github.com/pratikg29/Custom-Slider-Control
Платформа: iOS
⭐️: 23
Как в Dropbox сделали загрузку с камеры в Android быстрее и надежнее

До недавнего времени загрузка с камеры была основана на библиотеке C++, совместно используемой приложениями для Android и iOS. В 2019 году мы решили, что переписать эту функцию — лучший способ обеспечить надежный и заслуживающий доверия пользовательский опыт на долгие годы. Реализации для Android и iOS стали отдельными, используют собственные языки платформы (Kotlin и Swift) и собственные библиотеки (такие как WorkManager и Room для Android).

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

Статья: https://apptractor.ru/drpbxphoto
Платформа: Android
Tracker Go — приложение для Android, которое отслеживает бег. Оно учитываtn маршрут, среднюю скорость, затраченное время, сожженные калории, пройденное расстояние. Ведет историю состояния. Технический стек - Kotlin, MVVM, Navigation Component, Google SDK. Библиотеки - Dagger Hilt, Android KTX, Room, Timber, Glide, MPAndroidChart, Easy Permission, Coroutines, Material Design, Google Map location service, Kotlin extension.

Tracker Go на GitHub: https://github.com/kodeflap/Tracker_Go
Платформа: Android
⭐️: 2
Как ускорить Swift, упорядочив соответствия

Проверка соответствия протоколу - бесконечная для изучения (и оптимизации) тема. В Emerge объясняют, как можно ускорить работу с соответствиями - надо просто сложить все соответствия в одном месте, чтобы они быстрее читались и кэшировались в памяти. По тестам их подходи может ускорить первый запуск на 20%! Сделать это очень просто, в одной настройке Xcode.

Статья: https://apptractor.ru/ordrcnfrmnc
Платформа: iOS
Animated Tab Bar - анимированная панель вкладок для iOS-приложения на SwiftUI. Имеет массу настроек дизайна, можно использовать пресеты анимаций или создавать собственные.

Animated Tab Bar на GitHub: https://github.com/exyte/AnimatedTabBar
Платформа: iOS
⭐️: 24
Как защитить ваш Android APK и внедрить меры безопасности

Android Package Kit (APK) — это формат пакета, используемый для распространения и установки приложений на устройствах Android. Хотя APK обеспечивают удобный способ установки и обновления приложений, они также могут представлять угрозу безопасности, если они не защищены должным образом. В этой статье мы обсудим некоторые простые способы защиты APK и реализации мер для обеспечения безопасности вашего приложения и ваших пользователей.

1. Подпишите свой APK
2. Обфусцируйте свой код
3. Используйте шифрование
4. Используйте разрешения с умом
5. Используйте Proguard для удаления неиспользуемого кода
6. Используйте Network Security Configuration
7. Используйте правила безопасности Firebase
8. Используйте сторонние библиотеки безопасности

Статья: https://apptractor.ru/drdsecrt
Платформа: Android
Flashlight измеряет производительность любого приложения для Android, генерирует оценку, объединяя различные показатели. Из интересных особенностей - не нужно ничего устанавливать в приложение (все происходит на устройстве), можно измерять скорость работы production приложений, есть красивые веб-отчеты, CLI, Flipper или E2E тесты для полной автоматизации.

Flashlight на GitHub: https://github.com/bamlab/flashlight
Платформа: Android
⭐️: 369