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

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

Статья: https://medium.com/@shubh.8998/in-this-blog-we-will-check-how-we-can-start-a-background-service-which-will-not-be-killed-by-d76dc9cf025a
Платформа: Android
👏1
5 простых шагов для поиска медленного кода с помощью Xcode Time Profiler

Xcode Time Profiler - это мощный инструмент анализа производительности. Он разработан специально для того, чтобы помочь разработчикам оптимизировать производительность приложений для iOS, macOS, watchOS и tvOS.

Статья: https://swiftsenpai.com/xcode/using-time-profiler/
Платформа: iOS
Mirador позволяет легко создавать впечатляющие AR-проекты на основе новой AR-платформы RealityKit от Apple, в частности легко и просто отображать POI в дополненной реальности. Библиотека использует визуальные якоря (используется ImageAnchor для распознавания 2D-изображений) для определения местоположения устройства, а затем заботится об отображении элементов AR в нужном месте.

Mirador создан Эндрю Хартом, который стал пионером AR-навигации и создал крупнейший проект с открытым исходным кодом для первой AR-платформы Apple - ARKit. Сейчас Эндрю является основателем компании Hyper, которая предлагает ту же технологию для розничных магазинов.

Mirador на GitHub: https://github.com/HyperARCo/Mirador
Платформа: iOS
⭐️: 381
"Введение в искусственный интеллект с Python" - бесплатный курс Гарварда

Используя Python, курс объясняет “концепции и алгоритмы, лежащие в основе современного искусственного интеллекта, погружаясь в идеи, породившие такие технологии, как игра в игры, распознавание рукописного текста и машинный перевод”.

При самостоятельном обучении предполагаемое время прохождения курса составляет 7 недель, если уделять ему 10-30 часов в неделю.

Новость: https://apptractor.ru/learn/vvedenie-v-iskusstvennyy-intellekt-s-python-besplatnyy-kurs-garvarda.html
Платформа: обучение
Работаем с SwiftData в SwiftUI

На WWDC Apple анонсировала новый фреймворк для работы с данными, обертку вокруг CoreData — SwiftData. Он позволяет быстро добавить персистентность в ваше приложение, с минимальным количеством кода и без внешних зависимостей.

Статья: https://apptractor.ru/info/articles/rabotaem-s-swiftdata-v-swiftui.html
Платформа: iOS
👍1👎1
Coroutines Playground: параллелизм + таймаут + обработка исключений

Возможно, вы читали о различных концепциях корутинов, в этой статье мы соберем все эти концепции вместе (ладно, не все, но некоторые 😉).

Статья: https://mangeshyadav786.medium.com/coroutines-playground-concurrency-timeout-exception-handling-f4b2489ceff8
Платформа: Android
👍1
Alkaa (начало, старт по-фински) - это проект для изучения новейших компонентов, архитектуры и инструментов для Android-разработки. Текущая версия Alkaa работает на Jetpack Compose, Kotlin, следует Material You, использует кортуины, Dynamic delivery, Koin для DI, Room, шестиугольную архитектуру.

Alkaa на GitHub: https://github.com/igorescodro/alkaa
Платформа: Android
⭐️: 930
👍2
Forwarded from IT Insights
DeviceScript - TypeScript для крошечных IoT-устройств

DeviceScript обеспечивает профессиональный опыт разработчика TypeScript для устройств на базе микроконтроллеров с низким уровнем ресурсов. DeviceScript компилируется в пользовательский байткод VM, который может работать в очень ограниченном окружении.

DeviceScript на GitHub: https://github.com/microsoft/devicescript
Backyard Birds - тестовая игра Apple с демонстрацией 3 новинок WWDC 2023. В ней модель данных реализуется с использованием SwiftData и она легко интегрируется со SwiftUI с помощью протокола Observable. Виджеты игры реализуют App Intents для интерактивных и настраиваемых виджетов. Для осуществления покупки в приложении используются ProductView и SubscriptionStoreView из StoreKit.

Backyard Birds на GitHub: https://github.com/apple/sample-backyard-birds
Платформа: iOS
⭐️: 203
👍1
Platform Samples - коллекция примеров применения различных API платформы Android.

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

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

Platform Samples на GitHub: https://github.com/android/platform-samples
Платформа: Android
⭐️: 234
This media is not supported in your browser
VIEW IN TELEGRAM
Практическое руководство по Jetpack Compose: создаем анимированную кнопку-счетчик

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

Статья: https://habr.com/ru/companies/otus/articles/740190/
Платформа: Android
😱2
AudioKit - это платформа синтеза, обработки и анализа звука для iOS, macOS (включая Catalyst) и tvOS. Это целая экосистема разработки вокруг аудио, состоящая из репозиториев кода, пакетов, библиотек, алгоритмов, приложений, тестовых площадок, тестов и скриптов, созданная и используемая сообществом аудио программистов, разработчиков приложений, инженеров, исследователей, ученых, музыкантов, геймеров и людей, только начинающих программировать.

AudioKit на GitHub: https://github.com/AudioKit/AudioKit
Платформа: iOS
⭐️: 9.9K
👍2
Как Tokopedia добилась ускорения тестов в 8 раз

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

Перевод: https://apptractor.ru/info/articles/hvatit-tratit-vremya-na-modulnoe-testirovanie-kak-tokopedia-dobilas-uskoreniya-testov-v-8-raz.html
Платформа: iOS/тестирование
Compose-recompose: почему происходят рекомпозиции и как уменьшить их количество

Когда изменяется состояние приложения или данных, используемых для отображения пользовательского интерфейса, Compose перестраивает только те компоненты, которые зависят от изменённых данных. Это позволяет Compose работать очень эффективно, перестраивая только необходимые части пользовательского интерфейса.

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

Статья: https://habr.com/ru/companies/yandex/articles/739510/
Платформа: Android
👍1
Media is too big
VIEW IN TELEGRAM
Card Game Animation - пример анимации карточной колоды на Jetpack Compose.

Card Game Animation на GitHub: https://github.com/MohamedRejeb/Card-Game-Animation
Платформа: Android
⭐️: 54
Где и как можно ускорить приложение на Android

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

Статья: https://habr.com/ru/companies/yandex/articles/721984/
Платформа: Android
👎1
SwiftSyntax - это набор библиотек Swift для разбора, проверки, генерации и преобразования исходного кода Swift. С его помощью вы можете, например, реализовать построение дерева исходного кода и сделать собственную подсветку синтаксиса, изменять код на лету, генерировать документацию и прочее. Собственно, большинство собственных инструментов Apple как раз и используют SwiftSyntax.

SwiftSyntax на GitHub: https://github.com/apple/swift-syntax
Платформа: iOS
⭐️: 2.3K