Купим прилы. Дорого. Звучит как скам?
ZM app market — новая программа для вас, уважаемые разработчики iOS-приложений, где ваш труд не просто высоко ценится, но и монетизируется на всей дистанции жизни аппки.
Никакого байта и скама, предлагаем win-win:
Есть готовая прила? Или вы готовы разработать аппку специально под наши требования? Ни слова больше.
Система проста как мир:
1️⃣ Вы отправляете приложение на оценку ➡️ @mikezmapps
2️⃣ Мы оцениваем его по ZM app index — нашей системе метрик качества
3️⃣ При одобрении — мы выплачиваем фиксу за выкуп и начинаем отслеживать инсталлы.
4️⃣ Вы получаете ревшару за все установки до конца жизни прилы — сверки и выплаты по расписанию.
Вопрос: работает ли это? Да, уже есть кейсы.
Остались вопросы? Сомнения? Или даже возражения? Пишите нашему менеджеру➡️ @mikezmapps. Он готов ко всему.
Заинтересованы? Значит, нужно делать. С ZM app market в выигрыше останутся все.
ZM app market — новая программа для вас, уважаемые разработчики iOS-приложений, где ваш труд не просто высоко ценится, но и монетизируется на всей дистанции жизни аппки.
Никакого байта и скама, предлагаем win-win:
Фикс оплата за выкуп (вверх по рынку) + Revshare за установки.
Есть готовая прила? Или вы готовы разработать аппку специально под наши требования? Ни слова больше.
Система проста как мир:
Вопрос: работает ли это? Да, уже есть кейсы.
Остались вопросы? Сомнения? Или даже возражения? Пишите нашему менеджеру
Заинтересованы? Значит, нужно делать. С ZM app market в выигрыше останутся все.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🤡16🌭5👍1
Новые инструменты в Google Play
Google представил новый набор инструментов и программ, разработанных для повышения производительности разработчиков и ускорения роста приложений. От упрощения технической интеграции и локализации до предоставления более глубокого анализа и создания новых эффективных способов взаимодействия с аудиторией, эти функции помогут оптимизировать ваш жизненный цикл разработки.
Что нового:
• Проверка диплинков с помощью встроенного эмулятора: вы можете использовать встроенный эмулятор для тестирования глубокой ссылки и сразу же увидеть ожидаемый пользовательский опыт, как если бы кто-то щелкнул URL-адрес на реальном устройстве.
• Локализация на базе Gemini в Google Play: этот сервис автоматически переводит новые бандлы приложений на выбранные языки, ускоряя выход приложения на новые рынки.
• Быстрая аналитика с помощью автоматизированных сводок по графикам: новая функция Gemini на странице «Статистика» автоматически генерирует описания ваших диаграмм.
• Доступ к метрикам, связанным с целями, и практическим советам для расширения аудитории: новая обзорная страница «Рост пользователей» уже доступна, предоставляя вам комплексное, персонализированное представление, которое поможет вам привлекать новых пользователей и расширять охват.
• Повторное взаимодействие с помощью вкладки «Вы»: разработчики приложений могут воспользоваться этим персонализированным разделом, интегрировав его с Engage SDK
• Оптимизируйте свою стратегию монетизации и отслеживайте эффективность: теперь вы можете предлагать товары в приложении в качестве аренды на ограниченный срок и зарегистрироваться в программе раннего доступа, чтобы начать оформлять предварительные заказы.
Упростите управление каталогом для разовых товаров
• Анализ влияния и эффективности промоакций Play Points: новая страница позволяет увидеть общий доход, количество покупателей и конверсий, полученных в результате всех промоакций Play Points.
Google представил новый набор инструментов и программ, разработанных для повышения производительности разработчиков и ускорения роста приложений. От упрощения технической интеграции и локализации до предоставления более глубокого анализа и создания новых эффективных способов взаимодействия с аудиторией, эти функции помогут оптимизировать ваш жизненный цикл разработки.
Что нового:
• Проверка диплинков с помощью встроенного эмулятора: вы можете использовать встроенный эмулятор для тестирования глубокой ссылки и сразу же увидеть ожидаемый пользовательский опыт, как если бы кто-то щелкнул URL-адрес на реальном устройстве.
• Локализация на базе Gemini в Google Play: этот сервис автоматически переводит новые бандлы приложений на выбранные языки, ускоряя выход приложения на новые рынки.
• Быстрая аналитика с помощью автоматизированных сводок по графикам: новая функция Gemini на странице «Статистика» автоматически генерирует описания ваших диаграмм.
• Доступ к метрикам, связанным с целями, и практическим советам для расширения аудитории: новая обзорная страница «Рост пользователей» уже доступна, предоставляя вам комплексное, персонализированное представление, которое поможет вам привлекать новых пользователей и расширять охват.
• Повторное взаимодействие с помощью вкладки «Вы»: разработчики приложений могут воспользоваться этим персонализированным разделом, интегрировав его с Engage SDK
• Оптимизируйте свою стратегию монетизации и отслеживайте эффективность: теперь вы можете предлагать товары в приложении в качестве аренды на ограниченный срок и зарегистрироваться в программе раннего доступа, чтобы начать оформлять предварительные заказы.
Упростите управление каталогом для разовых товаров
• Анализ влияния и эффективности промоакций Play Points: новая страница позволяет увидеть общий доход, количество покупателей и конверсий, полученных в результате всех промоакций Play Points.
👍5
iOS
Apple представила в iOS 26 новую технологию Language Discovery, которая помогает приложениям понимать реальные языковые предпочтения пользователя, а не просто выбранный язык интерфейса. Система с помощью машинного обучения анализирует, на каких языках человек пишет, читает и общается — всё локально и с сохранением приватности. Новый API
• Apple обновила веб-версию App Store
• StoreKit Helper — обертка StoreKit2 для SwiftUI
• Snapshot-тесты для дизайн-системы hh.ru
• Understanding Apple’s Retention Messaging API
• SwiftUI Custom URL Schemes
• Turning a Menu into a Mini Settings Panel in SwiftUI
• A deep dive into Collections, Sequences, and Iterators in Swift
• Making Apps More Personal with Language Discovery
• Building a License Plate Recognition App on iOS with CreateML and Vision Framework
Apple представила в iOS 26 новую технологию Language Discovery, которая помогает приложениям понимать реальные языковые предпочтения пользователя, а не просто выбранный язык интерфейса. Система с помощью машинного обучения анализирует, на каких языках человек пишет, читает и общается — всё локально и с сохранением приватности. Новый API
Locale.preferredLocales возвращает богатую информацию о локалях: язык, регион, систему чисел, направление письма, календарь и т.д. Для разработчиков это шанс сделать приложения более персональными и инклюзивными. Вместо статичного списка языков можно показывать сначала те, что реально важны пользователю, адаптировать формат дат и чисел под его культуру и сделать интерфейс комфортнее для мультиязычной аудитории. Подробности — в статье.• Apple обновила веб-версию App Store
• StoreKit Helper — обертка StoreKit2 для SwiftUI
• Snapshot-тесты для дизайн-системы hh.ru
• Understanding Apple’s Retention Messaging API
• SwiftUI Custom URL Schemes
• Turning a Menu into a Mini Settings Panel in SwiftUI
• A deep dive into Collections, Sequences, and Iterators in Swift
• Making Apps More Personal with Language Discovery
• Building a License Plate Recognition App on iOS with CreateML and Vision Framework
Create with Swift
Making Apps More Personal with Language Discovery
Learn how to utilize Language Discovery to create experiences that reflect the languages and cultural elements of your users.
👍1
Android
Антон Николаев из Okko рассказывает о JSON Schema и как они используют эту спецификацию на проекте, а также о библиотеке kotlinx.serialization и том, как упростила нам работу со схемами. Статья будет полезна разработчикам, которые интересуются библиотекой kotlinx.serialization и хотят глубже узнать её устройство.
• Новые инструменты в Google Play
• Nice Toast — красивы и настраиваемые тосты для Android
• ART Memory Management
• Kotlin и контекстно-ориентированное мышление
• VK Звонки в лесу: звоним в плохих сетях
• Кастомная сериализация с помощью kotlinx.serialization
• Finding Order in the Mayhem: A Novel Concurrency Testing Tool that Improved the Kotlin Compiler
• ML Kit’s Prompt API: Unlock Custom On-Device Gemini Nano Experiences
• 8 steps to success with Gemini in Android Studio
• We Put Kotlin Coroutines Against Java Virtual Threads — And One Got Wrecked at 1M Requests
Антон Николаев из Okko рассказывает о JSON Schema и как они используют эту спецификацию на проекте, а также о библиотеке kotlinx.serialization и том, как упростила нам работу со схемами. Статья будет полезна разработчикам, которые интересуются библиотекой kotlinx.serialization и хотят глубже узнать её устройство.
• Новые инструменты в Google Play
• Nice Toast — красивы и настраиваемые тосты для Android
• ART Memory Management
• Kotlin и контекстно-ориентированное мышление
• VK Звонки в лесу: звоним в плохих сетях
• Кастомная сериализация с помощью kotlinx.serialization
• Finding Order in the Mayhem: A Novel Concurrency Testing Tool that Improved the Kotlin Compiler
• ML Kit’s Prompt API: Unlock Custom On-Device Gemini Nano Experiences
• 8 steps to success with Gemini in Android Studio
• We Put Kotlin Coroutines Against Java Virtual Threads — And One Got Wrecked at 1M Requests
Хабр
Кастомная сериализация с помощью kotlinx.serialization
Привет, Хабр! Меня зовут Антон Николаев, я senior android-разработчик в Okko, работаю в команде «Молодость» — занимаюсь мультипрофилем и всем, что связано с детским контентом. Сегодня расскажу о JSON...
🔥5
А в этой статье автор рассказывает, как превратить инструменты на основе ИИ для программирования (автодополнение, ассистенты, генерация кода) в действительно полезных партнёров по разработке — если грамотно составлять запросы (промпты). Он подчёркивает: качество ответа ИИ сильно зависит от того, какой запрос мы ему задаём — контекст, цель, детали имеют решающее значение. Применение этих принципов может серьёзно повысить вашу эффективность. Впрочем, в статье упоминается, что промпт-инженерия это скорее ремесло, чем строгий набор правил.
Разработка
• Как создать первую дизайн-систему для твоего стартапа
• Backend-Driven UI как ответ на рост числа платформ
• Как устроена мобильная разработка сегодня
• Как вас взламывают через Open Source — DevSecOps и безопасная разработка
• Руководство по промпт-инжинирингу для программистов
• Пишем свою мобильную ОС с нуля на Rust
• Создать мобильное приложение с zero опыта! Рассказываю, как сделал свой первый проект на Java
• Microdosing AI for Mobile Dev
• Architectural debt is not just technical debt
Маркетинг
• Письмо от «Будущего Я»
• Google и Epic заключат мировое соглашение, которое положит конец многолетней борьбе за Play Store
• Рост Suno — магия ИИ-музыки
• Финтех-приложения в 2025: рынок перестал гнаться за объёмом — побеждают измеримость и точность
• Приложения, вышедшие в сентябре, и заработавшие больше $50,000
Кроссплатформа
• Что не так с Dart и Flutter в 2025 году?
• KMP для ОС Аврора
• KMP Starter — шаблон кроссплатформенного приложения на KMP
• Публикация PWA в App Store и Play Store на github actions
• Liquid Glass Components in Compose Multiplatform
• Swift Android Gradle Plugin
• The most desired missing features of Flutter
Разработка
• Как создать первую дизайн-систему для твоего стартапа
• Backend-Driven UI как ответ на рост числа платформ
• Как устроена мобильная разработка сегодня
• Как вас взламывают через Open Source — DevSecOps и безопасная разработка
• Руководство по промпт-инжинирингу для программистов
• Пишем свою мобильную ОС с нуля на Rust
• Создать мобильное приложение с zero опыта! Рассказываю, как сделал свой первый проект на Java
• Microdosing AI for Mobile Dev
• Architectural debt is not just technical debt
Маркетинг
• Письмо от «Будущего Я»
• Google и Epic заключат мировое соглашение, которое положит конец многолетней борьбе за Play Store
• Рост Suno — магия ИИ-музыки
• Финтех-приложения в 2025: рынок перестал гнаться за объёмом — побеждают измеримость и точность
• Приложения, вышедшие в сентябре, и заработавшие больше $50,000
Кроссплатформа
• Что не так с Dart и Flutter в 2025 году?
• KMP для ОС Аврора
• KMP Starter — шаблон кроссплатформенного приложения на KMP
• Публикация PWA в App Store и Play Store на github actions
• Liquid Glass Components in Compose Multiplatform
• Swift Android Gradle Plugin
• The most desired missing features of Flutter
Substack
The Prompt Engineering Playbook for Programmers
Turn AI coding assistants into more reliable development partners
😁3🐳1
Основатель Foursquare выпустил новое приложение (для AirPods) BeeBot
Основатель Foursquare Деннис Кроули представил своё новое приложение. И да, это ещё одно социальное приложение, основанное на геолокации. Но вместо чекинов, которые Кроули впервые популяризировал более 15 лет назад, BeeBot представляет собой концепцию, актуальную для 2025 года.
Приложение представляет собой «диджея» на базе искусственного интеллекта, который может воспроизводить контекстные аудиосообщения в зависимости от ваших действий в течение дня. «Диджей» BeeBot, который, конечно же, обладает сгенеренным ИИ голосом, может общаться с вами в течение всего дня и сообщать об интересных событиях, достопримечательностях (приложение будет использовать местные Substacks и новостные рассылки для получения актуальной информации о заданном районе) или обновлениях от друзей, которые находятся поблизости..
В каком-то смысле похоже, что Кроули пытается воссоздать некоторые из тех удачных социальных взаимодействий в реальной жизни, которые были доступны в оригинальной версии Foursquare. В BeeBot нет «мэрства», бейджей или каких-либо других функций геймификации, которые способствовали популяризации Foursquare, но, по словам Кроули, он должен обладать «тем же игривым духом» оригинального Foursquare.
И, поскольку на дворе 2025 год, в приложении также присутствует целый набор функций искусственного интеллекта, включая «микс различных LLM» и «синтетические голоса». По словам Кроули, приложение «работает на алгоритме в стиле TikTok», но с учётом того, что происходит поблизости и в реальной жизни.
BeeBot, первый проект новой компании Кроули Hopscotch Labs, уже доступен в App Store, хотя, по словам Кроули, он всё ещё «в значительной степени находится в стадии разработки». «Мне кажется, что версия продукта, которой мы делимся с людьми сегодня, чем-то напоминает Foursquare, которым он был запущен на SXSW в 2009 году — интересная концепция, достаточно хорошее исполнение, но полный потенциал его раскроют сами люди в процессе использования».
Основатель Foursquare Деннис Кроули представил своё новое приложение. И да, это ещё одно социальное приложение, основанное на геолокации. Но вместо чекинов, которые Кроули впервые популяризировал более 15 лет назад, BeeBot представляет собой концепцию, актуальную для 2025 года.
Приложение представляет собой «диджея» на базе искусственного интеллекта, который может воспроизводить контекстные аудиосообщения в зависимости от ваших действий в течение дня. «Диджей» BeeBot, который, конечно же, обладает сгенеренным ИИ голосом, может общаться с вами в течение всего дня и сообщать об интересных событиях, достопримечательностях (приложение будет использовать местные Substacks и новостные рассылки для получения актуальной информации о заданном районе) или обновлениях от друзей, которые находятся поблизости..
В каком-то смысле похоже, что Кроули пытается воссоздать некоторые из тех удачных социальных взаимодействий в реальной жизни, которые были доступны в оригинальной версии Foursquare. В BeeBot нет «мэрства», бейджей или каких-либо других функций геймификации, которые способствовали популяризации Foursquare, но, по словам Кроули, он должен обладать «тем же игривым духом» оригинального Foursquare.
И, поскольку на дворе 2025 год, в приложении также присутствует целый набор функций искусственного интеллекта, включая «микс различных LLM» и «синтетические голоса». По словам Кроули, приложение «работает на алгоритме в стиле TikTok», но с учётом того, что происходит поблизости и в реальной жизни.
BeeBot, первый проект новой компании Кроули Hopscotch Labs, уже доступен в App Store, хотя, по словам Кроули, он всё ещё «в значительной степени находится в стадии разработки». «Мне кажется, что версия продукта, которой мы делимся с людьми сегодня, чем-то напоминает Foursquare, которым он был запущен на SXSW в 2009 году — интересная концепция, достаточно хорошее исполнение, но полный потенциал его раскроют сами люди в процессе использования».
❤2🔥1
iOS
Очередной "простой" вопрос с собеседования - "Можете ли вы объяснить, что происходит при вызове
• Превращение меню SwiftUI в мини-панель настроек
• Сделайте приложение более персонализированным с Language Discovery
• Tachikoma — современный Swift SDK для работы с ИИ-провайдерами
• 7 Swift Keywords You’re Not Using (But Should)
• Why 90% of iOS Developers Fail This One UIKit QuestionSwiftUI: Live Text Interactions with Images. Built-In Vs CustomWhy if let isn’t Always the Best Choice in Swift
Очередной "простой" вопрос с собеседования - "Можете ли вы объяснить, что происходит при вызове
setNeedsLayout()?". На этот раз на понимание ментальной модели UIKit. Если не знаете - изучайте.• Превращение меню SwiftUI в мини-панель настроек
• Сделайте приложение более персонализированным с Language Discovery
• Tachikoma — современный Swift SDK для работы с ИИ-провайдерами
• 7 Swift Keywords You’re Not Using (But Should)
• Why 90% of iOS Developers Fail This One UIKit QuestionSwiftUI: Live Text Interactions with Images. Built-In Vs CustomWhy if let isn’t Always the Best Choice in Swift
Medium
Why 90% of iOS Developers Fail This One UIKit Question
It’s not about code. It’s about understanding how UIKit really thinks.
❤1👍1
Android
MVVM, как и Java, пережил своё время. Современная разработка под Android эволюционировала. Благодаря Jetpack Compose, GraphQL и однонаправленному потоку данных нам больше не нужны хрупкие цепочки LiveData и несогласованные состояния ViewModel. Встречайте MVI (Model–View–Intent) — шаблон, который делает состояние предсказуемым, тестируемым и масштабируемым. Если вы всё ещё жонглируете булевыми значениями и несколькими объектами MutableStateFlow в MVVM, пора выходить на новый уровень. В этой статье автор показывает, как он модернизировал своё приложение Hockey Hub с помощью MVI, Kotlin Flows и Hilt.
• This One Build Setting Shrunk My APK by 40% — And I Almost Missed It
• Inside Kotlin Coroutines: State Machines, Continuations, and Structured Concurrency
• Compose UI Tests for Larger Font Sizes: Scrolling and Text Truncation
• MVVM Is Outdated: The Modern Android Stack Is MVI + GraphQL + Compose
MVVM, как и Java, пережил своё время. Современная разработка под Android эволюционировала. Благодаря Jetpack Compose, GraphQL и однонаправленному потоку данных нам больше не нужны хрупкие цепочки LiveData и несогласованные состояния ViewModel. Встречайте MVI (Model–View–Intent) — шаблон, который делает состояние предсказуемым, тестируемым и масштабируемым. Если вы всё ещё жонглируете булевыми значениями и несколькими объектами MutableStateFlow в MVVM, пора выходить на новый уровень. В этой статье автор показывает, как он модернизировал своё приложение Hockey Hub с помощью MVI, Kotlin Flows и Hilt.
• This One Build Setting Shrunk My APK by 40% — And I Almost Missed It
• Inside Kotlin Coroutines: State Machines, Continuations, and Structured Concurrency
• Compose UI Tests for Larger Font Sizes: Scrolling and Text Truncation
• MVVM Is Outdated: The Modern Android Stack Is MVI + GraphQL + Compose
Medium
MVVM Is Outdated: The Modern Android Stack Is MVI + GraphQL + Compose
MVVM had its time — just like Java did. But modern Android development has evolved. With Jetpack Compose, GraphQL, and unidirectional data…
👍1
Skip начинался как транспилятор Swift/SwiftUI в Kotlin/Compose. Он был бесплатным для инди-разработчиков более года, но с запуском режима Fuse (на основе Swift SDK для Android) за него стали просить деньги. Сегодня Skip Fuse тоже стал бесплатен для инди-разработчиков. Этот режим не транслирует код, а компилирует его нативно для Android, что дает множество преимуществ. Пишут, что теперь, когда Android стал официально поддерживаемой платформой для языка Swift, сейчас самое время начать создавать двухплатформенные приложения с помощью Skip.
Разработка
• Tik Tok saved $300000 per year in computing costs by having an intern partially rewrite a microservice in Rust
Маркетинг
• Основатель Foursquare выпустил новое гиперлокальное приложение BeeBot
• AI has broken subscription app pricing models: the end of one-size-fits-all subscriptions
• Make your paywall do more than sell: 7 unexpected uses for your paywall
Кроссплатформа
• Skip Fuse стал бесплатным для инди-разработчиков
• 5 Open Source Boilerplate Templates for React Native (2025 Edition)
• Swift on Android in 2025: The Experiment That Surprised Every iOS Developer
• SKIE: The missing bridge for KMP on iOS
Разработка
• Tik Tok saved $300000 per year in computing costs by having an intern partially rewrite a microservice in Rust
Маркетинг
• Основатель Foursquare выпустил новое гиперлокальное приложение BeeBot
• AI has broken subscription app pricing models: the end of one-size-fits-all subscriptions
• Make your paywall do more than sell: 7 unexpected uses for your paywall
Кроссплатформа
• Skip Fuse стал бесплатным для инди-разработчиков
• 5 Open Source Boilerplate Templates for React Native (2025 Edition)
• Swift on Android in 2025: The Experiment That Surprised Every iOS Developer
• SKIE: The missing bridge for KMP on iOS
AppTractor
Skip: транспилятор Swift/SwiftUI в Kotlin/Compose
Skip — это технология для создания двухплатформенных мобильных приложений на языке Swift. Сердцем Skip является интеллектуальный транспилятор языка Swift в Kotlin. Для анализа исходного текста Swift в Skip используется собственная библиотека Apple SwiftSyntax…
👍2
Forwarded from AppFiles - Mobile Development
•
(iOS En) Perplexity App's Animated Bottom Bar Using SwiftUI•
(iOS En) Press Start: Game development on Apple platforms•
(iOS En) SwiftLeeds Evening Talkshow 2025•
(iOS En) PencilKit: From simple drawings to custom creative tools•
(iOS En) Practical Guide to Shipping Fast•
(iOS En) Side Effects as Behavior•
(iOS En) Tuning your app using Xcode's Instruments•
(iOS En) Guided Generation with Foundation Models in Swift•
(iOS En) Hero Confirmation Dialogs Using SwiftUI•
(And Ru) Swift на Android — ход отчаяния Apple или стратегический манёвр?•
(And En) All Material3 Expressive Loading Indicators Explained (+ When to Use Which)•
(Crs Ru) Как адаптировать свой KMP код под Аврору•
(Crs Ru) Flutter Aurora UI Kit •
(Crs Ru) Наша навигация и её эволюция•
(Crs Ru) Выбираем DI для Kotlin Multiplatform•
(Dev Ru) ИИ в кармане: как встроить ИИ в мобильное приложение•
(Dev Ru) ИИ в серьёзной разработке: революция в IT или переоценённый хайп?•
(Dev Ru) Как с нуля создать ферму мобильных устройств•
(Dev Ru) Всё про новый найм в Яндексе — честный разбор•
(Tcn Ru) Криптофинансы — блокчейн, криптовалюты, DeFi, web3•
(Dsg Ru) Когнитивная нагрузка в интерфейсах и как с ней боротьсяПрошлогодние видео:
•
(iOS Ru) SDK и BDUI в Яндекс Пэй и Яндекс Банке•
(And Ru) 5 СЕКРЕТНЫХ преимуществ Android эмулятора которые вы не знали!Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Быстрее, чище, стабильнее
Дайджест за прошлую неделю - самый задаваемый вопрос с собеседования и приватный Android без слежки, новые инструменты в Google Play и App Store, своя мобильная ОС с нуля на Rust, магия ИИ-музыки, концентрированный маркетинг и многое другое. Заходите!
Дайджест за прошлую неделю - самый задаваемый вопрос с собеседования и приватный Android без слежки, новые инструменты в Google Play и App Store, своя мобильная ОС с нуля на Rust, магия ИИ-музыки, концентрированный маркетинг и многое другое. Заходите!
1👍4❤1
Valdi - кроссплатформенный UI фреймворк от Snap
На прошлой неделе Snapchat выпустил свой кроссплатформенный UI фреймворк Valdi, который используется в собственных приложениях Snap уже 8 лет.
Как пишут, он обеспечивающий нативную производительность без ущерба для скорости разработки. Один раз напишите свой пользовательский интерфейс на декларативном TypeScript, и он сразу же скомпилируется в нативные (Kotlin, Objective-C и Swift ) представления на iOS, Android и macOS — без веб-представлений и JavaScript-бриджей.
В отличие от фреймворков, использующих веб-представления или JavaScript-мосты, Valdi компилирует декларативно отрисованные компоненты TypeScript в платформенно-зависимые представления. Valdi также обладает рядом других преимуществ в плане производительности:
• Автоматическое переиспользование представлений — глобальная система пула представлений повторно использует нативные представления на всех экранах, значительно сокращая задержки.
• Оптимизированный рендеринг компонентов — компоненты перерисовываются независимо, не запуская повторную визуализацию родительских элементов, что обеспечивает быстрые инкрементальные обновления.
• Оптимизированный движок компоновки — движок компоновки C++ работает в основном потоке с минимальными затратами на преобразование данных из одного представления в другое.
• Рендеринг с учётом области просмотра — он выполняется только видимых представлений, что делает бесконечную прокрутку производительной по умолчанию.
Valdi устраняет традиционный цикл компиляция-тестирование-отладка, замедляющий разработку нативных приложений:
• Мгновенная горячая перезагрузка — отслеживайте изменения за миллисекунды на iOS, Android или настольных компьютерах без перекомпиляции.
• Полноценная отладка VSCode — устанавливайте точки останова, проверяйте переменные, профилируйте производительность и создавайте дампы кучи прямо в VSCode.
• Привычный синтаксис — компоненты TSX с TypeScript для обеспечения типобезопасности.
Valdi генерирует типобезопасные биндинги между TypeScript и нативными платформами:
• Автоматическая генерация кода — интерфейсы TypeScript компилируются в биндинги Kotlin, Objective-C и Swift.
• Доступ к нативному API — прямой доступ к API платформы и сторонним нативным библиотекам через многоязычные модули.
• Двунаправленная связь — безопасная передача сложных структур данных и колбеков между TypeScript и нативным кодом.
• Встроенная поддержка Protobuf — бесшовная интеграция с Protobuf для эффективной сериализации данных.
• Поддерживает продвинутую анимацию, рендеринг в реальном времени и сложные системы жестов.
На прошлой неделе Snapchat выпустил свой кроссплатформенный UI фреймворк Valdi, который используется в собственных приложениях Snap уже 8 лет.
Как пишут, он обеспечивающий нативную производительность без ущерба для скорости разработки. Один раз напишите свой пользовательский интерфейс на декларативном TypeScript, и он сразу же скомпилируется в нативные (Kotlin, Objective-C и Swift ) представления на iOS, Android и macOS — без веб-представлений и JavaScript-бриджей.
В отличие от фреймворков, использующих веб-представления или JavaScript-мосты, Valdi компилирует декларативно отрисованные компоненты TypeScript в платформенно-зависимые представления. Valdi также обладает рядом других преимуществ в плане производительности:
• Автоматическое переиспользование представлений — глобальная система пула представлений повторно использует нативные представления на всех экранах, значительно сокращая задержки.
• Оптимизированный рендеринг компонентов — компоненты перерисовываются независимо, не запуская повторную визуализацию родительских элементов, что обеспечивает быстрые инкрементальные обновления.
• Оптимизированный движок компоновки — движок компоновки C++ работает в основном потоке с минимальными затратами на преобразование данных из одного представления в другое.
• Рендеринг с учётом области просмотра — он выполняется только видимых представлений, что делает бесконечную прокрутку производительной по умолчанию.
Valdi устраняет традиционный цикл компиляция-тестирование-отладка, замедляющий разработку нативных приложений:
• Мгновенная горячая перезагрузка — отслеживайте изменения за миллисекунды на iOS, Android или настольных компьютерах без перекомпиляции.
• Полноценная отладка VSCode — устанавливайте точки останова, проверяйте переменные, профилируйте производительность и создавайте дампы кучи прямо в VSCode.
• Привычный синтаксис — компоненты TSX с TypeScript для обеспечения типобезопасности.
Valdi генерирует типобезопасные биндинги между TypeScript и нативными платформами:
• Автоматическая генерация кода — интерфейсы TypeScript компилируются в биндинги Kotlin, Objective-C и Swift.
• Доступ к нативному API — прямой доступ к API платформы и сторонним нативным библиотекам через многоязычные модули.
• Двунаправленная связь — безопасная передача сложных структур данных и колбеков между TypeScript и нативным кодом.
• Встроенная поддержка Protobuf — бесшовная интеграция с Protobuf для эффективной сериализации данных.
• Поддерживает продвинутую анимацию, рендеринг в реальном времени и сложные системы жестов.
💅10🤡6
iOS
В статье показано, как использовать новый инструмент из Xcode 26 для профилирования приложений на SwiftUI: вы запускаете приложение через Instruments, выбираете шаблон SwiftUI, записываете сессию, а затем в разделе «All Updates» сортируете виды по числу обновлений, чтобы определить те, которые изменяются чаще всего. Далее автор описывает, как с помощью графа «Cause & Effect» можно отследить, что именно вызывает обновление конкретного View. Это помогает выявить, например, изменение данных как причину обновления.
• Find the SwiftUI Views that Update the Most Using Instruments
• Roadmap for improving the type checker
• Smoothly Switching Between Layouts in SwiftUI with AnyLayout
• MainActorMessage & AsyncMessage: Concurrency-safe notifications
• How I Structure My SwiftUI Projects for Scalability
В статье показано, как использовать новый инструмент из Xcode 26 для профилирования приложений на SwiftUI: вы запускаете приложение через Instruments, выбираете шаблон SwiftUI, записываете сессию, а затем в разделе «All Updates» сортируете виды по числу обновлений, чтобы определить те, которые изменяются чаще всего. Далее автор описывает, как с помощью графа «Cause & Effect» можно отследить, что именно вызывает обновление конкретного View. Это помогает выявить, например, изменение данных как причину обновления.
• Find the SwiftUI Views that Update the Most Using Instruments
• Roadmap for improving the type checker
• Smoothly Switching Between Layouts in SwiftUI with AnyLayout
• MainActorMessage & AsyncMessage: Concurrency-safe notifications
• How I Structure My SwiftUI Projects for Scalability
👍3
Android
На прошлой неделе у меня был перевод статьи про то, как сделать эффект сбоя (глитч) на Compose, на этой - как реализовать тоже самое на шейдерах. Автор взял предыдущий код, разобрал его и собрал снова уже на GPU. Провел тест и - вот удивительно - при больших объемах эффектов шейдеры победили.
• Эффекты с GPU-ускорением: глитч в масштабе
• Swift на Android — ход отчаяния Apple или стратегический манёвр?
• You are using Entry Points wrong
• Creating a CRT Screen Effect in Jetpack Compose
• Understanding Gap Buffers in Jetpack Compose
• I achieved 0% ANR in my Android app. Spilling beans on how I did it
На прошлой неделе у меня был перевод статьи про то, как сделать эффект сбоя (глитч) на Compose, на этой - как реализовать тоже самое на шейдерах. Автор взял предыдущий код, разобрал его и собрал снова уже на GPU. Провел тест и - вот удивительно - при больших объемах эффектов шейдеры победили.
• Эффекты с GPU-ускорением: глитч в масштабе
• Swift на Android — ход отчаяния Apple или стратегический манёвр?
• You are using Entry Points wrong
• Creating a CRT Screen Effect in Jetpack Compose
• Understanding Gap Buffers in Jetpack Compose
• I achieved 0% ANR in my Android app. Spilling beans on how I did it
AppTractor
Эффекты с GPU-ускорением: глитч в масштабе
Как человек, любящий заниматься низкоуровневыми вещами, я увидел отличную возможность воссоздать этот эффект с помощью шейдеров Android AGSL и сравнить реализации.
❤1👍1
Анализ "переводчика с кошачьего" - Human to Cat Translator (13 млн установок по App Magic) - показал, что внутри генератор случайных фраз. ML используется для того, чтобы определить голос кошки, а дальше включается
Разработка
• Что такое Маршалинг
• Язык программирования Zig — чем он может заменить C и Rust
• ИИ в кармане: как встроить ИИ в мобильное приложение
• ИИ в серьёзной разработке: революция в IT или переоценённый хайп?
• Когнитивная нагрузка в интерфейсах и как с ней бороться
• Всё про новый найм в Яндексе — честный разбор
• Криптофинансы — блокчейн, криптовалюты, DeFi, web3
• DroidRun — управление смартфоном с помощью ИИ-агентов
• Как я запустил локальную LLM на Raspberry Pi 5
• How to Apply Depth Contrast for Better UI Navigation
• If you've ever wanted to make a Voxel Engine, here's how to do it this weekend
Маркетинг
• Fake it till you... make it?
• Приложение GoWish для покупок и составления списков желаний переживает самый успешный год за всю историю
• Концентрированный маркетинг: как фокус на одной аудитории помогает брендам расти
• Kindle Translate в Amazon будет переводить книги с помощью ИИ
Кроссплатформа
• Valdi — кроссплатформенный UI фреймворк от Snap
• Наша навигация и её эволюция
• Выбираем DI для Kotlin Multiplatform
• Understanding the native SDK wrapper pattern in Kotlin Multiplatform
rand(). Просто, эффективно, пользователям нравится 😀.Разработка
• Что такое Маршалинг
• Язык программирования Zig — чем он может заменить C и Rust
• ИИ в кармане: как встроить ИИ в мобильное приложение
• ИИ в серьёзной разработке: революция в IT или переоценённый хайп?
• Когнитивная нагрузка в интерфейсах и как с ней бороться
• Всё про новый найм в Яндексе — честный разбор
• Криптофинансы — блокчейн, криптовалюты, DeFi, web3
• DroidRun — управление смартфоном с помощью ИИ-агентов
• Как я запустил локальную LLM на Raspberry Pi 5
• How to Apply Depth Contrast for Better UI Navigation
• If you've ever wanted to make a Voxel Engine, here's how to do it this weekend
Маркетинг
• Fake it till you... make it?
• Приложение GoWish для покупок и составления списков желаний переживает самый успешный год за всю историю
• Концентрированный маркетинг: как фокус на одной аудитории помогает брендам расти
• Kindle Translate в Amazon будет переводить книги с помощью ИИ
Кроссплатформа
• Valdi — кроссплатформенный UI фреймворк от Snap
• Наша навигация и её эволюция
• Выбираем DI для Kotlin Multiplatform
• Understanding the native SDK wrapper pattern in Kotlin Multiplatform
Telegram
AppGrowth - инди, пет, рост и монетизация
Fake it till you... make it?
Просто завидую, хотел сделать ровно то же самое на тех же самых принципах ☺️:
Прикладываю анализ приложения из Лампового чатика от ilyaM1A: Human to Cat Translator (10 млн+ установок в Google Play, 13 млн по App Magic) - "переводчик…
Просто завидую, хотел сделать ровно то же самое на тех же самых принципах ☺️:
Прикладываю анализ приложения из Лампового чатика от ilyaM1A: Human to Cat Translator (10 млн+ установок в Google Play, 13 млн по App Magic) - "переводчик…
👍3❤2😁1
С 1 марта 2026 года Google в Play начнет пессимизировать приложения, которые излишне жрут батареи у пользователей. Определять будут по метрике чрезмерных частичных блокировок пробуждения (excessive partial wake locks). Пороговое значение нежелательного поведения достигается, когда 5% пользовательских сеансов приложения за последние 28 дней являются чрезмерными. Сеанс пользователя чрезмерным, если он содержит более 2 часов в общей сложности неисключенных блокировок пробуждения в течение 24 часов. Если ваше приложение превысит этот порог, вы получите уведомление непосредственно на странице обзора Android Vitals. Там же есть таблица, которая классифицирует сеансы блокировки пробуждения по конкретным тегам и длительности, что позволяет легко идентифицировать длительные блокировки пробуждения в Android Studio для упрощения отладки.
• Google начнет блокировать приложения, излишне тратящие батареи
• Актуальные практики работы в фоне Android-приложений
• Любовь, смерть и жизненный цикл: считаем, сколько люди проводят времени в вашем Android-приложении
• Race Conditions in Modern Android App Development
• Compose Stability Analyzer: Real-Time Stability Insights for Jetpack Compose
Please open Telegram to view this post
VIEW IN TELEGRAM
AppTractor
Google начнет блокировать приложения, излишне тратящие батареи
Внесение технических изменений в код и принципы работы вашего приложения может занять много времени, поэтому Google предоставляет вам доступ к метрике для диагностики и устранения потенциальных проблем уже сейчас.
👍2
iOS
Swift мощнее, чем вы думаете. Большинство разработчиков используют лишь около 60% его потенциала, и есть много функций, которые вы не использовали или о которых даже не слышали. В этой статье рассмотрены 7 ключевых слов Swift, которые вас поразят своей новизной:
• 7 ключевых слов Swift, которые вы не используете (а следовало бы)
• Temporal Swift SDK: создание надежных и долговечных рабочих потоков
• One Swift mistake everyone should stop making today
• 6 SwiftUI Components You Didn’t Know Existed
• 5 Things About Swift Optionals That Confuse Everyone
• Make Loading Screens Fun with the SwiftUI Game Engine
Swift мощнее, чем вы думаете. Большинство разработчиков используют лишь около 60% его потенциала, и есть много функций, которые вы не использовали или о которых даже не слышали. В этой статье рассмотрены 7 ключевых слов Swift, которые вас поразят своей новизной:
some, unowned, @frozen, associatedtype, @autoclosure, @discardableResult и @_specialize.• 7 ключевых слов Swift, которые вы не используете (а следовало бы)
• Temporal Swift SDK: создание надежных и долговечных рабочих потоков
• One Swift mistake everyone should stop making today
• 6 SwiftUI Components You Didn’t Know Existed
• 5 Things About Swift Optionals That Confuse Everyone
• Make Loading Screens Fun with the SwiftUI Game Engine
AppTractor
7 ключевых слов Swift, которые вы не используете (а следовало бы)
В этой статье мы рассмотрим 7 ключевых слов Swift, которые вас поразят.
🤡2👍1
Праздничный сезон в США — это не просто время шопинга. Это культурный момент, который формирует то, как люди празднуют, общаются и тратят деньги. Следующие несколько недель — самое напряженное и конкурентное время для брендов, желающих привлечь внимание, увеличить продажи и укрепить отношения с клиентами. В этом отчете, подготовленном совместно Mobupps и Apptica, представлен обзор праздников 2024 года, прогноз на 2025 год, а также отраслевые бенчмарки, данные о потребительских настроениях и передовой опыт работы с каналами сбыта, которые помогут спланировать сезонные стратегии.
Разработка
• Как мы в Saby эмоции добавляли
• Тестирование мобильных приложений: какие особенности важно учитывать
• Как я сделал аудиогид с ИИ без опыта мобильной разработки
• Как я создал тиндер для подбора подарков, не умея кодить
• Building AI Agents in Kotlin – Part 1: A Minimal Coding Agent
• Why I Rejected a Google Offer as an Android Developer
Маркетинг
• Нужен ли сайт для продвижения моего мобильного приложения?
• Игрок «Никс» Майлз Макбрайд запускает приложение для обмена местоположением Mmotion
• Маркетологи в мобайле: Денис Демидов (автор канала «In-App: Блог про мобильный маркетинг», ex-Mobile Marketing Lead МТС Ads)
• US Holiday Season Growth Playbook
• Rank higher on App Store and make more money: Full guide
Кроссплатформа
• Build a Reusable Flutter Design System
Разработка
• Как мы в Saby эмоции добавляли
• Тестирование мобильных приложений: какие особенности важно учитывать
• Как я сделал аудиогид с ИИ без опыта мобильной разработки
• Как я создал тиндер для подбора подарков, не умея кодить
• Building AI Agents in Kotlin – Part 1: A Minimal Coding Agent
• Why I Rejected a Google Offer as an Android Developer
Маркетинг
• Нужен ли сайт для продвижения моего мобильного приложения?
• Игрок «Никс» Майлз Макбрайд запускает приложение для обмена местоположением Mmotion
• Маркетологи в мобайле: Денис Демидов (автор канала «In-App: Блог про мобильный маркетинг», ex-Mobile Marketing Lead МТС Ads)
• US Holiday Season Growth Playbook
• Rank higher on App Store and make more money: Full guide
Кроссплатформа
• Build a Reusable Flutter Design System
👍3❤1
iOS
Недавно автор этой статьи наткнулся на удобную Android-библиотеку, которая упрощает работу с разными версиями API и подумал: «Почему бы не сделать что-то подобное для SwiftUI?». После этого родилась идея разработать инструмент, который избавит вас от бесконечных проверок available и сделает код чище.
• SwiftUI-Adapter: поддерживаем новые модификаторы SwiftUI на старых версиях iOS
• Generating images in Swift using Image Playground
• Stop Overusing @State in SwiftUI
• Monitor and reduce your mobile app size with Size Analysis
• Tracking workouts with HealthKit in iOS apps
Недавно автор этой статьи наткнулся на удобную Android-библиотеку, которая упрощает работу с разными версиями API и подумал: «Почему бы не сделать что-то подобное для SwiftUI?». После этого родилась идея разработать инструмент, который избавит вас от бесконечных проверок available и сделает код чище.
• SwiftUI-Adapter: поддерживаем новые модификаторы SwiftUI на старых версиях iOS
• Generating images in Swift using Image Playground
• Stop Overusing @State in SwiftUI
• Monitor and reduce your mobile app size with Size Analysis
• Tracking workouts with HealthKit in iOS apps
Хабр
SwiftUI-Adapter: поддерживаем новые модификаторы SwiftUI на старых версиях iOS
SwiftUI-Adapter Друзья, привет! Сегодня хочу представить вам свою библиотеку - SwiftUI-Adapter , которая избавит вас от головной боли при работе с новыми модификаторами SwiftUI . Недавно я наткнулся...
❤1👍1
Android
Представьте, что тот же алгоритмический трюк, который обеспечивал быстродействие текстовых редакторов в 1960-х, скрытно делает ваши современные Android-приложения плавными сегодня. Звучит дико? Но это правда! Jetpack Compose, современный инструментарий Google для разработки пользовательского интерфейса для Android, использует проверенную временем концепцию Gap Buffer («буфер с разрывом» или «разрывной буфер» или «буфер с промежутком») для молниеносного обновления пользовательского интерфейса.
• Понимаем «буфер с разрывом» в Jetpack Compose: 60-летний алгоритм, лежащий в основе современного UI
• Compose Stability Analyzer — аналитика стабильности композабл в Android Studio
• Я нашел причину №1 фризов в вашем приложении, и вот доказательства
• Рецензия на книгу «Основы JetPack Compose: Разработка приложений для Android»
• Slashing CI Wait Times: How Pinterest Cut Android Testing Build Times by 36%+
• Why Your ViewModel Is Technically Unstable — and Why Compose Doesn’t Mind
• Taking ExoPlayer Further: Reddit’s performance techniques
• Android 16 QPR1 source finally lands on AOSP
Представьте, что тот же алгоритмический трюк, который обеспечивал быстродействие текстовых редакторов в 1960-х, скрытно делает ваши современные Android-приложения плавными сегодня. Звучит дико? Но это правда! Jetpack Compose, современный инструментарий Google для разработки пользовательского интерфейса для Android, использует проверенную временем концепцию Gap Buffer («буфер с разрывом» или «разрывной буфер» или «буфер с промежутком») для молниеносного обновления пользовательского интерфейса.
• Понимаем «буфер с разрывом» в Jetpack Compose: 60-летний алгоритм, лежащий в основе современного UI
• Compose Stability Analyzer — аналитика стабильности композабл в Android Studio
• Я нашел причину №1 фризов в вашем приложении, и вот доказательства
• Рецензия на книгу «Основы JetPack Compose: Разработка приложений для Android»
• Slashing CI Wait Times: How Pinterest Cut Android Testing Build Times by 36%+
• Why Your ViewModel Is Technically Unstable — and Why Compose Doesn’t Mind
• Taking ExoPlayer Further: Reddit’s performance techniques
• Android 16 QPR1 source finally lands on AOSP
AppTractor
Понимаем «буфер с разрывом» в Jetpack Compose: 60-летний алгоритм, лежащий в основе современного UI
Как простая структура данных из 1960-х годов делает ваши приложения Android невероятно быстрыми.
❤3👍3