AppFiles - Mobile Development
2.14K subscribers
2.81K photos
38 videos
11 files
3.75K links
Библиотеки, обучающие статьи, курсы и видео для (мобильных) разработчиков. Если есть вопросы - пишите @lbogolubov.
Download Telegram
Бессерверный ИИ для Android-приложений с Firebase AI Logic

Цель этой статьи — показать, почему бессерверный ИИ на Android наконец-то стал практичным, и как Firebase AI Logic делает его удивительно простым.

Статья: https://apptractor.ru/info/articles/firebase-ai-logic.html
Платформа: Android/ИИ

👨‍🦯‍➡️ AppFiles: код, инструменты, практики, производительность
Please open Telegram to view this post
VIEW IN TELEGRAM
Cash Sense - Android-приложение для управления финансами

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

Cash Sense на GitHub: https://github.com/nikbulavin/cashsense
Платформа: Android
⭐️: 175

👨‍🦯‍➡️ AppFiles: код, инструменты, практики, производительность
Please open Telegram to view this post
VIEW IN TELEGRAM
1
App Store Toolkit - инструменты локализации iOS-приложений

App Store Toolkit - набор из нескольких инструментов для локализации iOS-приложений. Есть локализация .xcstrings, настройка стоимости подписки для разных стран, перевод мета-данных и генератор скриншотов для App Store Connect. Все это с помощью ИИ и локальных сервисов.

App Store Toolkit на GitHub: https://github.com/fayharinn/iOS-App-Distribution-Localizer
Платформа: iOS/Web
⭐️: 24

👨‍🦯‍➡️ AppFiles: код, инструменты, практики, производительность
Please open Telegram to view this post
VIEW IN TELEGRAM
Безопасный обмен данными между приложениями на Android: intents, URI schemes, shared preferences

Системы злоумышленников постоянно эволюционируют, появляются новые атаки и новые защиты. То, что работало в Android 8, может быть небезопасно в Android 14. Поэтому безопасность в Android - это не разовая настройка, а процесс.

Мой главный совет: читайте Android Security Bulletins, следите за CVE, связанными с вашими зависимостями, и регулярно проводите аудит своего кода.

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

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

👨‍🦯‍➡️ AppFiles: код, инструменты, практики, производительность
Please open Telegram to view this post
VIEW IN TELEGRAM
React Native. Часть 1: архитектура, производительность и варианты использования

React Native прошел путь от решения с фундаментальными архитектурными ограничениями до платформы с современным, производительным ядром. В этой статье мы разберем, как работала старая архитектура на основе Bridge, как ее заменили JSI, Fabric и Hermes, и в каких случаях React Native - оптимальный выбор для проекта.

Статья: https://habr.com/ru/articles/989776/
Платформа: кроссплатформа

👨‍🦯‍➡️ AppFiles: код, инструменты, практики, производительность
Please open Telegram to view this post
VIEW IN TELEGRAM
Простые синтаксические приёмы в Swift

В этой статье - несколько практических приёмов и особенностей Swift, которые помогают писать код проще, короче и понятнее. Здесь не будет абстрактной теории — только реальные примеры, которые можно сразу применять в проектах: от сопоставления с шаблоном и работы с optional до безопасной обработки строк и чисел. Если вы хотите, чтобы ваш Swift-код выглядел аккуратно и «по-свифтовски», эти советы точно пригодятся.

Статья: https://apptractor.ru/info/articles/prostye-sintaksicheskie-priyomy-v-swift.html
Платформа: iOS

👨‍🦯‍➡️ AppFiles: код, инструменты, практики, производительность
Please open Telegram to view this post
VIEW IN TELEGRAM
1
WiFi Mirror - шаринг экрана через Wi-Fi

WiFi Mirror - кроссплатформенные приложения для шаринга экрана в локальных сетях.

WiFi Mirror обеспечивает шаринг экрана в режиме реального времени между устройствами, подключенными к одной локальной сети. Разработанное на Flutter, оно поддерживает платформы Android, iOS, macOS, Windows, Linux и Web с непрерывным peer-to-peer подключением.

WiFi Mirror на GitHub: https://github.com/navneetprajapati26/wifi-mirror
Платформа: кроссплатформа
⭐️: 19
👍1
📺 Видео и подкасты за неделю

(iOS En) SwiftUI Sortable Grid View
(iOS En) Managing Undo/Redo State in SwiftUI
(iOS En) I Built a macOS Transcription App with Codex 5.2 + Xcode (Real Workflow)
(iOS En) SwiftUI Pickers Deep Dive
(And Ru) Пишу свой телеграм клиент на Android по TDD
(And En) Why you should delete your base classes on Android (BaseActivity, BaseViewModel, etc.)
(And En) Making Apps Accessible with Kotlin and Compose
(And En) Refactor Kotlin code from OO to functional - step by step, safely, and pragmatically
(And En) Unused Return Value Checker in Kotlin 2.3
(And En) Explicit Backing Fields in Kotlin 2.3 - What You Need to Know
(And En) Stop using LaunchedEffect for passing an Argument to a ViewModel
(Crs Ru) Опасный Flutter… Или нет?
(Crs Ru) Курс Dart и Flutter вместе
(Crs En) How to Switch the App Language In KMP (Android & iOS)
(Dev Ru) AntiSOLID
(Dev Ru) Железо для ИИ — AI, Hardware, GPU, Cerebras
(Dev En) Relational Database Design – Full Course

Прошлогодние видео
:

(iOS Ru) Как мы адаптировали проект к Strict Concurrency Checking — Swift 6
(iOS Ru) Как избежать утечек памяти при использовании Task, Combine, CurrentValueSubject и AsyncStream
(And Ru) Построение multi-app архитектуры
(And Ru) Старт карьеры в Android-разработке до 18 лет
(And Ru) Compose Navigation Codelab: проходим кодлаб от Google
(Dev Ru) Проектирование и запуск разработки
Please open Telegram to view this post
VIEW IN TELEGRAM
Как я ускорил холодный старт Android-приложения в 10 раз

Разбор реального кейса оптимизации Android-приложения: как сократить время холодного старта с 17 до 1.7 секунд, улучшив retention с 82% до 98.5%. Конкретные решения: миграция на Splash Screen API, система фоновых задач, реактивная загрузка данных и оптимизация бэкенда.

Статья: https://nek12.dev/blog/ru/how-to-speed-up-android-app-launch-baseline-profiles-startup-optimization-splash-screen
Платформа: Android

👨‍🦯‍➡️ AppFiles: код, инструменты, практики, производительность
Please open Telegram to view this post
VIEW IN TELEGRAM
2
FabBar - панель вкладок с Liquid Glass и плавающей кнопкой действия

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

В iOS 26 с панелью вкладок разработчики могут объявить вкладку с ролью .search и использовать ее в качестве основного действия, но у этого подхода есть несколько проблем:

• Вы обманываете систему, это на самом деле не вкладка поиска.
• VoiceOver читает ее как вкладку, а не как кнопку.
• Требуется слушатель изменений вкладок и их отмена в SwiftUI, что подвержено состояниям гонки.
• Отсутствует возможность изменения цвета, поэтому это выглядит как вкладка поиска, а не как основное действие.

У разработчиков есть еще один вариант: размещение пользовательской плавающей кнопки действия над панелью вкладок. Обычно она размещается в правой части экрана. Однако в iOS 26 с центрированной панелью вкладок это создает неудобную компоновку. При наличии менее четырех вкладок по обе стороны панели остается пустое пространство, а размещение кнопки FAB на крае создает несбалансированное пустое пространство. При этом нет возможности настроить расположение или размер стандартной панели вкладок, чтобы обойти это.

FabBar предлагает одно решение: полностью пересоздать панель вкладок для полного контроля.

Как это работает

FabBar предоставляет API SwiftUI, но внутри использует UIKit.

Ключевая проблема в точном воссоздании панели вкладок — это эффект «пузырькового» интерактивного стекла при касании. Этот эффект доступен только для панелей вкладок и еще одного компонента: сегментированных элементов управления. FabBar использует UISegmentedControl в качестве основы, скрывая стандартные метки и накладывая пользовательские представления элементов вкладок.

Почему UIKit? FabBar манипулирует внутренней иерархией представлений UISegmentedControl, чтобы скрыть собственные метки и наложить пользовательские представления. Это невозможно с помощью Picker из SwiftUI. Кроме того, смешивание пользовательских элементов управления UIKit с методом .glassEffect() из SwiftUI вызывает проблемы с частотой кадров во время сенсорного взаимодействия.

Этот подход по своей природе ненадежен и может перестать работать после обновлений ОС. 

FabBar на GitHub: https://github.com/ryanashcraft/FabBar
Платформа: iOS
⭐️: 76

👨‍🦯‍➡️ AppFiles: код, инструменты, практики, производительность
Please open Telegram to view this post
VIEW IN TELEGRAM
Видео droidcon London 2025

В этом плейлисте более 70 видео с конференции droidcon London, которая прошла в прошлом году в конце октября. 

Видео: https://www.youtube.com/playlist?list=PL9Pfzam3fFde4NtK6Nkca3zsK7Pg2Juqy
Платформа: Android

👨‍🦯‍➡️ AppFiles: код, инструменты, практики, производительность
Please open Telegram to view this post
VIEW IN TELEGRAM
Развитие Android-разработки в 2026 году

Несколько лет назад решение было простым. Вы изучали Android, создавали приложения для телефонов, выпускали новые функции, исправляли ошибки и постепенно осваивались в этой роли. Сегодня же этот выбор сопровождается сомнениями. Люди спрашивают, актуальна ли еще нативная Android-разработка, заменят ли ее Flutter или React Native, и стоит ли вообще углубленно изучать Android.

Замешательство исходит не только от новичков. Даже опытные Android-разработчики тихонько задаются вопросом о своем пути, поскольку экосистема продолжает расширяться за пределы телефонов. Складные устройства меняют размер экрана прямо во время работы. Планшеты возвращаются. Приложения Android работают на автомобилях, телевизорах и настольных компьютерах. В то же время компании продолжают стремиться к более быстрой разработке с меньшим количеством разработчиков и общими кодовыми базами.

Android не стал внезапно сложнее. Ожидания стали.

Статья: https://apptractor.ru/info/articles/plan-razvitiya-android-razrabotki-na-2026-god.html
Платформа: Android

👨‍🦯‍➡️ AppFiles: код, инструменты, практики, производительность
Please open Telegram to view this post
VIEW IN TELEGRAM
Перевод iOS-приложения с платной модели на freemium

Платные приложения, за которые надо заплатить авансом, могут быть сложными для продвижения в App Store. Страница вашего продукта может получать много просмотров, но если эти просмотры не приводят к загрузкам, что-то нужно менять. Именно в такой ситуации я оказался с Maxine: приличный трафик, почти никаких продаж.

Статья: https://apptractor.ru/info/articles/perevod-ios-prilozheniya-s-platnoy-modeli-na-freemium.html
Платформа: iOS

👨‍🦯‍➡️ AppFiles: код, инструменты, практики, производительность
Please open Telegram to view this post
VIEW IN TELEGRAM
Пишем игру-головоломку под macOS на SwiftUI [StarDust Collector]

В прошлой статье я поделился опытом, как писал с помощью ИИ кастомный TO-DO-лист под macOS. Опыт оказался противоречивым, но приложение всё-таки получилось и даже работало.

Поэтому я решил добавить немного фана и реализовать мечту любого программиста — написать собственную игру. Так как у меня уже появилось небольшое понимание экосистемы десктоп-приложений под macOS и SwiftUI, я решил использовать именно её.

Статья: https://habr.com/ru/articles/991402/
Платформа: iOS

👨‍🦯‍➡️ AppFiles: код, инструменты, практики, производительность
Please open Telegram to view this post
VIEW IN TELEGRAM
Kotlin и Arrow: функциональное программирование с Either, Validated и эффектами

Сегодня расскажем про библиотеку Arrow в Kotlin. Arrow привносит в Kotlin крутые штуки из функционального программирования: типы вроде Either и Validated для работы с ошибками, эффекты для безопасной работы с внешним миром, ну и много всего. Звучит мощно, но когда за это действительно стоит браться?

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

👨‍🦯‍➡️ AppFiles: код, инструменты, практики, производительность
Please open Telegram to view this post
VIEW IN TELEGRAM
👎4🔥1