AppFiles - Mobile Development – Telegram
AppFiles - Mobile Development
2.13K subscribers
2.76K photos
38 videos
11 files
3.69K links
Библиотеки, обучающие статьи, курсы и видео для (мобильных) разработчиков. Если есть вопросы - пишите @lbogolubov.
Download Telegram
8 советов по производительности Swift, которые я узнал после многих лет программирования

Я хотел поделиться этими советами по производительности Swift, которые, как мне кажется, должны быть известны каждому, поскольку мне потребовалось много усилий и ошибок, чтобы научиться этому. Итак, вот восемь советов по производительности, которые реально изменили мои проекты:

1. Отдавайте предпочтение структурам, а не классам
2. Используйте ленивые свойства для ресурсоемких инициализаций
3. Оптимизация массивов путем предварительного распределения объема
4. Используйте параллелизм Swift с помощью Async/Await
5. Сведите к минимуму использование Optional в коде, критичном к производительности
6. Используйте типы данных для обеспечения потокобезопасности
7. Оптимизируйте операции со строками с помощью String API
8. Профилирование и бенчмаркинг с помощью Xcode Instr8 советов по производительности Swift, которые я узнал после многих лет программирования

Статья: https://apptractor.ru/info/articles/8-sovetov-po-proizvoditelnosti-swift-kotorye-ya-uznal-posle-mnogih-let-programmirovaniya.html
Платформа: iOS
👍2🤔2
Пишем простой плагин для Android Studio

В настоящий момент для разработки используем Flutter и в наших проектах стараемся придерживаться принципов чистой архитектуры типа feature-first. Из-за этого приходится создавать множество папок и файлов по одному и тому же шаблону, поэтому в целях ускорения разработки было принято решение по написанию простого плагина для Android Studio.

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

Статья: https://habr.com/ru/articles/880160/
Платформа: Android
1
Mantis - это библиотека для обрезки (кропа) изображений для iOS, написанная на Swift и обеспечивающая богатые возможности обрезки для вашего приложения для iOS/Mac. Поддерживает разные формы (в том числе кастомные), кнопку отмены.

Mantis на GitHub: https://github.com/guoyingtao/Mantis
Платформа: iOS
⭐️: 965
👍1
Обновления в Swift Concurrency: что нас ждёт в Swift 6

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

Статья: https://habr.com/ru/companies/yandex/articles/879078/
Платформа: iOS
👍1
👍62👎1
Grit - простой список дел и трекер привычек. Со временем автор планирует превратить это приложение в центр продуктивности с множеством социальных функций, таких как обмен информацией о прогрессе в виде красивых карточек.

Приложение построено на основе Material3, Room, Alarm Manager API, корутин, MVVM и Glance.

Grit на GitHub: https://github.com/shub39/Grit
Платформа: Android
⭐️: 117
👍1
Параллелизм в Android SQLite

В статье обсуждаются ограничения однопоточного доступа к базе данных по умолчанию и предлагаются методы повышения производительности за счет использования Write-Ahead Logging (WAL) и настройки диспетчеров корутин. Рекомендуется применять Dispatchers.IO.limitedParallelism() для управления параллельными запросами и рассмотреть возможность использования Room с подключенной версией SQLite для улучшения производительности. Подробности доступны по ссылке.

Статья: https://blog.p-y.wtf/parallelism-with-android-sqlite
Платформа: Android
👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Создание интерактивных виджетов с помощью App Intents

В этой статье говорится про то, как App Intents позволяют улучшить взаимодействие с пользователем, предоставляя возможность выполнять действия непосредственно с главного экрана. Автор подробно описывает процесс настройки и интеграции App Intents в виджеты, а также делится примерами кода и практическими рекомендациями. Для iOS-разработчиков, стремящихся повысить интерактивность своих приложений, эта статья будет полезным ресурсом.

Статья: https://tiagohenriques.vercel.app/blog/interactive-widgets-using-app-intents
Платформа: iOS
👍1
Дешевые разработчики - до следующей программной катастрофы всего один неудачный найм

Я никогда не забуду совещание, на котором «оптимизация затрат» стала корпоративным трендом, означающим «давайте уволим наших архитекторов и наймем больше рабочих». Блестящего инженера, с которым я проработал много лет - из тех, кто мог отлаживать критические ошибки в ядре во сне, - выпроводили, а его команда получила в наследство свежего junior-сотрудника, только что выучившего React.

Это не единичный случай. Это эпидемия.

Статья: https://apptractor.ru/info/articles/deshevye-razrabotchiki.html
Платформа: разработка
2
Понимаем SwiftUI Preferences

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

Статья: https://peterfriese.dev/blog/2025/swiftui-preferences-swift6/
Платформа: iOS
👍1
XMTP - крупнейшая и самая безопасная децентрализованная сеть обмена сообщениями. Xmtp-ios представляет собой Swift-реализацию клиента XMTP message API для использования в iOS-приложениях.

Используйте xmtp-ios для для отправки сообщений между блокчейн-аккаунтами, включая DM, уведомлений, анонсов и многого другого.

Xmtp-ios на GitHub: https://github.com/xmtp/xmtp-ios
Платформа: iOS
⭐️: 38
👍1
Развитие Android глазами разработчика

Довольно много времени прошло с 2007 года, когда Android стал доступен для разработчиков. С тех пор прошло почти 18 лет. За это время изменилось примерно все: железо стало мощнее, интернет быстрее, IDE умнее, а проекты сложнее. Предлагаю оглянуться назад и посмотреть, что же именно изменилось с тех пор для разработчиков.

Статья: https://habr.com/ru/companies/oleg-bunin/articles/879836/
Платформа: Android
1
Использование ChatGPT o3-mini и DeepSeek при создании iOS приложения “Страны Мира”

Раньше я отдавала предпочтение Clause 3.5 Sonnet при создании iOS приложений, прибегая к ChatGPT 4.o1 для решения отдельных проблем.

Но при разработке этого конкретного iOS приложения Clause 3.5 Sonnet оказался совершенно беспомощным при декодировании нестандартных JSON данных API Всемирного Банка, поставляющих информацию о странах, и пришлось обратиться за помощью к ChatGPT 4.o1, Gemini 2.0 Flash и ChatGPT 4.o-preview.

Статья: https://habr.com/ru/articles/880824/
Платформа: iOS
🔥2👍1
От Android к Multiplatform: дорожная карта

Погружаться в новую технологию очень интересно, особенно с перспективой консолидации кода разных платформ. Однако прежде чем представить эту многообещающую идею владельцам продуктов - «одна кодовая база для нескольких платформ», - важно понять, какой путь предстоит пройти. От первоначального планирования до первой строки многоплатформенного кода - переход может занять месяцы подготовки. В этой статье описывается реальный пример миграции большого проекта на KMP.

Статья: https://apptractor.ru/info/articles/ot-android-k-multiplatform-dorozhnaya-karta.html
Платформа: Android/кроссплатформа
1
Изучаем основы Android XR

Кодлаб от Google по разработке для Android XR. В этом лабораторной работе вы улучшите базовое одноэкранное приложение, чтобы обеспечить захватывающий пользовательский опыт на Android XR.

Что вы узнаете:

• Уникальные пользовательские возможности, которые дает форм-фактор XR.
• Основы адаптации приложений к работе на гарнитуре Android XR с помощью композабл элементов, предоставляемых библиотекой Jetpack Compose XR.
• Как использовать элементы пользовательского интерфейса, предоставляемые библиотекой Compose XR.
• Где можно узнать больше о создании приложений для Android XR.

Кодлаб: https://developer.android.com/codelabs/xr-fundamentals-part-1
Платформа: Android
1
Реализация Face ID аутентификации в SwiftUI

В статье рассматривается использование фреймворка LocalAuthentication от Apple для внедрения биометрической аутентификации, такой как Face ID или Touch ID, в iOS-приложения. Это позволяет обеспечить безопасный доступ пользователей к конфиденциальным данным.

Основные моменты:

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

Статья: https://tanaschita.com/ios-local-authentication/
Платформа: iOS
👍1
Детские ошибки при сборке Gradle-приложений

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

Статья: https://habr.com/ru/companies/alfa/articles/876382/
Платформа: Android
1