AppFiles - Mobile Development – Telegram
AppFiles - Mobile Development
2.12K subscribers
2.76K photos
38 videos
11 files
3.69K links
Библиотеки, обучающие статьи, курсы и видео для (мобильных) разработчиков. Если есть вопросы - пишите @lbogolubov.
Download Telegram
Supercool App - модульное приложение для Android, созданное на Jetpack Compose и Kotlin на чистой архитектуре с использованием удивительного паттерна проектирования Use Case. Технологический стек вобрал все, что только можно - Android KTX, AndroidX, корутины, Lifecycle, Viewmodel, LiveData, Retrofit, Flow, Hilt, Navigation Components, GitHub Actions, Mockito Kotlin, Room, Material Compose и т.п.

Supercool App на GitHub: https://github.com/im-o/jetpack-compose-clean-architecture
Платформа: Android
⭐️: 71
👎1
Как я ускорил свое мобильное приложение BookDesk на React Native в 3 раза?

В этом материале я поделюсь с вами практическим опытом по оптимизации своего мобильного приложения на React Native. Расскажу как ускорил свое приложение в 3 раза.

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

Статья: https://habr.com/ru/articles/839248/
Платформа: кроссплатформа
Mapping объектов с помощью MapStruct

В огромном приложении Android с Clean Architecture много рутинной работы, связанной с отображением объектов между различными слоями. Хорошим решением будет автоматизация этого процесса.

В этой статье рассматривается опыт использования библиотеки MapStruct, которая помогает mapp-ить объекты.

Статья: https://habr.com/ru/articles/839362/
Платформа: Android
👎4
SwiftDraw - это Swift-библиотека для парсинга и отрисовки SVG-изображений, включающая инструмент командной строки для преобразования SVG в SFSymbol, PNG, PDF и исходный код Swift.

SwiftDraw на GitHub: https://github.com/swhitty/SwiftDraw
Платформа: iOS
⭐️: 360
Видео и подкасты за неделю @AppFiles

(iOS Ru) Стратегия автотестирования для iOS приложений
(iOS Ru) 5 вопросов для iOS разработчика
(iOS Ru) Борьба с утечками памяти: от задачи до победы
(iOS En) Import & Export Swift Data with Password
(iOS En) Interactive Expandable Header - SwiftUI
(And Ru) 5 уроков из опыта реализации pixel-perfect тестирования дизайн-системы в Android
(And Ru) Gradle-сборка. Измеряем самое важное
(And Ru) Шифруем файлы в Android
(And En) Now in Android: 109 - Android 15 Beta 4, Samsung Galaxy Unpacked, Google Play's new feature, & more
(And En) Hot Flows vs. Cold Flows In Kotlin - When to Use What?
(And En) 5 Kotlin Coroutine Secrets I Wish I Knew Earlier
(And En) Kotlin After 2.0
(And En) Revamping and Extending Kotlin's Type System
(And En) The state of code coverage for Kotlin
(Crs En) There's more than a mouse in Compose Multiplatform for Desktop
(Dev Ru) Как писать чистый код — угадываем что ввел юзер и дизайним с нуля Clean Code Approach
(Dev Ru) Егор Бугаенко про ТикТок, Huawei и ленивых разработчиков
(Dev Ru) Зачем учить язык Си в 2024 году — Как выбрать между C или C++ или Rust

#ios #android #mobile #video
SSNeumorphicView - это сложная, но гибкая библиотека для iOS, которая легко интегрирует модный стиль неоморфизм в пользовательский интерфейс вашего приложения. Неоморфизм, известный своими мягкими, тонкими тенями в сочетании с глубиной и текстурой, создает элегантный эффект мягкого тиснения, благодаря которому компоненты вашего пользовательского интерфейса выглядят тактильно и привлекательно.

SSNeumorphicView упрощает процесс внедрения неоморфных элементов в ваше приложение, обеспечивая совместимость с UIKit и SwiftUI. Благодаря широким возможностям настройки цвета, глубины и стиля теней вы без труда создадите современный и визуально привлекательный пользовательский опыт. Кроме того, он обратно совместим с iOS 13, что обеспечивает широкую поддержку на различных устройствах.

SSNeumorphicView на GitHub: https://github.com/SimformSolutionsPvtLtd/SSNeumorphicKit
Платформа: iOS
⭐️: 44
2,5 тысяч экрано-состояний и тесты на сотнях устройств: как мы с нуля делали темную тему в приложении

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

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

Статья: https://habr.com/ru/articles/839636/
Платформа: дизайн и прототипирование
1👍1
Я получил новый iPhone, но мой аккаунт в социальных сетях заблокирован

Как разработчик iOS, я знаю, что у Apple нет никаких API, которые разработчики могут использовать для отслеживания пользователей. Разработчики не могут получить доступ к серийному номеру устройства, а identifierForVendor сбрасывается, когда пользователь удаляет все приложения издателя. Так как же Snapchat мог распознать устройство?

Статья: https://apptractor.ru/develop/ya-poluchil-novyy-iphone-no-moy-akkaunt-v-sotsialnyh-setyah-zablokirovan.html
Платформа: iOS
aDp - эта библиотека используется в Jetpack Compose для преодоления различий в пользовательском интерфейсе на разных Android-устройствах для одного и того же кода. Библиотека принимает на вход задуманную разработчиком ширину экрана и затем масштабирует все размеры в соответствии с настройками устройства, обеспечивая их точное соответствие дизайну. Например, выше сравнение двух TextView: при ширине дизайна 360 вы видите, как изменяется TextView, использующий стандартный dp, а тот, что использует aDp, настраивается так, чтобы выглядеть почти идентично дизайну (у автора есть статья с объяснением).

aDp на GitHub: https://github.com/mohitsoni48/aDp
Платформа: Android
⭐️: 12
NFC на Android: создание системы предоплаты с использованием NDEF меток

В этой статье мы рассмотрим, как реализовать NFC в приложении для Android, читая и записывая данные в метки с помощью формата NDEF. Мы продемонстрируем это на примере реализации простой системы предоплаты, похожей на системы общественного транспорта, где метки, обычно в формате карт, можно заряжать и использовать для проезда. Android-устройство будет выступать в роли платежного терминала, а метки будут хранить баланс и список приобретенных товаров.

Статья: https://apptractor.ru/info/news/nfc-na-android-sozdanie-sistemy-predoplaty-s-ispolzovaniem-ndef-metok.html
Платформа: Android
Swift AST Explorer - это инструмент для визуализации абстрактного синтаксического дерева (Abstract Syntax Tree, AST) исходного кода Swift.

Swift AST Explorer на GitHub: https://github.com/SwiftFiddle/swift-ast-explorer
Платформа: iOS
⭐️: 567
This media is not supported in your browser
VIEW IN TELEGRAM
Создаем атомный лоадер в Jetpack Compose

В этой статье мы создадим потрясающую 3D-анимацию Atomic Loader в Jetpack Compose.

Интересно? Давайте сделаем! ⚛️🚀

Статья: https://apptractor.ru/info/articles/sozdaem-atomanyy-loader-v-jetpack-compose.html
Платформа: Android
👍5
Voice - это удобное приложение для прослушивания аудиокниг на вашем Android-устройстве. Поддерживая широкий спектр аудиоформатов, включая MP3, M4A, OGG и другие, Voice Audiobook Player обеспечивает интуитивно понятный интерфейс, гладкий и комфортный опыт прослушивания вашей любимой аудиокниги.

Voice на GitHub
: https://github.com/PaulWoitaschek/Voice
Платформа: Android
⭐️: 2.4K
Время сборки и верификация модулей

Постепенно время сборки Secrets становилось все медленнее и медленнее, и я не замечал этого... до бета-версии Xcode 16, когда я почувствовал, что мне действительно нужно понять, что происходит.

Статья: https://apptractor.ru/info/articles/vremya-sborki-i-verifikatsiya-moduley.html
Платформа: iOS
Интересные приёмы, взятые из исходников Android

В процессе чтения исходников Android SDK я замечал интересные механики и приёмы написания кода, какие-то из них до сих пор используются при создании новых библиотек, другие, напротив, заменены более логичными и понятными конструкциями. В этой статье я постараюсь перечислить всё, что смог заметить сам при изучении исходников Android'а. Сразу отмечу: эта статья не претендует на полноту материала и возможно вы нашли даже больше интересных моментов при чтении кода.

Статья: https://habr.com/ru/companies/ruvds/articles/838330/
Платформа: Android
Все, что вы хотели знать о флагах в эмодзи (но не знали, что вам это нужно)

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

let emojiFlags = [
"AU": "🇦🇺",
"BE": "🇧🇪",
"BR": "🇧🇷",
"BS": "🇧🇸",
...
]

Но подождите. Оказывается, есть гораздо более простой способ сделать это (ну как «простой»… с программной точки зрения).

Статья: https://apptractor.ru/info/articles/vse-chto-vy-hoteli-znat-o-flagah-v-emodzi-no-ne-znali-chto-vam-eto-nuzhno.html
Платформа: iOS
👍2
Verge - это высокопроизводительная, масштабируемая библиотека управления состоянием для Swift, разработанная с учетом реальных сценариев использования. Она предлагает легкий и простой в использовании подход к управлению состоянием приложения без необходимости использования сложных действий и редукторов. Совместима с UIKit и SwiftUI.

Verge на GitHub: https://github.com/VergeGroup/swift-verge
Платформа: iOS
⭐️: 632
Как я разрушил свои стереотипы об автотестах, или Мой путь от Appium до Kaspresso

В этой статье хочу рассказать, как я прошел путь от Appium до open-source-фреймворка Kaspresso, с чего начинал, какие делал для себя открытия, как разрушались мои стереотипы и какие по итогу были сделаны выводы.

Статья: https://habr.com/ru/companies/kaspersky/articles/841136/
Платформа: Android
Темная сторона однонаправленных архитектур Swift

В этой статье речь пойдет о главной проблеме всех однонаправленных архитектур Swift. Собственно говоря, это не проблема однонаправленных архитектур как таковых. Скорее, это проблема моделирования действий или событий как значений. Я ее называю “пинг-понг-проблемой”. Все дело в “скачках” между разными местами кода, которые приходится преодолевать, чтобы получить целостное представление обо всем потоке.

Статья: https://nuancesprog.ru/p/21632/
Платформа: iOS
🌐 Все статьи про iOS за неделю

• Все, что вы хотели знать о флагах в эмодзи (но не знали, что вам это нужно)
• Как я решал задачу получения доступа к данным банковских приложений на iOS
• Дружим iPhone и ESP32. Часть 1. ESP Arduino Core
• Как встроить распознавание звуков в ваше iOS приложение на Swift с использованием SoundAnalysis
• Время сборки и верификация модулей
• Поваренная книга SwiftUI: списки и навигация — Часть 1
• Я получил новый iPhone, но мой аккаунт в социальных сетях заблокирован
• Apple забанила аккаунт компании победителя WWDC
Темная сторона однонаправленных архитектур Swift
(En) JavaScript to Swift and back: Bridging location services in WKWebView
(En) SwiftData’s new Index and Unique macros
(En) Elevate Your Testing Game with Swift Testing
(En) Limit Swift Concurrency’s cooperative pool
(En) Custom hover effects in SwiftUI
(En) Backport SwiftUI modifiers
(En) Hiding A SwiftUI View From Switch Control
(En) Animating SF Symbols on iOS 18
(En) The AirDrop Conundrum: Passing Custom Models From and To Your App
(En) SwiftUI Modifiers Deep Dive: containerRelativeFrame
(En) How-to: Symbolicate MetricKit Crashdiagnostics
(En) Walmart Software Engineer III — IOS (IN3) My Interview Experience
📺 SwiftUI Custom Popups — iOS 17 & 18
📺 SwiftUI TextRenderer
📺 SwiftUI Reorderable Scroll View — Custom Drag & Drop With Scroll Detection — iOS 18
📺 Create Modular iOS Apps with Swift Packages: Step-by-Step Guide!
📺 SwiftUI — Reorder a List (2 Ways)
📺 Fix This Problem with SwiftUI Lists
😺️ Verge — надежный фреймворк управления состоянием
😺️ Swift AST Explorer — визуализация абстрактного синтаксического дерева
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1