Forwarded from Telegram Contests
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
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
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
kodeco.com
Migrating to Swift 6 Tutorial
The migration path to Swift 6 is now a lot smoother, with lots more guideposts. Work through this tutorial to find out how much easier it’s become.
👍4
Android
Dodo продолжает пилить статьи про функциональное программирование в Android. Во второй части мы узнаем о функциональных типах данных и их структурах. Будет еще как минимум одна статья, так что самое время приступать к внедрению ☺️
• Функциональное программирование в Android. Cтруктуры данных и State Machine
• How Mecha BREAK is driving PC-only growth on Google Play Games
• Stop Writing Code That Will Make You Cry
• Mastering Inter-Process Communication (IPC) in Android
• Android Gradle Dependency Configurations
Dodo продолжает пилить статьи про функциональное программирование в Android. Во второй части мы узнаем о функциональных типах данных и их структурах. Будет еще как минимум одна статья, так что самое время приступать к внедрению ☺️
• Функциональное программирование в Android. Cтруктуры данных и State Machine
• How Mecha BREAK is driving PC-only growth on Google Play Games
• Stop Writing Code That Will Make You Cry
• Mastering Inter-Process Communication (IPC) in Android
• Android Gradle Dependency Configurations
Хабр
Функциональное программирование в Android. Cтруктуры данных и State Machine
О чём статья В первой части статьи я рассказал о своём знакомстве с функциональным программированием и о сути этой парадигмы. Сегодня вы узнаете о функциональных типах данных и их структурах. Мы:...
👍5🤡1
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
Разработка
• 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
AppTractor
Google выпускает новую модель Gemini, которая может локально работать на роботах
Google утверждает, что двурукий Franka FR3 успешно справился со сценариями и объектами, которые он «не видел» раньше, например, со сборкой на промышленном конвейере.
Все, конец вашему 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🤡31❤16👍7🌚3😁1👌1
iOS
Продолжаем исследовать Foundation Models. Разработчик демонстрирует, как с помощью нового фреймворка можно создать полноценный чат‑бот, работающий полностью на устройстве без обмена данными с облаком. Представленный проект – это приложение на SwiftUI с поддержкой iOS 26 и Apple Intelligence, использующее приватную on‑device модель (~3 млрд параметров). В интерфейсе реализованы многопоточность, хранение диалогов через SwiftData, потоковая генерация ответов, автосуммирование переписки и извлечение метаданных из веб‑страниц. Ключевая особенность проекта – использование
• Расширяем возможности 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
Продолжаем исследовать 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
Medium
FoundationChat: Building an AI Chat App with iOS 26’s On-Device Models
Using Apple Foundation Models framework
👍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)
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)
Medium
How Blinkit Cracked Android's Performance Puzzle with Droid Dex
Adaptive real-time performance tuning — fewer ANRs, smoother UX, and smarter device-specific optimization
👍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
Разработка
• 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
AppTractor
Sitch объединяет человеческий подход к подбору пар и искусственный интеллект
Sitch стремится более вдумчиво подходить к процессу регистрации и использует большие языковые модели (LLM), чтобы привнести опыт человека-свахи в приложение для знакомств, помогая людям находить потенциальных партнеров без свайпов.
❤1👍1🤔1
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
👍3❤2🤡1
Forwarded from AppFiles - Mobile Development
•
(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 для роботов и многое другое. Заходите!
Новый дайджест за неделю со всеми материалами - эксплоиты ядра iOS и палочки на Android, рабочая группа Swift для Android и незаметные ограничения, смерть резюме, ТВ-пульты как многомиллионный бизнес в магазинах приложений, Gemini для роботов и многое другое. Заходите!
👍4
iOS
Помните, когда вышел SwiftUI, мы все удивлялись тому, как автоматически обновляются представления при изменении
Поставьте 👍, если хотите эту статью на русском
• Молот и наковальня 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
Помните, когда вышел 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
steipete.me
Automatic Observation Tracking in UIKit and AppKit: The Feature Apple Forgot to Mention | Peter Steinberger
Discover how iOS 18's hidden automatic observation tracking brings SwiftUI-like reactive programming to UIKit and AppKit, making your UI code cleaner and more maintainable.
👍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?
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?
Хабр
NoDPI4Android. Решаем проблему «деградации» YouTube теперь и на Android
Салют, Хабр! На связи снова я, Aragorn, со своим проектом по терроризированию Роскомпозора. В прошлый раз я рассказывал о NoDPI - утилите для «раздеградирования» YouTube и установил личный...
❤3👍2👌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
AppTractor
Google выпускает Gemma 3n
После предварительного просмотра в прошлом месяце на Google I/O, полная версия теперь здесь и готова к запуску непосредственно на вашем оборудовании.
👍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 года, что сделало ее вторым по величине рынком после США по объему финансирования.
Индийский стартап, стоящий за индуистским религиозным приложением 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
Перевел вчерашнюю статью про фреймворк 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
AppTractor
Автоматическое отслеживание изменений в UIKit и AppKit: функция, о которой Apple забыла упомянуть
Волшебство происходит, когда вы объединяете пользовательские трейты с наблюдаемыми объектами. Вы получаете автоматическое распространение И автоматические обновления.
👍1
Android
Статья Дмитрия Глазунова посвящена грамотному управлению состоянием в приложениях на Jetpack Compose при использовании навигации. Автор показывает, какие проблемы могут возникать — например, потеря данных при возвращении назад или сложности с передачей аргументов между экранами — и объясняет, почему важно правильно распределять ответственность между
• 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
Статья Дмитрия Глазунова посвящена грамотному управлению состоянием в приложениях на 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
Medium
Managing state across navigation in Jetpack Compose
Jetpack Compose gets rid of a lot of XML boilerplate but managing state between screens still trips up even experienced developers.
❤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
Разработка
• Новый навык в ИИ — не промпты, а контекст инжиниринг
• 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
AppTractor
Новый навык в ИИ — не промпты, а контекст инжиниринг
В создании мощных и надежных ИИ-агентов становится все меньше и меньше места для поиска волшебного промпта или обновлений модели. Речь идет о проектировании контекста и предоставлении правильной информации и инструментов в правильном формате в правильное…
👍6🔥2❤1🤯1🤡1
Запрещенная организация официально присоединилась к 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🍾2❤1🍌1
iOS
Airbnb написал про свой опыт улучшения производительности 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
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
AppTractor
Понимаем и улучшаем производительность SwiftUI
Применение этих трех методов к представлениям SwiftUI в нашем приложении привело к значительному сокращению ненужных переоценок и повторных рендерингов.
👍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
Исследуя проблемы с медленной сборкой 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
Medium
Exploring Kotlin (native) compilation
Demystifying Kotlin/Native builds. A deep dive into Klibs, Kotlin IR, and the linking process to understand how KMP compilation works
❤2