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

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

Статья: https://habr.com/ru/articles/942500/
Платформа: iOS
👍1
С нуля до APK: Android-приложение для озвучки новостей из Telegram с помощью ИИ

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

Статья: https://habr.com/ru/articles/942488/
Платформа: Android
👍1😭1
Как замедлить программу и почему это может быть полезно

Большинство исследований производительности языков программирования задают вариации одного и того же вопроса: как ускорить конкретную программу? Иногда мы ищем способы использовать меньше памяти. Это означает, что многие исследования сосредоточены исключительно на уменьшении объёма ресурсов, необходимых для достижения какой-либо вычислительной цели.

Так зачем же нам тогда замедлять программы? Замедление программ может быть полезно для выявления условий гонки, моделирования ускорения и оценки точности профилировщиков.

Статья: https://apptractor.ru/info/articles/kak-zamedlit-programmu-i-pochemu-eto-mozhet-byt-polezno.html
Платформа: разработка
👍1
Capsule - скругленные углы для Jetpack Compose

Capsule - это библиотека Jetpack Compose, которая создает скругленные G2-сопряженные (радиус кривизны не имеет скачков) прямоугольники. 

Отрисовка кубических кривых Безье на Android выполняется не очень эффективно. Однако библиотека Capsule использует очень эффективный метод расчёта контрольных точек, обеспечивая оптимальную теоретическую производительность.

Capsule на GitHub: https://github.com/Kyant0/Capsule
Платформа: Android
⭐️: 49
👍1
Android. Glance Widgets. Начало

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

Статья: https://habr.com/ru/articles/942886/
Платформа: Android
1
Упрощаем NFC: обзор нового SDK для Android разработки

Работа с NFC в Android всегда была непростой задачей. Нативный API требует от разработчика понимания низкоуровневых протоколов и механизмов обработки данных. Новый TAO NFC SDK (Android) призван решить эту проблему, предоставляя высокоуровневую абстракцию, которая значительно упрощает взаимодействие с NFC-метками.

Статья: https://habr.com/ru/articles/942474/
Платформа: Android
👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Создаем впечатляющие анимации загрузки с помощью SF Symbols

SF Symbols умеют проигрывать плавные анимации автоматически, позволяя легко настраивать стиль, цвет и даже сложные эффекты с помощью модификаторов (например, .hideInactiveLayers и .iterative).

Сегодня для большинства задач на iOS лучше использовать SF Symbols для создания анимаций загрузки — это просто, мощно и крайне гибко. Старые кастомные решения, как показал опыт автора, вполне можно удалить - теперь все делается буквально одной строкой.

Статья: https://danielsaidi.com/blog/2025/07/24/creating-amazing-loading-animations-with-sf-symbols
Мой перевод: https://apptractor.ru/info/articles/sozdanie-potryasayuschih-zagruzochnyh-animatsiy-s-pomoschyu-sf-symbols.html
Платформа: iOS
👍2
This media is not supported in your browser
VIEW IN TELEGRAM
Свертываем таб-бар при скролинге

Статья подробно рассказывает, как реализовать поведение складывающегося таб-бара в SwiftUI для более компактного пользовательского интерфейса при прокрутке контента. Автор предлагает использовать модификаторы поведения, такие как minimize, а также прокси ScrollViewReader для динамического управления отображением таб-бара, чтобы он автоматически скрывался и раскрывался в зависимости от взаимодействия пользователя.

Статья: https://www.createwithswift.com/making-the-tab-bar-collapse-while-scrolling/
Платформа: iOS
👍3
Apple Docs MCP - Model Context Protocol Server для документации Apple

Документация Apple для разработчиков скрыта за JavaScript, что делает её невидимой для большинства LLM. Apple Docs MCP дает доступ к официальной документации Apple по языку Swift, фреймворкам, API, SwiftUI, UIKit и видеоматериалам WWDC через Model Context Protocol. Это делает документацию "видимой" и позволяет реализовать, например, поиск документации по iOS, macOS, watchOS, tvOS и visionOS с помощью ИИ-запросов на естественном языке. Получайте мгновенный доступ к примерам кода на Swift/Objective-C, справочникам по API и техническим руководствам прямо в Claude, Cursor или любом другом совместимом с MCP ИИ-помощнике.

Apple Docs MCP на GitHub: https://github.com/kimsungwhee/apple-docs-mcp
Платформа: iOS
⭐️: 377
2👍1
SIP на iOS с Linphone SDK: Быстрая и надёжная VoIP-интеграция в мобильное приложение

Занимаюсь разработкой под iOS с 2012 года. С SIP ранее не работал, и его интеграция оказалась куда сложнее, чем ожидалось. Ниже делюсь основными трудностями и решениями.

Надеюсь получить конструктивную критику, а также советы по альтернативным подходам к решению описанных проблем.

Итак, задача: в кратчайшие сроки реализовать функциональность приёма звонков и набора номера для вызова на домофон.

Статья: https://habr.com/ru/articles/917206/
Платформа: iOS
👍1
Запуск бинарных файлов из data/data на Android 10+ (Обход SELinux)

С Android 10 (Target sdk 29) google ввели новую политику безопасности. Новая политика SELinux звучит просто: «Нельзя исполнять файлы из той директории, в которую можно записывать». Всё это очень хорошо, но многие проекты сломались (В том числе и мой). Termux из google play УМЕЕТ запускать бинарные файлы на target sdk 29+. Я решил поделится, как выполнить бинарный файл из data/data/com.ваш.пакет/files на новых версиях sdk БЕЗ полного клонирования Termux и БЕЗ С/C++ части. Сам метод запуска будет именно на java.

Статья: https://habr.com/ru/articles/943188/
Платформа: Android
😱1
Array или Set для 10 тыс. элементов в Swift?

Я был на собеседовании по iOS. Всё шло хорошо — я ответил на вопрос об optional, рассказал об ARC и даже решил небольшую задачу с замыканиями.

Затем интервьюер откинулся назад и спросил: "Предположим, вам нужно загрузить 10,000 элементов в Swift. Что бы вы использовали: Array или Set?"

Статья: https://apptractor.ru/info/articles/array-ili-set-dlya-10-tys-elementov-v-swift-voprosy-s-sobesedovaniya.html
Платформа: iOS
👍3🔥1
Array или Set для 10 тыс. элементов?
Anonymous Poll
38%
Array
32%
Set
31%
Все равно
Взлом Android-собеседования: вопросы, которые действительно важны

• Объясните билдеры Kotlin Flow и как вы бы использовали их в реальном проекте
• Как вы справляетесь с утечками памяти в Android-приложениях
• Объясните разницу между launch и async в корутинах
• Как вы реализуете обработку ошибок в Android-приложениях
• Объясните архитектуру Android-приложения и почему предпочитается MVVM

Статья: https://medium.com/codetodeploy/cracking-android-interviews-the-questions-that-actually-matter-with-real-answers-9a29a66cd878
Платформа: Android
🤪2
Neumorphic Compose UI Kit - неоморфизм для Jetpack Compose

Neumorphic Compose UI Kit - современный, кастомизируемый неоморфный набор элементов для Jetpack Compose. Он создаёт элегантный, плавный и тактильный дизайн. Этот кит доступен бесплатно по лицензии MIT, что делает его идеальным выбором для разработчиков, стремящихся интегрировать элементы неоморфного UI в свои приложения для Android.

Neumorphic Compose UI Kit на GitHub: https://github.com/BoltUIX/NeumorphicCompose
Платформа: Android
⭐️: 7
🤪5👍2
«Стеклянный мир» iOS 26. Адаптируем приложение под новые гайдлайны

Уже скоро релиз iOS 26 и обновления SDK приложений. Apple снова вносит корректировки, а разработчики и дизайнеры снова подстраиваются. У текущих приложений будет переходный период, но вопрос с обновлением интерфейсов рано или поздно настанет и придется адаптировать под новый SDK и стиль Liquid Glass, чтобы продукт выглядел современно.

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

Наш дизайнер интерфейсов Фёдор Миронов поделится наблюдениями о новых гайдлайнах и расскажет, какие изменения принесёт Liquid Glass. А ещё покажет несколько примеров обновления интерфейсов тестового приложения и нашего финтех-проекта Moneon. Тем более, теперь есть HIG (Human Interface Guidelines) для Figma и можно детально изучить нововведения.

Статья: https://habr.com/ru/companies/cleverpumpkin/articles/943434/
Платформа: iOS
🤪3🔥1
Androidify: создание AI first Android-приложений с Gemini, Jetpack Compose и Firebase

Androidify — это новое “референсное” приложение Google, которое позволяет вам создать собственного Android-бота, используя селфи и искусственный интеллект. С сегодняшнего дня приложение доступно в веб-версии или в виде приложения в Google Play. В новом Androidify вы можете загрузить селфи или написать подсказку о том, что вам нужно, добавить аксессуары и наблюдать, как искусственный интеллект создаёт вашего уникального бота. В этой статье Google рассказывает про API искусственного интеллекта и инструментах Android, которые разработчики использовали при создании приложения.

Статья: https://android-developers.googleblog.com/2025/09/androidify-ai-gemini-android-jetpack-compose-firebase-camerax.html
Платформа: Android
👍1
Flow-контейнеры в Compose

FlowRow и FlowColumn — это composables, похожие на Row и Column, но с одним ключевым отличием: элементы автоматически переносятся на следующую строку, когда в контейнере заканчивается место. Такое поведение создает несколько строк или столбцов, позволяя создавать более адаптивные интерфейсы, в которых контент не обрезается, если элементы слишком велики для одного измерения. Они особенно полезны для создания таких элементов интерфейса, как набор «чипов» или фильтров, где элементы должны переноситься на следующую строку по мере уменьшения пространства на экране.

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

Статья: https://apptractor.ru/info/articles/flow-konteynery-v-compose.html
Платформа: Android
1
AwaitlessKit - синхронные обёртки для async функций

AwaitlessKit предоставляет макросы Swift для автоматической генерации синхронных обёрток для async функций, упрощая вызов новых асинхронных API из существующего неасинхронного кода. Это помогает постепенно внедрять async/await, не нарушая работу старых API и не переписывая всё сразу.

AwaitlessKit на GitHub: https://github.com/bonkey/AwaitlessKit
Платформа: iOS
⭐️: 3
👍1
📺 Видео и подкасты за неделю @AppFiles

(iOS En) iOS 26 Lock Screen Carousel With Reflection Effect Using SwiftUI
(iOS En) How to hide the content of a view in a screenshot (iOS tutorial)
(iOS En) Swift concurrency for curious Kotliners
(iOS En) SwiftUI: How To Seamlessly Morph Liquid Glass Shapes
(iOS En) Auto Resizing Dynamic Sheets Using SwiftUI
(iOS En) Mastering Liquid Glass in SwiftUI – Buttons, Containers & Transitions
(And Ru) Облегчаем жизнь больших экранов на Compose
(And Ru) Разбор MAX программистом
(And Ru) ProGuard — Стандарт Мобильной Безопастности?
(And Ru) Ты готов к собеседованию в Альфа-Банк? Интервью мобильного разработчика
(And En) TheAndroidShow: The latest for devs from Made by Google, Gemini in Android Studio, a new Androidify
(And En) What's new in Android Studio Narwhal 3 Feature Drop
(And En) Androidify app deep dive
(And En) Bring your most expressive apps to the wrist: Wear OS 6 and the new Pixel Watch 4
(And En) Connect Model Context Protocol (MCP) servers to Android Studio to improve AI agent capabilities
(And En) Now in Android: 121 – Android Studio Narwhal, Android 16 QPR2 beta, and more
(And En) Build your Kotlin and Android apps with Buck2
(And En) Exposed inline value classes for Java in Kotlin 2.2
(And En) Kotlin Worst Practices — How to Maximize Your Hassle
(And En) Putting Kotlin Flows Together
(And En) Develocity Analytics: Get end-to-end visibility into your build process
(Crs En) Blueprints for Scale: What AWS Learned Building a Massive Multiplatform Project
(Crs En) Lessons learned decoupling Architecture Components from platform specific code
(Dev Ru) Лучший билд команды и проекта в IT
(Dev Ru) DevRel в мобильной разработке: между платформами, комьюнити и командой
(Dev Ru) Числа в программировании — Почему компьютер не понимает 0.1 + 0.2
(Dev En) How You Use an AI Coding Agent the RIGHT Way For Mobile Development
(Dev En) Introducing EmbeddingGemma: The Best-in-Class Open Model for On-Device Embeddings

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

(And Ru) Организация кода в проекте — в какой пакет положить Kotlin класс
(Dev Ru) Архитектурное собеседование — по обе стороны баррикад (+ все собеседования)
(Dev Ru) Backend-Driven UI и конструкторы. Благо или зло?
(Dev Ru) Открытое собеседование — технический руководитель: разбор кейса
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1