AppFiles - Mobile Development
2.01K subscribers
2.6K photos
33 videos
8 files
3.49K links
Библиотеки, обучающие статьи, курсы и видео для (мобильных) разработчиков. Если есть вопросы - пишите @lbogolubov.
Download Telegram
Используем Ktlint в вашем Android-проекте

Кровоточат ли ваши глаза, когда вы в чужом (или своем) коде натыкаетесь на лишние чересстрочные интервалы или, например, неиспользуемые импорты? Ktlint поможет вам предотвратить такие явления, предоставляя стандартные правила стилизации и форматирования, которые вы можете легко применить к своему проекту.

Статья: https://apptractor.ru/info/articles/ispolzuem-ktlint-v-vashem-android-proekte.html
Платформа: Android
👍1
LocalSend - это бесплатное приложение с открытым исходным кодом, позволяющее безопасно обмениваться файлами и сообщениями с близлежащими устройствами по локальной сети без необходимости подключения к Интернету. LocalSend использует защищенный протокол связи, который позволяет устройствам взаимодействовать друг с другом с помощью REST API. Все данные передаются по протоколу HTTPS, а сертификат TLS/SSL генерируется "на лету" на каждом устройстве, что обеспечивает максимальную безопасность. Приложения сделаны на Flutter и поддерживают Windows, macOS, Linux, Android, iOS и FireOS.

LocalSend на GitHub: https://github.com/localsend/localsend
Платформа: Flutter/кроссплатформа
⭐️: 23K
1
Сравнение производительности Compose и View

Jetpack Compose ускоряет разработку пользовательского интерфейса и в целом улучшает разработку под Android. Однако прежде чем добавлять новый инструмент в проект, обратите внимание на приводимые данные, поскольку фреймворк может повлиять на производительность сборки, размер APK и скорость работы приложения.

Статья: https://apptractor.ru/info/articles/sravnenie-proizvoditelnosti-compose-i-view.html
Платформа: Android
👍1
Отображение панели выбора фотографий в SwiftUI

Знаете ли вы, что Apple создала способ для SwiftUI получить доступ к фотографиям пользователя, не запрашивая разрешения и при этом сохраняя конфиденциальность? Мы расскажем о том, как это работает и как это можно использовать в собственных проектах.

Статья: https://apptractor.ru/info/articles/otobrazhenie-paneli-vybora-fotografiy-v-swiftui.html
Платформа: iOS
MaterialTabBar - настраиваемая плавающая панель вкладок с материальным фоном, написанная полностью на SwiftUI.

• TabBarContainer привязывает представления вашего приложения к вкладкам, используя @ViewBuilder.
• TabBarItemPreferenceKey используется для передачи данных от дочерних представлений к родительским.
• matchedGeometryEffect добавляет выборочное выделение элементов в плавающей капсуле.
• symbolEffect добавляет анимацию к значкам при переключении пользователем вкладок.

MaterialTabBar на GitHub: https://github.com/bodhichristian/MaterialTabBar
Платформа: iOS
⭐️: 31
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
Kaspresso для самых маленьких

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

Статья: https://habr.com/ru/companies/hh/articles/773910/
Платформа: Android/тестирование
👍2
Media is too big
VIEW IN TELEGRAM
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
👍2
Защита кода приложения Android. Когда хотели как лучше, а вышло не очень

В статье просто расскажу пару случаев из практики анализа защиты приложений Android. Имена и место событий изменены. Любые совпадения — случайность.

Статья: https://habr.com/ru/articles/774426/
Платформа: Android
1
Capturable - библиотека Jetpack Compose для преобразования Composable контента в растровые изображения. В предыдущей системе с View получение изображений из View было очень простым. Но с Jetpack Compose дело обстоит иначе, поскольку он во многих аспектах отличается от предыдущей системы. Данная библиотека позволяет легко добиться тех же результатов. Она построена на основе ComposeView и использует API View для рисования Bitmap-изображения.

Capturable на GitHub: https://github.com/PatilShreyas/Capturable
Платформа: Android
⭐️: 742
👍1
Программирование на параллельных машинах: GPU, многоядерные вычисления, кластеры и многое другое

Открытый (ака бесплатный) учебник от Норма Матлоффа, профессора компьютерных наук Калифорнийского университета.

Скачать: https://heather.cs.ucdavis.edu/parprocbook
Платформа: разработка
👍1
Листаем цифровые страницы: UIPageViewController

Сегодня я хочу поделиться кратким и простым руководством о том, как просто и программно реализовать UIPageViewController.

Статья: https://habr.com/ru/articles/774108/
Платформа: iOS
👍1
AcknowList - экран "Признательности", на котором отображается список лицензий, например, от зависимостей CocoaPods и Swift Package Manager. Может сам загружать список библиотек, поддерживает сториборды, темный режим, локализован на 13 языков, варианты UIKit и SwiftUI.

AcknowList на GitHub: https://github.com/vtourraine/AcknowList
Платформа: iOS
⭐️: 646
1👍1
Умный код — это, вероятно, худший код, который вы можете написать

Умный код труднее читать и он выглядит эзотерическим.

Понятный код труднее писать и он выглядит просто.

Статья: https://apptractor.ru/info/articles/umnyy-kod-eto-veroyatno-hudshiy-kod-kotoryy-vy-mozhete-napisat.html
Платформа: разработка
👍1
Строки в Swift выглядят одинаково, но не являются таковыми?

Недавно я столкнулся с проблемой, которая вызвала у меня недоумение. Две одинаковые строки отличались друг от друга. Как такое может быть?

Рассмотрим следующий код:

print("String1: '\(string1)'")
print("String2: '\(string2)'")

print(string1 == string2)


Получаем следующий вывод:

String1: '123456'
String2: '123456'
false


Что??

Статья: https://apptractor.ru/info/articles/stroki-v-swift-vyglyadyat-odinakovo-no-ne-yavlyayutsya-takovymi.html
Платформа: iOS
Exposed - это легковесная SQL-библиотека JetBrains поверх JDBC-драйвера для языка Kotlin. Exposed имеет два варианта доступа к базам данных: типобезопасный SQL-обертка DSL и облегченный Data Access Objects (DAO). Exposed может быть использован для работы с различными движками баз данных, что позволяет создавать приложения, не зависящие от конкретной БД, и переключаться между ними с минимальными изменениями или вообще без них.

Exposed на GitHub: https://github.com/JetBrains/Exposed
Платформа: Android
⭐️: 7.6K
👍1
Курс "Генеративный ИИ для начинающих" от Microsoft

В этом курсе авторы с нуля рассматривают концепции, которые позволят создать свой собственный стартап в области генеративного искусственного интеллекта на базе Azure OpenAI Services. Благодаря этому вы получите представление о том, что нужно сделать, чтобы вывести свои идеи на публику и получить прибыль. В каждом уроке рассматривается один из ключевых аспектов принципов генеративного ИИ и разработки приложений.

Сайт: https://microsoft.github.io/generative-ai-for-beginners/
Платформа: обучение
Пишем Kotlin DSL для графов навигации в домашних условиях

Расскажу, как мы сделали свой DSL для того, чтобы строить логику навигации в наших флоу.

Статья: https://habr.com/ru/companies/tinkoff/articles/775288/
Платформа: Android
Новые API для адаптивных макетов в Jetpack Compose

Мы выпустили первую альфа-версию наших новых адаптивных макетов Material. В первую очередь мы остановились на компонентах ListDetailPaneScaffold и NavigationSuiteScaffold.

Статья: https://apptractor.ru/info/articles/novye-api-dlya-adaptivnyh-maketov-v-jetpack-compose.html
Платформа: Android
Отладка представлений SwiftUI: что вызывает изменения?

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

Статья: https://apptractor.ru/info/articles/otladka-predstavleniy-swiftui-chto-vyzyvaet-izmeneniya.html
Платформа: iOS
👍1