AppFiles - Mobile Development
Kanalga Telegram’da o‘tish
Библиотеки, обучающие статьи, курсы и видео для (мобильных) разработчиков. Если есть вопросы - пишите @lbogolubov.
Ko'proq ko'rsatish2 170
Obunachilar
Ma'lumot yo'q24 soatlar
+47 kunlar
+630 kunlar
Postlar arxiv
Twitter UI Clone - клон пользовательского интерфейса Twitter, полностью построенный с помощью Jetpack Compose, вдохновленный недавним внедрением этой технологии в приложение Twitter для Android. Задача состояла в том, чтобы воссоздать пользовательский интерфейс Twitter до мельчайших деталей, и этот проект был выполнен без использования сторонних библиотек. Внутри Jetpack Compose с эффектами, MVVM, Compose Navigation, Material 3.
Twitter UI Clone на GitHub: https://github.com/Mahfoudh-Aggoun/Twitter-UI-clone-jetpack-compose-
Платформа: Android
⭐️: 8
Kaspresso для самых маленьких
Меня зовут Элчин, я занимаюсь автоматизацией тестирования мобильных приложений в hh.ru и расскажу вам о том, как написать первый тест на Android. В разработке автотестов мы используем Kotlin и нативный фреймворк Kaspresso, о котором я напишу подробней в этой статье. Эта статья рассчитана на начинающих тестировщиков, но, возможно, и более опытные коллеги найдут для себя что-то полезное.
Статья: https://habr.com/ru/companies/hh/articles/773910/
Платформа: Android/тестирование
10 быстрых советов по повышению качества iOS-кода: часть 2
1. Составляйте интерфейсы из компонентов
2. Переиспользуйте стилизацию с помощью модификаторов представления
3. Включите модульные тесты
4. Обрабатывайте ошибки
5. Документируйте код
6. Перечисления
7. Core Data + SwiftUI
8. Руководство по стилю
9. Инъекция зависимостей
10. Дизайн-система
Статья: https://apptractor.ru/info/articles/10-bystryh-sovetov-po-povysheniyu-kachestva-ios-koda-chast-2.html
Платформа: iOS
MaterialTabBar - настраиваемая плавающая панель вкладок с материальным фоном, написанная полностью на SwiftUI.
• TabBarContainer привязывает представления вашего приложения к вкладкам, используя @ViewBuilder.
• TabBarItemPreferenceKey используется для передачи данных от дочерних представлений к родительским.
• matchedGeometryEffect добавляет выборочное выделение к плавающей капсуле.
• symbolEffect добавляет анимацию к значкам при переключении пользователем вкладок.
MaterialTabBar на GitHub: https://iosexample.com/a-customizable-floating-tab-bar-with-a-material-background/
Платформа: iOS
⭐️: 31
Отображение панели выбора фотографий в SwiftUI
Знаете ли вы, что Apple создала способ для SwiftUI получить доступ к фотографиям пользователя, не запрашивая разрешения и при этом сохраняя конфиденциальность? Мы расскажем о том, как это работает и как это можно использовать в собственных проектах.
Статья: https://apptractor.ru/info/articles/otobrazhenie-paneli-vybora-fotografiy-v-swiftui.html
Платформа: iOS
Сравнение производительности Compose и View
Jetpack Compose ускоряет разработку пользовательского интерфейса и в целом улучшает разработку под Android. Однако прежде чем добавлять новый инструмент в проект, обратите внимание на приводимые данные, поскольку фреймворк может повлиять на производительность сборки, размер APK и скорость работы приложения.
Статья: https://apptractor.ru/info/articles/sravnenie-proizvoditelnosti-compose-i-view.html
Платформа: Android
LocalSend - это бесплатное приложение с открытым исходным кодом, позволяющее безопасно обмениваться файлами и сообщениями с близлежащими устройствами по локальной сети без необходимости подключения к Интернету. LocalSend использует защищенный протокол связи, который позволяет устройствам взаимодействовать друг с другом с помощью REST API. Все данные передаются по протоколу HTTPS, а сертификат TLS/SSL генерируется "на лету" на каждом устройстве, что обеспечивает максимальную безопасность. Приложения сделаны на Flutter и поддерживают Windows, macOS, Linux, Android, iOS и FireOS.
LocalSend на GitHub: https://github.com/localsend/localsend
Платформа: Flutter/кроссплатформа
⭐️: 23K
Используем Ktlint в вашем Android-проекте
Кровоточат ли ваши глаза, когда вы в чужом (или своем) коде натыкаетесь на лишние чересстрочные интервалы или, например, неиспользуемые импорты? Ktlint поможет вам предотвратить такие явления, предоставляя стандартные правила стилизации и форматирования, которые вы можете легко применить к своему проекту.
Статья: https://apptractor.ru/info/articles/ispolzuem-ktlint-v-vashem-android-proekte.html
Платформа: Android
Что не так с «Авророй» — российской мобильной OC
1. Сомнительная репутация. Для «Авроры» разрабатывают гаджеты из китайских компонентов, которые позже называют отечественными. В результате получаются дорогие копии дешевых китайских планшетов и смартфонов.
2. Некорректная трансляция целей. Многочисленные заявления участников процесса создают впечатление, что «Аврора» постоянно что-то обещает и получает финансирование, но не приближается к заявленным целям. Это подрывает доверие аудитории. При этом заявлений от самих создателей «Авроры» за все годы было немного — буквально несколько штук.
3. Неправильный подход к популяризации. У «Авроры» нет экосистемы, которая нужна потенциальному пользователю — чиновнику, сотруднику корпорации, учителю или врачу. Тем не менее, в правительстве витает идея импортозамещения и есть риск, что ведомствам и компаниям придется переходить на «Аврору» в принудительном порядке. Насильственная популяризация вызывает отторжение.
Статья: https://habr.com/ru/articles/773522/
Платформа: разработка
Orbital - библиотека анимации Jetpack Compose, позволяющая реализовать Движение, Трансформацию и Переход между общими элементами. Эта библиотека поддерживает и Kotlin Multiplatform (Android, iOS, Desktop, macOS и js).
Orbital на GitHub: https://github.com/skydoves/Orbital
Платформа: Android
⭐️: 791
Вопросы с собеседований: зачем нужен класс nothing в Kotlin
Использование
Nothing помогает улучшить безопасность типов в Kotlin, так как компилятор может обнаружить, если вы пытаетесь использовать значение из функции, которая должна завершиться исключением или бесконечным циклом.
Сниппет: https://apptractor.ru/info/techhype/voprosy-s-sobesedovaniy-zachem-nuzhen-klass-nothing-v-kotlin.html
Платформа: Android10 быстрых советов по повышению качества iOS-кода: часть 1
1. Используйте паттерн расширения для группировки фрагментов кода
2. Определите максимальное количество строк в файле
3. Создавайте переменные и функции с описательными именами
4. Используйте преимуществ typealias
5. Позаботьтесь о «неправильном пути».
6. Опишите принудительное разворачивание и индексы
7. Правильно работайте с конфиденциальной информацией
8. Избегайте дублирования кода
10. Используйте преимущества встроенных функций
Статья: https://apptractor.ru/develop/coding/10-bystryh-sovetov-po-povysheniyu-kachestva-ios-koda-chast-1.html
Платформа: iOS
Язык программирования Swift компании Apple прекрасно дополняется технологией сериализации Protocol Buffer ("protobuf") компании Google. Они оба ориентированы на высокую производительность и безопасность программирования. В данном проекте Swift Protobuf представлена как утилита командной строки, добавляющая генерацию Swift-кода к Google protoc, так и рантайм библиотека, необходимая для использования сгенерированного кода.
Swift Protobuf на GitHub: https://github.com/apple/swift-protobuf
Платформа: iOS
⭐️: 4.3K
Видео и подкасты за неделю:
•
(iOS Ru) Паттерн Координатор для навигация в iOS-приложении
• (iOS En) Swift Macros 101: Your Step-by-Step Guide To Crafting Your First Macro!
• (iOS En) SwiftData Containers and Preview Data
• (iOS En) Using SwiftUI and ReplayKit: Build an iOS Screen-Sharing App
• (iOS En) Building Scrollable Tab View With New iOS 17 APIs
• (iOS En) Building Complex Scroll Animations With New iOS 17 APIs
• (iOS En) NSSpain XI Videos
• (And Ru) Ошибки при проектировании публичного API наших библиотек, и как мы их решали
• (And En) Practical magic with animations in Jetpack Compose
• (And En) Compression Streams support on all browsers, Android’s New Credential Manager, and more dev news!
• (And En) Are One-Time Events an Anti-Pattern? - Why Almost Every Android Dev Does It Wrong!
• (And En) The Ultimate Guide to Android Splash Screen Animations – Splash API
• (Crs En) KMPizza with Lena Stepanova
• (Dev Ru) Podlodka #342: пишем язык внутри языка
• (Dev En) Arduino Course for Everybody
• (Mrk Ru) Как определить топ USP при запуске нового продукта
Поставьте 👍, если понравилась подборка. А если вы увидели/выпустили какое-то другое интересное видео - отправьте боту🧑🏻💻BabaBASIC - интерпретатор QuickBASIC 4.5 для платформы Android.
BabaBASIC на GitHub: https://github.com/ianatha/bababasic/
Платформа: Android
⭐️: 55
Chat - UI-фреймворк для чата с полностью настраиваемыми ячейками сообщений и встроенным медиа-пикером. Отображает сообщения с прокруткой, позволяет создавать и "отправлять" новые сообщения (под отправкой понимается вызов замыкания), позволяет передавать кастомный конструктор представлений для сообщений и ввода, имеет встроенную библиотеку выбора фотографий и видео, есть отображение полноэкранного меню при длительном нажатии на ячейку сообщения, есть поддержка функции "ответить на сообщение" через меню, поддержка записи голоса, видео/фото и текста.
Chat на GitHub: https://github.com/exyte/Chat
Платформа: iOS
⭐️: 334
inshellisense предоставляет автозаполнение в стиле IDE для терминала. Это нативный рантайм с автодополнением, поддерживающий 600+ операторов командной строки. Поддерживает Windows, Linux и MacOS.
inshellisense на GitHub: https://github.com/microsoft/inshellisense
Платформа: разработка
⭐️: 1.7K
Делаем первый App Shortcut
Одна из моих любимых особенностей создания действий приложения с помощью AppIntents - простота создания прототипов. Я могу пройти путь от идеи до работающего действия менее чем за час. В этом руководстве я расскажу вам о том, как создать первое действие для приложения Shortcuts.
Статья: https://apptractor.ru/info/articles/delaem-pervyy-app-shortcut.html
Платформа: iOS
BeepBeep - это платформа для доставки еды и заказа такси, призванная продемонстрировать возможности Kotlin. В ней есть мобильные приложение для пользователей, приложения для управления рестораном, приложения для водителей, для доставщиков - все это для iOS и Android на Compose Multiplatform. Есть приложение с дашбордами на нем же для Mac, Linux и Windows, приложение для поддержки. Есть несколько микросервисов на Kotlin с Ktor для поддержки всего этого.
BeepBeep на GitHub: https://github.com/TheChance101/beep-beep
Платформа: Android/кроссплатформа
⭐️: 413
Корутины против потоков: тест потребления памяти
Корутины Kotlin часто называют облегченными потоками. Причина в том, что теоретически корутина может потреблять меньше памяти, чем поток. К сожалению, официальных цифр в этом контексте я не встречал, поэтому решил создать бенчмарк для количественной оценки разницы в потреблении памяти потоками и корутинами в приложениях для Android. В этой заметке я расскажу об основных идеях и проблемах, лежащих в основе этого бенчмарка, а также поделюсь его результатами.
Статья: https://apptractor.ru/info/articles/kotlin-coroutines-vs-threads-memory-benchmark.html
Платформа: Android
Endi mavjud! Telegram Tadqiqoti 2025 — yilning asosiy insaytlari 
