Mobile Development by AppTractor
11K subscribers
1.87K photos
39 videos
11 files
4.66K links
Цифры, советы и все интересное о разработке мобильных приложений и сервисов. Комментарии и вопросы можно писать прямо @lbogolubov

• Аудитория https://t.me/apptractor/1066
• Сайт https://apptractor.ru/
Download Telegram
Forwarded from Telegram Contests
🏆 Telegram Android Contest 2025, Round 1

Prize fund
: $50,000
Deadline: 23:59 on July 11 (Dubai time)
Who can participate: Everyone
Results: July 2025

Telegram is hosting a contest for Android developers to implement a redesigned profile appearance.

In addition to prize money, the winner of this contest may join the 🛫 Telegram Team in Dubai and earn $1 million per year after taxes by year 3.

THE TASK

Rework the existing profile screens by implementing the new design flow in strict accordance with the mockups provided below:
– Profiles of users, businesses, groups, and channels must be covered, including groups with topics enabled.
– Support for both day and night themes is mandatory.
– All related tabs and profile instances must be supported, including those where gifts are displayed.

💡 For this task, we recommend building the relevant screens from scratch. However, reusing existing code components is acceptable.


Contest Requirements:
– You must use Java.
– No third-party UI frameworks are allowed.
– The submission must be consistent with the existing Telegram for Android codebase.
– The app's stability and performance must not be affected with the changes you made.
– The app must be free of significant flaws (including crashes, visual glitches, noticeable element blinking, layout errors, and more).

❗️The implementation must precisely follow the provided design mockups, including all transitions shown in the animated demos.


Evaluation:
During the evaluation stage, we will review your code and test the submission on a wide range of Android devices.

Submissions:
Contestants will be able to submit their entries to @ContestBot at a later date. We will further clarify the submission instructions closer to the deadline.
This media is not supported in your browser
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🤡8😁1
iOS

Swift 6 появился на WWDC 2024, и все мы, конечно, поспешили перенести на него все наши приложения. Ну, не совсем все и не поспешили... На WWDC 2021 мы уже получили блестящий новый структурированный фреймворк параллелизма Swift 5.5, который помог нам писать безопасный код быстрее с async/await и акторами. Swift 6, казалось, сломал все, и было бы неплохо немного подождать. Год спустя путь миграции выглядит намного более гладким, с большим количеством ориентиров. В этом руководстве от Kodeco разбираются все аспекты скорого переезда на шестую версию.

AvatarAiPayWall — красивый пейвол на SwiftUI
Offline-First SwiftUI with SwiftData: Clean, Fast, and Sync-Ready
SwiftUI: Alarm App CopyCat with AlarmKit (WWDC 2025)
Migrating to Swift 6 Tutorial
NotificationCenter.Message: A New Concurrency-Safe Notification Experience in Swift 6.2
Rewriting a 12 Year Old Objective-C iOS App with Claude Code
👍4
Google DeepMind сегодня выпустил новую языковую модель под названием Gemini Robotics On-Device, которая может локально запускать задачи на роботах без необходимости подключения к Интернету. Основанная на предыдущей модели Gemini Robotics компании, выпущенной в марте, Gemini Robotics On-Device может управлять движениями робота. Разработчики могут контролировать и настраивать модель в соответствии с различными потребностями, используя подсказки на естественном языке. В демонстрации компания показала роботов, работающих на этой локальной модели, которые выполняют такие действия, как расстегивание сумок и складывание одежды. В бенчмарках Google утверждает, что модель работает на уровне, близком к облачной модели. Google также выпускает Gemini Robotics SDK. Компания заявила, что разработчики могут показывать роботам от 50 до 100 демонстраций, чтобы обучить их новым задачам, используя эти модели на физическом симуляторе MuJoCo.

Разработка

Google выпускает новую модель Gemini, которая может локально работать на роботах
Резюме умирают, и ИИ ответственен за это
Google и Lenovo создали «самый продвинутый Chromebook Plus на сегодняшний день»
Адресную строку в Chrome на Android теперь можно переместить вниз
Are most apps just CRUD wrappers?
How to build a self-hosted crypto wallet in your mobile app

Кроссплатформа

The Hidden Flutter Pattern That’s Wasting 30% of Your App’s Performance
🐥 🇸🇱 Команда Swift объявила о создании рабочей группы Android

Все, конец вашему KMP. Команда Swift объявила о создании рабочей группы Android. Основная цель рабочей группы — сделать Android официально поддерживаемой платформой для Swift и поддерживать разработку для нее.

Группа будет:

• Улучшать и поддерживать работу с Android для официального дистрибутива Swift, устраняя необходимость во внешних или нижестоящих исправлениях
• Рекомендовать улучшения для основных пакетов Swift, таких как Foundation и Dispatch, для лучшей работы с идиомами Android
• Работать с группой управления платформой для официального определения уровней поддержки платформы в целом, а затем работать над достижением официальной поддержки определенного уровня для Android
• Определять диапазон поддерживаемых уровней API Android и архитектур для интеграции Swift
• Разрабатывать непрерывную интеграцию для проекта Swift, которая включает тестирование Android в проверках pull request
• Определять и рекомендовать лучшие практики для бриджа между Swift и Android Java SDK и упаковки библиотек Swift с приложениями Android
• Разрабатывать отладку приложений Swift на Android
• Консультировать и помогать с добавлением поддержки Android в различные пакеты Swift сообщества
Please open Telegram to view this post
VIEW IN TELEGRAM
1🤡3116👍7🌚3😁1👌1
iOS

Продолжаем исследовать Foundation Models. Разработчик демонстрирует, как с помощью нового фреймворка можно создать полноценный чат‑бот, работающий полностью на устройстве без обмена данными с облаком. Представленный проект – это приложение на SwiftUI с поддержкой iOS 26 и Apple Intelligence, использующее приватную on‑device модель (~3 млрд параметров). В интерфейсе реализованы многопоточность, хранение диалогов через SwiftData, потоковая генерация ответов, автосуммирование переписки и извлечение метаданных из веб‑страниц. Ключевая особенность проекта – использование @Generable макроса, позволяющего описывать структуру сообщений как Swift‑структуры, что делает вывод модели строго типобезопасным и упрощает обработку ответов. Кроме того показано, как с помощью Tool API встроить анализ веб‑страниц, извлекая заголовки, превью и описания прямо в чат. Это превращает FoundationChat в движок для гибких AI‑фич, работающих офлайн и сохраняющих приватность.

Расширяем возможности VK DeviceHub: как мы добавляли поддержку iOS для собственной фермы мобильных устройств
iOS Developer Interview Questions for Senior Engineers : Part 1
Dependency Injection in iOS with SwiftUI
FoundationChat: Building an AI Chat App with iOS 26’s On-Device Models
Type-safe and user-friendly error handling in Swift 6
SwiftUI stateless bindings
Swift 6.2 Java interoperability in practice
👍2
Android

Blinkit делится решением вечной головоломки Android — адаптивной производительностью в реальном времени. Компания строит свою систему – Droid Dex – так, чтобы она адаптировала настройки под конкретное устройство, основываясь на пяти ключевых показателях: CPU, память, сеть, хранилище, батарея. У каждого измерения есть четыре уровня — от отличного до низкого — и важный момент: разработчики могут задать веса для разных контекстов. Например, для загрузки изображений приоритет даётся сети и памяти, а для видео — CPU и батарее . Такой подход позволяет приложениям действительно адаптироваться под условия пользователя, а не просто работать «на усреднённой мощности». Droid Dex показал себя на миллионах реальных пользователей, снизил количество падений и ANR, а также улучшил вовлечённость и удовлетворённость. Более того, проект открытый и хорошо документирован — вся система доступна на GitHub, и Blinkit активно принимает фидбэк и улучшения.

Поставьте 👍, если хотите эту статью на русском.

Klyx — легковесный редактор кода для Android
Команда Swift объявила о создании рабочей группы Android
Настраиваем CI/CD Android-проекта, часть 2. Запуск Android-тестов
Незаметное ограничение Android 15
How Blinkit Cracked Android's Performance Puzzle with Droid Dex
How to Create a Word-by-Word Animation in Jetpack Compose
Android Interview Questions for Mid-Level Developers (3–6 Years)
👍6🎉1
А вот я к вас с новым дейтингом. Sitch стремится более вдумчиво подходить к процессу регистрации и использует большие языковые модели, чтобы привнести опыт человека-свахи в приложение для знакомств, помогая людям находить потенциальных партнеров без свайпов. По сути, приложение это версия со-основательницы-свахи на основе искусственного интеллекта, которая помогает пользователям вступить в игру, задавая им подробные вопросы (более 50), на которые они могут ответить текстом или голосом. После настройки профиля пользователя ИИ-сваха отображает предлагаемые совпадения. Если оба пользователя соглашаются на совпадение друг с другом, бот добавляет их в групповой чат с ИИ. В любой момент времени — даже после реальных свиданий — пользователи могут предоставить отзыв о своих совпадениях, чтобы улучшить персонализацию. Примечательно, что продает Sitch матчи - три стоят 90 долларов, восемь 160. Причем заплатить за них надо авансом, как настоящей свахе. В настоящее время Sitch предлагает свои услуги только в Нью-Йорке, но планирует открыть представительства в большем количестве городов в этом году.

Разработка

Anthropic позволяет создавать приложения прямо в Claude
Google Gemini CLI — ИИ-инструмент для терминалов
Радиобаттон Авито с функцией чекмарка: спорный паттерн или гениальное решение?
The Importance of Kindness in Engineering

Маркетинг

Sitch объединяет человеческий подход к подбору пар и искусственный интеллект
Маркетологи в мобайле: Никита Кулаков (Head of Performance, Яндекс Браузер)

Кроссплатформа

Is Apple Trying to Kill Flutter with iOS 26?
Apple’s Liquid Glass Threatens Hybrid Apps
1👍1🤔1
🌐 Новый месяц - новые изменения в App Store

Apple объявила о нескольких важных изменениях в гайдлайнах App Store в Европейском союзе в рамках соблюдения Закона о цифровых рынках.

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

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

• Уровень 1: комиссия 5% - практически без любых маркетинговых инструментов App Store
• Уровень 2: комиссия 13%, сниженная до 10% для участников программы малого бизнеса и подписок - со всеми инструментами

Разработчики на альтернативных условиях Apple в ЕС будут платить ранее объявленный Core Technology Fee в размере 0.50 евро за каждую первую годовую установку свыше 1 миллиона. Для разработчиков на стандартных условиях Apple в ЕС действует новая Core Technology Commission. Вместо платы за установку они будут платить комиссию в размере 5% с продаж, совершенных посредством альтернативных платежей в приложении.

Apple заявила: «Европейская комиссия требует от Apple внести ряд дополнительных изменений в App Store. Мы не согласны с этим результатом и планируем подать апелляцию».
Тим Суини прокомментировал: «Новая схема злонамеренного соответствия Закону о цифровых рынках Apple является откровенно незаконной как в Европе, так и в Соединенных Штатах и ​​является насмешкой над честной конкуренцией на цифровых рынках. Приложения с конкурирующими платежами не только облагаются налогом, но и коммерчески ущемляются в App Store».
Please open Telegram to view this post
VIEW IN TELEGRAM
👍32🤡1
📺 Видео и подкасты за неделю на @AppFiles

(iOS Ru) Молот и наковальня iOS-разработчика
(iOS En) iOS 26 Apple Maps Bottom Sheet Interaction Using SwiftUI
(iOS En) Build a SwiftUI Voice Agent in Minutes
(iOS En) Family App's Morphing Menu Interaction Using SwiftUI
(iOS En) Discover 5 new AI features of Xcode 26
(iOS En) iOS 26 Apple Find My App's Custom Tab Bar
(iOS En) Create a Swift Package from Your SwiftUI Project (SF Symbol Picker)
(iOS En) Apple Music Bottom Bar for iOS 26 & iOS 18 Using SwiftUI
(And Ru) Эти фичи Kotlin меняют правила игры
(And Ru) Что не так с Android разработкой?
(And En) The Full Android 16 Migration Checklist - Your Todos For API Level 36
(And En) The Full Jetpack Compose Responsive UI Crash Course
(And En) Reaching billions: Multiplatform strategies and performance tools for Android
(And En) Rich Errors in Kotlin
(And En) All about Androidify
(And En) Migrate Gradle Builds to Kotlin DSL
(Crs Ru) Кроссплатформа, умный склад и DnD: кодим, автоматизируем, побеждаем
(Crs En) Compose Multiplatform for iOS: Ready for Production Use

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

(iOS Ru) А так ли нужны акторы в Swift Concurrency?
(iOS Ru) Swift 5.9: разбираем интероп и «женим» с С++
(iOS Ru) Реактивный Swift Concurrency
(And Ru) Как запускать задачи в фоне на Android. РАЗБОР
(And Ru) Эволюция Android тестов с Marathon Test Runner
(Dev Ru) Все софт скиллы — про преодоление страха и силу воли
Please open Telegram to view this post
VIEW IN TELEGRAM
Добавляем поддержку палочек

Новый дайджест за неделю со всеми материалами - эксплоиты ядра iOS и палочки на Android, рабочая группа Swift для Android и незаметные ограничения, смерть резюме, ТВ-пульты как многомиллионный бизнес в магазинах приложений, Gemini для роботов и многое другое. Заходите!
👍4
iOS

Помните, когда вышел SwiftUI, мы все удивлялись тому, как автоматически обновляются представления при изменении @Published свойств? Что ж, Apple тихо работает над тем, чтобы привнести эту же магию в UIKit и AppKit. А что самое лучшее? Она уже появилась в iOS 18/macOS 15, но о ней вряд ли кто-то знает. Вам даже не нужен Xcode 26, достаточно одной простой записи plist. Включите его с помощью ключа, и ваши представления волшебным образом обновятся при изменении ваших @Observable моделей. Больше никаких ручных вызовов setNeedsDisplay()!

Поставьте 👍, если хотите эту статью на русском

Молот и наковальня iOS-разработчика
Apple объявляет о масштабных изменениях в App Store в ЕС
SwiftCrossUI — кроссплатформенный декларативный UI-фреймворк, вдохновленный SwiftUI
How to support Dynamic Type accessibility in SwiftUI
Sparkle: Distribution apps in- and out of the Mac App Store
Adding Icon Composer icons to Xcode
Apple’s On-Device Foundation Model Is Here.. But Is It Any Good?
Automatic Observation Tracking in UIKit and AppKit: The Feature Apple Forgot to Mention
Embedding Godot games in iOS apps is easy now
Decoding Swift types that require additional data
👍8
Android

NoDPI представляет собой асинхронный прокси-сервер на базе библиотеки asyncio Он перехватывает tls-рукопожатия (handshake) исходящих соединений и отправляет их на фрагментацию. Если домен присутствует в списке заблоченных, программа разбивает пэйлоад на несколько кусков случайного количества и случайной длины, и склеивает с байтовой последовательностью \x16\x03\x04 (+ data). Т. е. одна tls запись превращается в несколько записей разной длины. После этого они объединяются и отправляются как один пакет. Пока у DPI нет мощностей, чтобы разбираться с таким хаосом в пакетах, и все это благополучно следует к пункту назначения, а мы, довольные, смотрим YouTube. История разработки приложения - в статье на Хабре. Правда, в комментариях там же пишут, что не работает.

Как Blinkit решил загадку производительности Android-приложения с помощью Droid Dex
Store — решение для работы с данными на Kotlin Multiplatform
Что не так с Android разработкой?
Эти фичи Kotlin меняют правила игры
NoDPI4Android. Решаем проблему «деградации» YouTube теперь и на Android
Boost Android Development with Gemini CLI in 5 Minutes
Passkeys & Credential Manager in Android
Initial exploration of using Koog for developing Kotlin based AI agents
Top announcements to know from Google Play at I/O ‘25
Get ready for the next generation of gameplay powered by Play Games Services
Reducing App Size: Proguard, R8, App Bundles & Resource Shrinking
Is mobile development a dead-end after 6-9 years?
3👍2👌2
🗣 Google анонсировал Gemma 3n, следующее поколение своих открытых моделей ИИ, и это значительный шаг вперед. После предварительной версии в прошлом месяце на Google I/O, полная версия теперь здесь и готова к запуску непосредственно на вашем оборудовании. Gemma — это семейство открытых моделей ИИ. Они отличаются от Gemini тем, что разработаны для загрузки и изменения разработчиками, в то время как Gemini — это закрытая, проприетарная мощная система Google. Теперь модель может нативно обрабатывать входные данные, такие как изображения, аудио и видео, для генерации текста, что является большим шагом вперед по сравнению с просто текстовой моделью. Она также может работать на оборудовании с памятью всего 2 ГБ и, как предполагается, лучше справляется с такими задачами, как программирование и рассуждение.

Разработка

Google выпускает Gemma 3n
Умная камера Petlibro использует ИИ для распознавания и описания движений питомцев
«Тупой ИИ» с нами надолго. Почему в новых моделях больше галлюцинаций
Статья 1: Введение в MV шаблоны
What is free trial abuse -- and how can you stop it?
Don’t Be Ashamed to Say "I Don’t Know"

Маркетинг

VK Реклама представила ИИ редактор рекламных текстов
Google запускает Doppl — приложение, позволяющее визуализировать, как на вас будет смотреться тот или иной наряд

Кроссплатформа

Кроссплатформа, умный склад и DnD: кодим, автоматизируем, побеждаем
Why Liquid Glass Is Making Developers Rethink Flutter
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Рост цифровой веры

Индийский стартап, стоящий за индуистским религиозным приложением Sri Mandir, привлек $20 млн в новом раунде — всего через девять месяцев после получения $18 млн. Приложение собрало более 40 миллионов загрузок с момента запуска. За последние 12 месяцев оно позволило 1.2 миллиона верующих совершать онлайн-молитвы и делать подношения в более чем 70 храмах по всей Индии.

В настоящее время у Sri Mandir около 3.5 миллионов активных пользователей в месяц, в том числе около 90,000 из-за пределов Индии. Хотя база пользователей приложения остается в основном внутренней, ARPU за рубежом значительно выше — около 81 доллара по сравнению с 7–9 долларами в Индии. Примечательно, что почти 20% дохода платформы поступает от индийской диаспоры в США, Великобритании, ОАЭ, Канаде, Австралии и Новой Зеландии.

В начале 2025 года оборот Sri Mandir превысил 12 миллионов долларов. Приложение также имеет шестимесячный уровень удержания около 55%, что означает, что более половины его пользователей остаются активными через шесть месяцев после регистрации.

В мире 10 лучших религиозных приложений показали 15% рост ежемесячно активных пользователей в течение первой половины 2025 года, даже при снижении загрузок на 2% (посмотрите еще пример Bible Chat). Рынок религиозных приложений Индии опередил эту мировую тенденцию: 10 лучших приложений зафиксировали 60% рост числа активных пользователей в месяц и 50% рост числа загрузок. На Индию пришлось 15% от общего объема мировых инвестиций в религиозные технологии с 2020 года, что сделало ее вторым по величине рынком после США по объему финансирования.

Религиозные технологические стартапы приобретают все большую известность во всем мире, особенно в таких экономиках, как Индия, из-за важности культуры и религии среди населения в сочетании с ростом проникновения интернета, цифровых платежей и растущим принятием электронной коммерции, особенно в городах 2–3 уровня. Мы можем ожидать, что этот сектор будет расти дальше в ближайшем будущем.
👍3😁1
iOS

Перевел вчерашнюю статью про фреймворк Observation. Конечно, про основное там умолчали - работает это все с iOS 18. Так что если вы поддерживаете что-то старше, то хрен вам, а не автоматическое отслеживание изменений. Но, надо признать, сделали все красиво и удобно. Так что через пару лет можно будет пользоваться.

Автоматическое отслеживание изменений в UIKit и AppKit: функция, о которой Apple забыла упомянуть
Крупные автопроизводители отказываются от CarPlay Ultra
ComponentsKit — набор красивых компонентов UIKit и SwiftUI
VIPER vs TCA: What Large iOS Teams Actually Use
Understanding and Improving SwiftUI Performance
Sendable in Swift: The Silent Killer of Race Conditions
👍1
Android

Статья Дмитрия Глазунова посвящена грамотному управлению состоянием в приложениях на Jetpack Compose при использовании навигации. Автор показывает, какие проблемы могут возникать — например, потеря данных при возвращении назад или сложности с передачей аргументов между экранами — и объясняет, почему важно правильно распределять ответственность между ViewModel, SavedStateHandle, rememberSaveable и CompositionLocal. Главная мысль статьи — не существует универсального решения для всех случаев. Состояние, связанное с бизнес-логикой и жизненным циклом экрана, должно храниться во ViewModel; данные интерфейса — в rememberSaveable; а контекстно-общие значения — передаваться через CompositionLocal. Для сложных пользовательских потоков стоит использовать общие ViewModel на navGraph-уровне. Такой подход делает архитектуру приложения предсказуемой, модульной и устойчивой к изменениям.

Kotlin : 6 Advanced Flow Features You Must know
Everyday Challenges of an Android Developer — Skeleton Loaders: The Illusion of Speed
How I Optimize My Android App from 15MB to under 2MB
Managing state across navigation in Jetpack Compose
Custom Scene Strategy in Navigation 3 — Make Your App Flow Your Way
3👍3
Если вы только освоили промпт-инжиниринг, то у меня для вас плохая новость. Все прогрессивное человечество уже переходит на контекст инжиниринг. Описывают его как "искусство предоставления всего контекста для задачи". Сюда входит начальный набор инструкций, задача или вопрос от пользователя, текущее состоянии и история, база знаний, извлеченная информация (RAG), описание инструментов и т.п. Говорят, что секрет создания по-настоящему эффективных ИИ-агентов не столько связан со сложностью кода, который вы пишете, сколько с качеством контекста, который вы предоставляете. Так что совсем скоро вместо программистов, занимающихся кодом, будут программисты, занимающиеся контекстом. Отдельные языки будут для Gemini, ChatGPT и прочих...

Разработка

Новый навык в ИИ — не промпты, а контекст инжиниринг
When a PM takes over engineering
Challenging projects every programmer should try
14 logic-driven UI design tips to improve any interface
Saying bye to 4px spacing and hello to Fibonacci

Маркетинг

Sri Mandir получает новые инвестиции по мере роста цифровой веры

Кроссплатформа

Flutter’s Biggest Problems: What Google Doesn’t Want You to Know
Why Cross-Platform Teams Are Shifting to Native — With Case Studies That Might Surprise You
👍6🔥21🤯1🤡1
😰 M*** присоединилась к Kotlin Foundation

Запрещенная организация официально присоединилась к Kotlin Foundation в качестве золотого участника (+$150K), что стало важной вехой в постоянной приверженности компании Kotlin и более широкой экосистеме разработки Android.

За последние несколько лет инженеры M активно переносили обширную кодовую базу Android, состоящую из десятков миллионов строк, с Java на Kotlin. Чтобы облегчить этот масштабный переход, в компании разработали внутренний инструмент под названием Kotlinator, который автоматизирует большую часть процесса преобразования, гарантируя, что полученный код Kotlin будет идиоматичным и совместимым с внутренними фреймворками. Компания  делится этими усилиями в рамках корпоративной рабочей группы Java-to-Kotlin.

В дополнение к этим внутренним усилиям в M делятся своей работой публично через проекты с открытым исходным кодом, такие как Kotlin и Android build toolchain в Buck2. Такие инициативы, как этот toolchain, направлены на предоставление инструментов и лучших практик для повышения скорости сборки и масштабируемости, в конечном итоге принося пользу более широкому сообществу разработчиков.

Участие M в Kotlin Foundation соответствует более широкой стратегии поддержки и продвижения экосистемы Kotlin. Компания будет вносить вклад в инициативы в программе грантов Kotlin Foundation, которые поддерживают авторов библиотек с открытым исходным кодом и поощряют инновации среди студентов и разработчиков. Членство в Kotlin Foundation подчеркивает приверженность сильному, работающему совместно сообществу Kotlin и продвижению возможностей языка на разных платформах.
Please open Telegram to view this post
VIEW IN TELEGRAM
🌚8🤡7👍5🍾21🍌1
iOS

Airbnb написал про свой опыт улучшения производительности SwiftUI. В целом, они абстрагировались от алгоритм сравнения на основе рефлексии и написали свое решение на основе Equatable. Макрос @Equatable генерирует реализацию Equatable, которая сравнивает все сохраненные свойства экземпляра представления, исключая свойства с обертками свойств SwiftUI, такими как @State и @Environment, которые запускают обновления представления через другие механизмы. Свойства, которые не являются Equatable и не влияют на отрисовку тела представления, можно пометить с помощью @SkipEquatable, чтобы исключить их из сгенерированной реализации. Это позволяет продолжать использовать обработчики действий на основе замыканий из библиотеки однонаправленного потока данных, не влияя на процесс диффинга SwiftUI.

Понимаем и улучшаем производительность SwiftUI
Why I Stopped Using Structs for Everything in Swift
SwiftUI Search API (Searchable): All We Need to Know All In One
Grouping Liquid Glass components using glassEffectUnion on iOS 26
Designing custom UI with Liquid Glass on iOS 26
👍2
Android

Исследуя проблемы с медленной сборкой Kotlin/Native, автор статьи погружается в мир Klib-файлов, IR (Intermediate Representation) и двух ключевых стадий компиляции: сборки IR и финального линкования. Оказывается, .klib содержит сериализованный IR-код, а не нативный бинарный, и только при сборке итогового фреймворка происходит полноценная компиляция в машинный код. Это объясняет, почему задача linkReleaseFrameworkIosArm64 может занимать до 18 минут — линковка просто не кэшируется и всегда запускается заново. В статье также раскрываются нюансы кроссплатформенных библиотек, влияние статических и динамических фреймворков, и то, почему в мобильной разработке предпочтительнее использовать статические библиотеки. Хотя линковка остаётся узким местом в сборке, понимание архитектуры K/N и устройства Klib-файлов даёт разработчику контроль над процессом и помогает принять обоснованные решения при оптимизации сборки.

Meta присоединилась к Kotlin Foundation
Kizzy — менеджер Rich Presence для Discord на Kotlin
Best Practices of Retrofit and OkHttp in Android Development
Context parameters in Kotlin 2.2
Exploring Kotlin (native) compilation
2