AppFiles - Mobile Development
2.01K subscribers
2.56K photos
33 videos
8 files
3.45K links
Библиотеки, обучающие статьи, курсы и видео для (мобильных) разработчиков. Если есть вопросы - пишите @lbogolubov.
Download Telegram
Я.Субботник по мобильной разработке — 16 сентября!

Привет! 16 сентября Яндекс проводит большой митап по мобильной разработке, где разработчики расскажут о своих сервисах и технологиях, с которыми работают. Вас ждёт:

— 5 технических докладов от разработчиков Яндекса;
— Нетворкинг как в офлайне, так и для онлайн-зрителей;
— Видеотрансляция и доклады в открытом доступе сразу же после выступлений.

В этот раз мы собираем сообщество сразу в двух городах — в Москве и в Белграде! Выбирайте подходящий для вас город участия, оставляйте заявку, а мы рассмотрим все анкеты и пришлём приглашение на очную встречу или на онлайн-трансляцию😉

Ждём ваши заявки!
Программа и регистрация
Анализ производительности для ускорения сборок в Xcode

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

Статья: https://apptractor.ru/info/articles/analiz-proizvoditelnosti-dlya-uskoreniya-sborok-v-xcode.html
Платформа: iOS
Appyx - типобезопасная навигация + UI компоненты с жестами для Compose Multiplatform. Appyx предоставляет вам свободу в определении собственной модели навигации с использованием любого компонента. В Appyx нет понятия "экран" - есть только область просмотра, и все, что заполняет доступное пространство, будет казаться пользователю экраном.

Такая свобода позволяет реализовать:

• Навигацию, которая будет ощущаться как переход от экрана к экрану
• Навигацию "внутри экрана"
• Навигацию, которая является связующим звеном между ними.

Appyx на GitHub: https://bumble-tech.github.io/appyx/
Платформа: Android/кроссплатформа
⭐️: 839
1👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Добавляем анимации встряхивания в Composable

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

Статья: https://apptractor.ru/info/articles/dobavlyaem-animatsii-vstryahivaniya-v-composable.html
Платформа: Android
❤‍🔥1
English Pronunciation App - готовое приложение для изучения английский слов и тренировки их произношения. Сделано на MVC, Swift, XIB, Microsoft Azure Cognitive Speech, Firebase.

English Pronunciation App на GitHub: https://github.com/furkanbingol/EnglishPronunciation-App
Платформа: iOS
⭐️: 3
👍2
Проверяем ваш код на API, использование которых нужно будет объяснять

В этой статье я расскажу о скрипте, который поможет вам определить, используете ли вы в коде API для которых скоро Apple будет требовать объяснений.

Статья: https://apptractor.ru/info/articles/proveryaem-vash-kod-na-api-ispolzovanie-kotoryh-nuzhno-budet-obyasnyat.html
Платформа: iOS
Ускоряем сборку за счёт миграции с kapt на ksp

Меня зовут Катя Гущина, я Android-разработчик hh.ru. Хочу поделиться нашим опытом отказа от kapt в пользу ksp для обработки аннотаций и ускорения скорости сборки в большом проекте. В этой статье расскажу, что такое ksp, почему мы решили на него перейти, как проводили исследование и что из этого получилось.

Статья: https://habr.com/ru/companies/hh/articles/755952/
Платформа: Android
Konsist - это новый линтер, библиотека, которая обеспечивает согласованность проектов на языке Kotlin, способствуя стандартизации кодовой базы. Она обеспечивает соблюдение соглашений по кодированию и архитектуре проекта. Тесты Konsist написаны на языке Kotlin и могут быть легко интегрированы с популярными фреймворками тестирования, такими как JUnit4, JUnit5.

Konsist на GitHub: https://github.com/LemonAppDev/konsist
Статья: https://blog.kotlin-academy.com/introducing-konsist-a-cutting-edge-kotlin-linter-d3ab916a5461
Платформа: Android
⭐️: 77
👍2
Видео и подкасты за неделю:

(iOS Ru) Эластичная анимация
(iOS Ru) Декларативная навигация в iOS-приложении
(iOS Ru) История «Сбербанк Онлайн» на iOS
(iOS En) Beyond Basics: Can SwiftUI Handle the Challenge of Complex macOS Apps?
(iOS En) Debugging Macros in Swift with the AST Explorer
(iOS En) Accessibility in Swift: Dynamic Colors
(iOS En) Creating Bottom Sheets like in the "Find My" app using SwiftUI
(iOS En) Parallax Carousel Scroll Animation Using SwiftUI
(iOS En) iOS 17 Data Flow with Observation Framework
(And Ru) Ускоряем сборку за счёт миграции с kapt на ksp
(And Ru) Как узнать кто вызывал функцию? StackTrace стек вызовов в Kotlin & Java
(And Ru) Универсальные пуши для Android. FCM, HMS и RuStore в одном месте
(And En) Now in Android: 89 - Android 14 Beta 5, Compose for Wear OS, WebGPU, and more!
(And En) Full Guide to Bottom Sheets - UX With Material3
(Dev Ru) Рецепт юзабилити-тестирования
(Dev Ru) Как отдать технический долг
(Dev Ru) Trunk based development в мобильной разработке
(Dev En) Project IDX: Full-stack application development with generative AI

Посмотрели/выпустили какое-то другое интересное видео? Отправьте боту🧑🏻‍💻
👍2
GRDB - библиотека для работы с базой данных SQLite. Она может решать такие задачи, как:

• Генерация SQL: Создайте методы сохранения и извлечения данных, чтобы вам не приходилось иметь дело с SQL и необработанными строками, когда вы этого не хотите.

• Наблюдение за базой данных: Получайте уведомления о модификации значений базы данных.

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

• Миграции: Эволюция схемы базы данных по мере выпуска новых версий приложения.

Не всем разработчикам нужны расширенные возможности SQLite. Но когда это необходимо, GRDB будет настолько совершенной, насколько вы захотите. Приходите со своими знаниями SQL и SQLite или осваивайте новые в процессе работы!

GRDB на GitHub: https://github.com/groue/GRDB.swift
Платформа: iOS
⭐️: 6.1K
Подводные камни тестирования кода в Swift Concurrency

На связи Александр Пиманов и Камиль Ишмуратов, мы iOS-разработчики в IBS. В наших проектах мы активно используем новые технологии и стараемся покрывать наш код unit-тестами. В этой статье мы расскажем о проблемах тестирования асинхронного кода и как их можно попытаться решить.

Статья: https://habr.com/ru/companies/ibs/articles/756418/
Платформа: iOS
Как тестировщики с помощью пользовательского десктопа и видеокарты инфраструктуру строили

Меня зовут Сергей Павлов, и я работаю в команде Mobile Solutions Testing «Лаборатории Касперского» на позиции Senior Software Development Engineer in Test (SDET), где совмещаются навыки разработчика, тестировщика и DevOps. Я расскажу, как у нас получилось создать инфраструктуру на пользовательских десктопах, способную относительно стабильно и быстро запускать до 8 эмуляторов Android на машине. А также как мы запаковали практически все в Docker и научились грамотно разделять потоки тестов.

Статья: https://habr.com/ru/companies/kaspersky/articles/756436/
Платформа: Android
Практическая криптография

Бесплатная электронная книга по криптографии для разработчиков с примерами кода.

Сайт: https://cryptobook.nakov.com/
Платформа: разработка
Ivy Wallet - трекер расходов, который заменит старую добрую электронную таблицу для управления вашими личными финансами. Главным преимуществом Ivy Wallet является его UI/UX, простота и настраиваемость. Внутри Ivy Wallet - открытое приложение для Android, написанное 100% на Jetpack Compose и Kotlin. В нем также используются корутины, Kotlin Flow, Hilt (DI), Jetpack Compose Navigation, ArrowKt, DataStore и Room DB, Timber,
Firebase Crashlytics и другие инструменты.

Ivy Wallet на GitHub: https://github.com/Ivy-Apps/ivy-wallett
Платформа: Android
⭐️: 1.4K
🔥1
Месячная заруба с Apple. Встраиваем On-Demand Resources. Часть 1 + Рефакторим бридж. Часть 2

Поведаю вам историю в двух частях о том, как мы боролись с модерацией Apple на протяжении месяца, победили их, но всё равно решили играть по их правилам. В первой части я дам вам предысторию и способ внедрения On-Demand Resources. Во второй статье поговорим о том, как эти ресурсы связать с WKWebView и не сойти с ума.

Статья 1: https://habr.com/ru/articles/700650/
Статья 2: https://habr.com/ru/articles/757408/
Платформа: iOS
Бесплатный курс «LangChain: чат с вашими данными»

«LangChain: чат с вашими данными» — это новый бесплатный краткий курс Харрисона Чейза, генерального директора LangChain, в котором он рассказывает о том, как использовать LLM для общения с вашими собственными данными. Курс, рассчитанный примерно на час, размещен на платформе Deeplearning AI Эндрю Нг.

Про курс: https://apptractor.ru/learn/besplatnyy-kurs-langchain-chat-s-vashimi-dannymi.html
Платформа: ИИ
Как повысить яркость экрана в Android-приложении без запроса разрешения

Я хотел сделать экран в своем приложении ярче, но во всех статьях говорилось, что для этого нужны разрешения Android. Неправда! Вот как это можно реализовать.

Статья: https://apptractor.ru/info/articles/kak-povysit-yarkost-ekrana-v-android-prilozhenii-bez-zaprosa-razresheniya.html
Платформа: Android
🔥1
Compose Multiplatform 1.5.0

С сегодняшнего дня доступна версия Compose Multiplatform 1.5.0. Он представляет собой декларативный UI-фреймворк Jetpack Compose для Kotlin и расширяет его за пределы Android на десктоп, iOS и веб. Версия для настольных компьютеров стабильна, для iOS находится в стадии Alpha, а поддержка web-версии является экспериментальной.

В этом выпуске представлены следующие основные моменты:

• API Dialog, Popup и WindowInsets теперь находятся в общем коде.
• На iOS улучшена прокрутка, управление ресурсами и текстовыми полями.
• На десктопах стабилизирован фреймворк тестирования UI.

Новость: https://blog.jetbrains.com/kotlin/2023/08/compose-multiplatform-1-5-0-release/
Платформа: кроссплатформа