Android
Google Play предоставляет разработчикам мощные инструменты для управления подписками, в том числе пять разных режимов замены — это позволяет гибко настраивать поведение биллинга в приложениях при апгрейде или даунгрейде тарифных планов. В статье подробно разбираются принципы работы каждого режима. Автор показывает реальные примеры переходов между тарифами, объясняет, как избежать типичных ошибок и выбрать оптимальную стратегию для своего бизнеса. Статья будет полезна разработчикам мобильных приложений, которые планируют внедрять или оптимизировать подписки, ищут практические советы по интеграции и анализируют реальные финансовые последствия разных стратегий.
• Как обеспечить стабильную работу SDK для миллионов устройств
• Globe — вращающийся «глобус» из изображений
• Taking Flight with Android XR: Building a Jetliner Demo
• Understanding Google Play subscription proration: a developer’s guide
• Mastering Assisted Injection in Hilt: A Complete Guide
• How to Set Custom Duration for Material3 Snackbar in Jetpack Compose
• Compose-Native CameraX Is Now Stable: End-to-End Guide for Jetpack Compose
• Eliminating Jank in Composables: 3 Practical Techniques for Smooth Jetpack Compose UI
Google Play предоставляет разработчикам мощные инструменты для управления подписками, в том числе пять разных режимов замены — это позволяет гибко настраивать поведение биллинга в приложениях при апгрейде или даунгрейде тарифных планов. В статье подробно разбираются принципы работы каждого режима. Автор показывает реальные примеры переходов между тарифами, объясняет, как избежать типичных ошибок и выбрать оптимальную стратегию для своего бизнеса. Статья будет полезна разработчикам мобильных приложений, которые планируют внедрять или оптимизировать подписки, ищут практические советы по интеграции и анализируют реальные финансовые последствия разных стратегий.
• Как обеспечить стабильную работу SDK для миллионов устройств
• Globe — вращающийся «глобус» из изображений
• Taking Flight with Android XR: Building a Jetliner Demo
• Understanding Google Play subscription proration: a developer’s guide
• Mastering Assisted Injection in Hilt: A Complete Guide
• How to Set Custom Duration for Material3 Snackbar in Jetpack Compose
• Compose-Native CameraX Is Now Stable: End-to-End Guide for Jetpack Compose
• Eliminating Jank in Composables: 3 Practical Techniques for Smooth Jetpack Compose UI
Revenuecat
Understanding Google Play subscription proration: a developer's guide
Google Play's subscription proration system gives you fine-grained control over how users are charged when changing plans.
👍3❤1🤡1
Apple заявила, что, возможно, придётся отключить функцию App Tracking Transparency в Европе в результате «интенсивных лоббистских усилий». Например, в Германии антимонопольное ведомство этой страны пришло к выводу, что ATT потенциально противоречит принципам конкуренции, поскольку Apple, предположительно, не применяет те же стандарты конфиденциальности к своим собственным приложениям. Несколько месяцев назад Apple также была оштрафована во Франции за ATT. Apple, в свою очередь, опровергает обвинения в нарушении конкуренции, утверждая, что «Apple (…) предъявляет к себе более высокие требования, чем к любому стороннему разработчику, предоставляя пользователям возможность выбора, хотят ли они вообще получать персонализированную рекламу. Apple разработала такие сервисы и функции, как Siri, Карты, FaceTime и iMessage, таким образом, что компания не может связывать данные между этими сервисами, даже если бы захотела». Однако, похоже, этого оказалось недостаточно для убеждения регулирующих органов, поэтому компания решила перейти в наступление, представив ситуацию как лоббистский спор, призванный защитить рекламодателей и компании, получающие рекламную поддержку, а не европейских потребителей и их конфиденциальность.
Разработка
• Как сделать Offline Mode. Секреты от Avito.Tech
• Бережливое управление людьми — менеджмент без переработок и выгорания
• Идея длиною в вечность: в погоне за утопичным социальным приложением в 2025 году
• Measuring Engineering Productivity
Маркетинг
• Apple может отключить App Tracking Transparency в Европе
• Разбираем «стрики» на составляющие
Кроссплатформа
• Что ждёт Kotlin Multiplatform разработчика на собесе?
• Анонсирован Swift SDK для Android
• KMP Notifications: Handling Native Notifications in Shared Kotlin
Разработка
• Как сделать Offline Mode. Секреты от Avito.Tech
• Бережливое управление людьми — менеджмент без переработок и выгорания
• Идея длиною в вечность: в погоне за утопичным социальным приложением в 2025 году
• Measuring Engineering Productivity
Маркетинг
• Apple может отключить App Tracking Transparency в Европе
• Разбираем «стрики» на составляющие
Кроссплатформа
• Что ждёт Kotlin Multiplatform разработчика на собесе?
• Анонсирован Swift SDK для Android
• KMP Notifications: Handling Native Notifications in Shared Kotlin
AppTractor
Apple может отключить App Tracking Transparency в Европе
Apple утверждает, что некоторые из этих случаев могут вынудить её отключить функцию в Европе.
❤4
Кроссплатформа против ИИ: меняющаяся экономика мобильной разработки
Артем Мирзабекян написал интересный пост (мой перевод) прозакат кроссплатформы то, как ИИ сделал кроссплатформенную разработку неэффективной.
Смысл, как обычно,в деньгах. Основная причина, по которой команды обращались к кроссплатформенным фреймворкам, была экономической: меньше людей, меньше денег, более быстрая разработка. Но с развитием разработки с использованием ИИ экономические условия меняются. Когда генерация кода, рефакторинг и тестирование значительно ускоряются, преимущество «одной команды для двух платформ» начинает исчезать. Опытный инженер в паре с ИИ — это уже не просто разработчик, а инструмент повышения эффективности.
Если учесть ограничения кроссплатформенных фреймворков, лучшее понимание ИИ нативного кода, лучшее быстродействие нативного кода и работу с "железом", получается, что кроссплатформа теряет свою экономическую выгодность.
Артем Мирзабекян написал интересный пост (мой перевод) про
Смысл, как обычно,в деньгах. Основная причина, по которой команды обращались к кроссплатформенным фреймворкам, была экономической: меньше людей, меньше денег, более быстрая разработка. Но с развитием разработки с использованием ИИ экономические условия меняются. Когда генерация кода, рефакторинг и тестирование значительно ускоряются, преимущество «одной команды для двух платформ» начинает исчезать. Опытный инженер в паре с ИИ — это уже не просто разработчик, а инструмент повышения эффективности.
Если учесть ограничения кроссплатформенных фреймворков, лучшее понимание ИИ нативного кода, лучшее быстродействие нативного кода и работу с "железом", получается, что кроссплатформа теряет свою экономическую выгодность.
Кроссплатформенные инструменты по-прежнему будут иметь своё место, особенно для MVP, прототипов и продуктов, полагающихся на общую бизнес-логику. Но по мере того, как ИИ снижает стоимость написания и поддержки нативного кода, барьер для перехода на нативное ПО продолжает снижаться.
Это делает нативную разработку не только жизнеспособной, но и зачастую предпочтительной: более высокая производительность, лучшая интеграция и меньше компромиссов.
🤡19🤔18👍7💯5❤1
iOS
Новая статья на CreateWithSwift раскрывает пользу TextRenderer в SwiftUI — мощный API, который открывает полный контроль над визуальным отображением текста. Вместо стандартных модификаторов, вы можете рисовать текст «с нуля», применяя эффекты на уровне строки или отдельного глифа. В статье показаны примеры: постепенное затухание текста, пульсация строк с анимацией, эффект «скачущих» букв и применение фильтров, таких как размытие. Если хотите вывести UI-текст на новый уровень — читайте обязательно.
• AppleLoginAnimation — анимация как в логине Apple iCloud
• Avoid These 7 Swift Mistakes That Cost Me Hours!
• 6 Hidden SwiftUI Modifiers You Probably Missed
• Text Effects using TextRenderer in SwiftUI
• Thread-Safe Classes: GCD vs Actors
• SwiftUI Custom URL Schemes
Новая статья на CreateWithSwift раскрывает пользу TextRenderer в SwiftUI — мощный API, который открывает полный контроль над визуальным отображением текста. Вместо стандартных модификаторов, вы можете рисовать текст «с нуля», применяя эффекты на уровне строки или отдельного глифа. В статье показаны примеры: постепенное затухание текста, пульсация строк с анимацией, эффект «скачущих» букв и применение фильтров, таких как размытие. Если хотите вывести UI-текст на новый уровень — читайте обязательно.
• AppleLoginAnimation — анимация как в логине Apple iCloud
• Avoid These 7 Swift Mistakes That Cost Me Hours!
• 6 Hidden SwiftUI Modifiers You Probably Missed
• Text Effects using TextRenderer in SwiftUI
• Thread-Safe Classes: GCD vs Actors
• SwiftUI Custom URL Schemes
👍2
Android
Редко возникает необходимость выполнять сложные задачи непосредственно в пользовательском интерфейсе, и большая часть обработки будет выполняться в ViewModel. Однако, если у вас много работы или вам не хватает опыта с Compose, вам может потребоваться выполнять значительный объём кода внутри Composable-объектов для отображения состояния в пользовательском интерфейсе. Может быть, когда придёт время, вы вспомните представленные здесь решения и сочтёте их полезными.
• Устранение задержек в Composable: 3 практических метода для создания плавного UI
• От стороннего платёжного решения к собственному SDK: история RuStore Pay SDK
• Recent JUnit Updates for Kotlin
• Optimizing Performance for Android XR with Unity
• Zero-Cost Abstractions in Kotlin: Inline Functions and Value Classes
Редко возникает необходимость выполнять сложные задачи непосредственно в пользовательском интерфейсе, и большая часть обработки будет выполняться в ViewModel. Однако, если у вас много работы или вам не хватает опыта с Compose, вам может потребоваться выполнять значительный объём кода внутри Composable-объектов для отображения состояния в пользовательском интерфейсе. Может быть, когда придёт время, вы вспомните представленные здесь решения и сочтёте их полезными.
• Устранение задержек в Composable: 3 практических метода для создания плавного UI
• От стороннего платёжного решения к собственному SDK: история RuStore Pay SDK
• Recent JUnit Updates for Kotlin
• Optimizing Performance for Android XR with Unity
• Zero-Cost Abstractions in Kotlin: Inline Functions and Value Classes
AppTractor
Устранение задержек в Composable: 3 практических метода для создания плавного UI
Надеюсь, когда придёт время, вы вспомните представленные здесь решения и сочтёте их полезными.
❤1
Большинство пользователей уходит по тихому. Они перестают открывать приложение. Уведомления игнорируются. И однажды… они долго жмут на иконку и нажимают «Удалить». Для большинства приложений это конец истории. А для остальных? Это возможность еще раз обратиться к человеку. Тут экраны, которые появляются у популярных приложений сразу после долгого нажатия на иконку приложения. Эти меню создают своеобразные препятствия для удаления и дают причину остаться. Даже 5–10% не удаливших на этом этапе может обернуться для больших приложений неплохой выгодой. Этот последний момент — золотая жила. Используйте его с умом, и вы сможете вернуть пользователя, прежде чем он уйдет навсегда.
Разработка
• Кроссплатформа против ИИ: меняющаяся экономика мобильной разработки
• Как ретроигры подняли retention? Опыт внедрения геймификации в МТС
• Mistakes I see engineers making in their code reviews
• UI-UX 2025 DESIGN TRENDS
Маркетинг
• Как лучшие приложения работают с удалением
• Apple выиграла антимонопольное дело 2011 года
Кроссплатформа
• Hivefy — музыкальный плеер в стиле Spotify на Flutter
• Saving User Preferences in Kotlin Multiplatform the Right Way
Разработка
• Кроссплатформа против ИИ: меняющаяся экономика мобильной разработки
• Как ретроигры подняли retention? Опыт внедрения геймификации в МТС
• Mistakes I see engineers making in their code reviews
• UI-UX 2025 DESIGN TRENDS
Маркетинг
• Как лучшие приложения работают с удалением
• Apple выиграла антимонопольное дело 2011 года
Кроссплатформа
• Hivefy — музыкальный плеер в стиле Spotify на Flutter
• Saving User Preferences in Kotlin Multiplatform the Right Way
Telegram
AppGrowth - инди, пет, рост и монетизация
Оффбординг
Большинство пользователей уходит по тихому. Они перестают открывать приложение. Уведомления игнорируются. И однажды… они долго жмут на иконку и нажимают «Удалить».
Для большинства приложений это конец истории. А для остальных? Это возможность…
Большинство пользователей уходит по тихому. Они перестают открывать приложение. Уведомления игнорируются. И однажды… они долго жмут на иконку и нажимают «Удалить».
Для большинства приложений это конец истории. А для остальных? Это возможность…
❤6👍2
iOS
Многие интервью на iOS начинают с простого вопроса: «Что происходит, когда ты нажимаешь на иконку приложения?» На первый взгляд — тривиальный, но он вскрывает глубину знаний об архитектуре iOS, которые не зависят от Swift, UIKit или SwiftUI. Автор отмечает: даже разработчики с опытом «в продакшене» часто застывают на этом вопросе. Даже если вы написали десятки экранов, API знакомы — понимание, что происходит «внутри» ОС, часто оказывается неполным.
Поставьте 👍, если хотите эту статью на русском.
• Анализ производительности для ускорения сборки в Xcode 2025
• ScrollView snapping in SwiftUI
• The Most Asked iOS Interview Question — Where Even Senior Devs Get Stuck
• I Tried to Reduce My App Size by 50%. Here’s What Actually Worked
Многие интервью на iOS начинают с простого вопроса: «Что происходит, когда ты нажимаешь на иконку приложения?» На первый взгляд — тривиальный, но он вскрывает глубину знаний об архитектуре iOS, которые не зависят от Swift, UIKit или SwiftUI. Автор отмечает: даже разработчики с опытом «в продакшене» часто застывают на этом вопросе. Даже если вы написали десятки экранов, API знакомы — понимание, что происходит «внутри» ОС, часто оказывается неполным.
Поставьте 👍, если хотите эту статью на русском.
• Анализ производительности для ускорения сборки в Xcode 2025
• ScrollView snapping in SwiftUI
• The Most Asked iOS Interview Question — Where Even Senior Devs Get Stuck
• I Tried to Reduce My App Size by 50%. Here’s What Actually Worked
Medium
The Most Asked iOS Interview Question — Where Even Senior Devs Get Stuck
It’s not about Swift syntax. It’s not about UIKit vs SwiftUI. It’s about how well you really understand iOS.
👍32❤1
Android
Однажды на собеседовании мы обсуждали с кандидатом кусочек кода, связанный с Kotlin Flow. Кандидату нужно было найти причину бага. И при помощи нейросети или своих глубоких познаний наш визави стал говорить о синхронности и асинхронности
• Плавная анимация в Jetpack Compose — простое решение с animateDpAsState
• Eblan Launcher — быстрый настраиваемый и безопасный лаунчер для Android
• Исследуем SharedFlow: emit vs tryEmit, как использовать replay и bufferCapacity
• The Functional Way to Build Reliable Apps — Arrow’s Either
• Keep Android Open
• What We Talk About When We Talk About Sideloading
Однажды на собеседовании мы обсуждали с кандидатом кусочек кода, связанный с Kotlin Flow. Кандидату нужно было найти причину бага. И при помощи нейросети или своих глубоких познаний наш визави стал говорить о синхронности и асинхронности
emit и tryEmit, которые используются для передачи новой порции данных в SharerFlow. К сути проблемы его размышления не относились, однако я получил сигнал, что здорово было бы поглубже разобраться, как это работает. В статье разберём разницу между emit() и tryEmit(), для каких случаев подходят эти операторы, а также обсудим влияние параметров replay и bufferCapacity на работу MutableSharedFlow.• Плавная анимация в Jetpack Compose — простое решение с animateDpAsState
• Eblan Launcher — быстрый настраиваемый и безопасный лаунчер для Android
• Исследуем SharedFlow: emit vs tryEmit, как использовать replay и bufferCapacity
• The Functional Way to Build Reliable Apps — Arrow’s Either
• Keep Android Open
• What We Talk About When We Talk About Sideloading
Хабр
Исследуем SharedFlow: emit vs tryEmit, как использовать replay и bufferCapacity
Дисклеймер: данная статья — это попытка разобраться в сути вопроса, в том числе совместно с читателями. Если вы заметили неточность/ошибку в проводимых экспериментах или у вас есть чем поделиться по...
👍3😁1
Вспомним о Pascal! Но не как о «языке из прошлого», а как о кандидате для веб-разработки. В статье «Web Development In… Pascal?» показано, что с помощью современных инструментов вроде Free Pascal и FCL-Web можно писать полноценные веб-приложения: CGI, FastCGI или даже встроенные серверы — просто меняя один модуль в коде. Паскаль даёт строгую типизацию, хорошую производительность и аккуратный код — редкое сочетание для веба. Однако остаются ограничения: мало библиотек и сообщество куда меньше, чем у Python или JavaScript. Но как отмечает автор, именно в этом и прелесть — Pascal можно рассматривать как чистую, дисциплинированную альтернативу, особенно если хочется вырваться из хаоса npm-экосистемы.
Разработка
• Отличительные особенности RED OS Mode
• Apple выпустила исследовательский датасет для обучения моделей редактирования изображений
• Web Development In… Pascal?
Кроссплатформа
• 8 More Flutter Widgets You’re Probably Not Using (But Should Be)
Разработка
• Отличительные особенности RED OS Mode
• Apple выпустила исследовательский датасет для обучения моделей редактирования изображений
• Web Development In… Pascal?
Кроссплатформа
• 8 More Flutter Widgets You’re Probably Not Using (But Should Be)
Hackaday
Web Development In… Pascal?
If you were asked to make an e-commerce website in 2025, what language would you reach for? Show of hands: JavaScript? Go? Pascal? Well, there was at least one taker for that last one: [jns], and h…
😁4🤡2
Cahier - пример современного блокнота для Android от Google
Google выпустил новое референсное приложение. Cahier ("блокнот" на французском) — это многофункциональное offline-first приложение для ведения заметок, и призванное продемонстрировать лучшие практики современной разработки Android с использованием Kotlin, Jetpack Compose, Material 3 и набора библиотек Jetpack, таких как Ink API. Оно служит референсным примером Google для создания надежных, адаптивных и увлекательных приложений для повышения производительности на Android.
Этот пример может послужить отличным источником информации для создания приложения для больших экранов. Он демонстрирует лучшие практики разработки подобных интерфейсов, ускоряя понимание и освоение разработчиками соответствующих мощных API и методов:
• Универсальное создание заметок: демонстрирует, как реализовать гибкую систему создания контента, поддерживающую различные форматы в одной заметке, включая текст, рисунки свободной формы и прикреплённые изображения.
• Инструменты для креативного рисования: реализует высокопроизводительный процесс рисования с малой задержкой с помощью Ink API. В примере представлен практический пример интеграции различных кистей, палитры цветов, функций отмены/повтора действий и ластика.
• Интеграция гибкого контента с перетаскиванием: демонстрирует, как обрабатывать входящий и исходящий контент с помощью перетаскивания. Это включает в себя прием изображений из других приложений и возможность перетаскивания контента из вашего приложения для удобного обмена.
• Организация заметок: добавляйте заметки в избранное для быстрого доступа. Фильтруйте представление для поддержания порядка.
• Offline first архитектура: приложение построено на Offline first архитектуре с использованием Room, что гарантирует локальное сохранение всех данных и полную функциональность приложения без подключения к Интернету.
• Мощная поддержка многооконности и многоэкземплярности: демонстрирует, как поддерживать многоэкземплярность, позволяя запускать приложение в нескольких окнах, чтобы пользователи могли работать с разными заметками одновременно, повышая производительность и творческий потенциал на больших экранах.
• Адаптивный пользовательский интерфейс для всех экранов: Пользовательский интерфейс легко адаптируется к различным размерам и ориентациям экрана с помощью ListDetailPaneScaffold и NavigationSuiteScaffold, обеспечивая оптимизированный пользовательский интерфейс на телефонах, планшетах и складных устройствах.
• Глубокая системная интеграция: проект предоставляет руководство по тому, как сделать ваше приложение приложением по умолчанию для создания заметок на Android 14 и более поздних версиях, реагируя на общесистемные намерения Notes, что позволяет быстро захватывать контент из различных системных точек входа.
Google выпустил новое референсное приложение. Cahier ("блокнот" на французском) — это многофункциональное offline-first приложение для ведения заметок, и призванное продемонстрировать лучшие практики современной разработки Android с использованием Kotlin, Jetpack Compose, Material 3 и набора библиотек Jetpack, таких как Ink API. Оно служит референсным примером Google для создания надежных, адаптивных и увлекательных приложений для повышения производительности на Android.
Этот пример может послужить отличным источником информации для создания приложения для больших экранов. Он демонстрирует лучшие практики разработки подобных интерфейсов, ускоряя понимание и освоение разработчиками соответствующих мощных API и методов:
• Универсальное создание заметок: демонстрирует, как реализовать гибкую систему создания контента, поддерживающую различные форматы в одной заметке, включая текст, рисунки свободной формы и прикреплённые изображения.
• Инструменты для креативного рисования: реализует высокопроизводительный процесс рисования с малой задержкой с помощью Ink API. В примере представлен практический пример интеграции различных кистей, палитры цветов, функций отмены/повтора действий и ластика.
• Интеграция гибкого контента с перетаскиванием: демонстрирует, как обрабатывать входящий и исходящий контент с помощью перетаскивания. Это включает в себя прием изображений из других приложений и возможность перетаскивания контента из вашего приложения для удобного обмена.
• Организация заметок: добавляйте заметки в избранное для быстрого доступа. Фильтруйте представление для поддержания порядка.
• Offline first архитектура: приложение построено на Offline first архитектуре с использованием Room, что гарантирует локальное сохранение всех данных и полную функциональность приложения без подключения к Интернету.
• Мощная поддержка многооконности и многоэкземплярности: демонстрирует, как поддерживать многоэкземплярность, позволяя запускать приложение в нескольких окнах, чтобы пользователи могли работать с разными заметками одновременно, повышая производительность и творческий потенциал на больших экранах.
• Адаптивный пользовательский интерфейс для всех экранов: Пользовательский интерфейс легко адаптируется к различным размерам и ориентациям экрана с помощью ListDetailPaneScaffold и NavigationSuiteScaffold, обеспечивая оптимизированный пользовательский интерфейс на телефонах, планшетах и складных устройствах.
• Глубокая системная интеграция: проект предоставляет руководство по тому, как сделать ваше приложение приложением по умолчанию для создания заметок на Android 14 и более поздних версиях, реагируя на общесистемные намерения Notes, что позволяет быстро захватывать контент из различных системных точек входа.
👍7
Google открывает внешние оплаты в Play Store в США
В июле Апелляционный суд США отклонил апелляцию Google в затянувшемся судебном разбирательстве с Epic Games, в котором присяжные постановили, что компания эксплуатирует Play Store и его платёжную систему как незаконную монополию. Теперь, чтобы выполнить решение суда, Google вносит существенные изменения в работу Play Store в США.
Разработчики теперь могут напрямую сообщать о более выгодных предложениях на свои приложения или подписки, доступных вне Google Play. Они также могут предоставлять ссылки на эти предложения или другие версии своих приложений, размещенные в других местах. Более того, разработчики могут предлагать варианты оплаты, выходящие за рамки Google Play Billing, например, прямые платежи кредитными картами, PayPal или собственные системы.
Эти изменения вступят в силу с 29 октября 2025 года и только для пользователей из США.
До сих пор правила Google запрещали разработчикам приложений продвигать внешние способы оплаты или ссылаться на них в своих приложениях, что и легло в основу иска Epic. Судебный запрет обязывает Google отказаться от этого контроля, по крайней мере, на время действия постановления до 1 ноября 2027 года.
Неудивительно, что Google предпринимает шаги по прекращению свободного распространения приложений - в 2026 году Google вводит новое «требования проверки разработчика» для всех приложений, устанавливаемых на устройства Android, независимо от источника (реакция F-Droid). Компания будет проверять личность всех разработчиков, распространяющих приложения для Android, даже если эти приложения не представлены в магазине Play. По заявлению Google, это добавляет «важный уровень ответственности в экосистему» и призвано «защитить пользователей от вредоносных программ и финансового мошенничества».
В июле Апелляционный суд США отклонил апелляцию Google в затянувшемся судебном разбирательстве с Epic Games, в котором присяжные постановили, что компания эксплуатирует Play Store и его платёжную систему как незаконную монополию. Теперь, чтобы выполнить решение суда, Google вносит существенные изменения в работу Play Store в США.
Разработчики теперь могут напрямую сообщать о более выгодных предложениях на свои приложения или подписки, доступных вне Google Play. Они также могут предоставлять ссылки на эти предложения или другие версии своих приложений, размещенные в других местах. Более того, разработчики могут предлагать варианты оплаты, выходящие за рамки Google Play Billing, например, прямые платежи кредитными картами, PayPal или собственные системы.
Эти изменения вступят в силу с 29 октября 2025 года и только для пользователей из США.
До сих пор правила Google запрещали разработчикам приложений продвигать внешние способы оплаты или ссылаться на них в своих приложениях, что и легло в основу иска Epic. Судебный запрет обязывает Google отказаться от этого контроля, по крайней мере, на время действия постановления до 1 ноября 2027 года.
Неудивительно, что Google предпринимает шаги по прекращению свободного распространения приложений - в 2026 году Google вводит новое «требования проверки разработчика» для всех приложений, устанавливаемых на устройства Android, независимо от источника (реакция F-Droid). Компания будет проверять личность всех разработчиков, распространяющих приложения для Android, даже если эти приложения не представлены в магазине Play. По заявлению Google, это добавляет «важный уровень ответственности в экосистему» и призвано «защитить пользователей от вредоносных программ и финансового мошенничества».
🔥3❤1
iOS
Вчерашняя статья. Оказывается, что "самый" вопрос - что происходит, когда вы нажимаете на иконку приложения в iPhone? (вкратце, если вы не знали: SpringBoard обнаруживает нажатие → launchd создает процесс → dyld линкует фреймворки → Стартует UIApplicationMain → Инициализируется AppDelegate/SceneDelegate → Загружается RootViewController → Приложение становится активным) Странно, что автор назвал его самым частым, ну да ему виднее.
• Самый задаваемый вопрос на iOS-собеседовании, на котором застревают даже Senior разработчики
• SwiftUI Onboarding — онбординг, как в приложениях Apple
• Быстрее, чище, стабильнее: как мы ускорили UI-тесты в iOS в 2,5 раза
• Droppath 6.0: Our Path to Liquid-Glass
• Organizing SwiftUI Views with ToolbarContent and @ToolbarContentBuilder
• Turning a Menu into a Mini Settings Panel in SwiftUI
Вчерашняя статья. Оказывается, что "самый" вопрос - что происходит, когда вы нажимаете на иконку приложения в iPhone? (вкратце, если вы не знали: SpringBoard обнаруживает нажатие → launchd создает процесс → dyld линкует фреймворки → Стартует UIApplicationMain → Инициализируется AppDelegate/SceneDelegate → Загружается RootViewController → Приложение становится активным) Странно, что автор назвал его самым частым, ну да ему виднее.
• Самый задаваемый вопрос на iOS-собеседовании, на котором застревают даже Senior разработчики
• SwiftUI Onboarding — онбординг, как в приложениях Apple
• Быстрее, чище, стабильнее: как мы ускорили UI-тесты в iOS в 2,5 раза
• Droppath 6.0: Our Path to Liquid-Glass
• Organizing SwiftUI Views with ToolbarContent and @ToolbarContentBuilder
• Turning a Menu into a Mini Settings Panel in SwiftUI
AppTractor
Самый задаваемый вопрос на iOS-собеседовании, на котором застревают даже Senior разработчики
Он не про синтаксис Swift. Не про UIKit или SwiftUI. Он про то, насколько хорошо вы разбираетесь в iOS.
👍4❤2
Android
В статье рассказывают, как программисты из Турции обнаружили странную ошибку: сборка Kotlin-проекта выдавала сообщение «Unknown compiler message tag: INFO», и выяснилось, что дело в локали системы. Оказалось, что методы вроде
• Cahier — пример современного блокнота для Android от Google
• Gradle для QA-инженера
• The Country That Broke Kotlin
• Under the Hood of Suspension: Tracing the State Machine Behind Kotlin Coroutines
В статье рассказывают, как программисты из Турции обнаружили странную ошибку: сборка Kotlin-проекта выдавала сообщение «Unknown compiler message tag: INFO», и выяснилось, что дело в локали системы. Оказалось, что методы вроде
toLowerCase() и capitalize() в компиляторе работали с учётом языка системы, и на турецкой раскладке буква «I» приводилась к «ı» (без точки) — из-за этого часть алгоритма не находила нужные ключи. Ошибка проявлялась не сразу, но с ростом сложностей (например, при корутинах и примитивных массивах) стала серьёзной. Команда Kotlin изменила библиотеку, чтобы использовать инвариантную локаль (например, Locale.US), и в версии 1.5 баг наконец окончательно закрылся. Вывод: даже самая банальная строковая операция может оказаться уязвимой из-за языковых нюансов и настроек локали. Стоит помнить, что код работает в мире, где культура, алфавит и система имеют значение — и тестировать не только в «английской» среде.• Cahier — пример современного блокнота для Android от Google
• Gradle для QA-инженера
• The Country That Broke Kotlin
• Under the Hood of Suspension: Tracing the State Machine Behind Kotlin Coroutines
Medium
The Country That Broke Kotlin
Logic vs language: how a Turkish alphabet bug played a years-long game of hide-and-seek inside the Kotlin compiler
👍2❤1
App Store тоже улучшается! Во-первых, теперь вы можете отправлять дополнительные материалы на рассмотрение независимо от существующей заявки. Это касается событий, функций Game Center, критических обновлений. Вто-вторых, Custom Product Pages теперь стало 70. Теперь вы можете назначать ключевые слова каждой кастомной странице, чтобы ее было легче найти в App Store. Страницы с назначенными им ключевыми словами могут отображаться в результатах поиска по выбранным ключевым словам вместо страницы продукта по умолчанию. В третьих, промо-коды уходят. Теперь вместо них оффер-коды. И они поддерживают все типы покупок внутри приложения, включая расходуемые, нерасходуемые и непродлеваемые подписки, а также расширенную поддержку для автоматически продлеваемых подписок.
Разработка
• Octoverse 2025: ежегодный отчет от GitHub
• Маленькая RAM vs новые фичи: как мы повышаем детализацию Карт и сохраняем стабильность
• 10 UI/UX Cheat Codes for INSTANTLY Better Designs
• Google Launches Mangle: A New Language That Could Change How We Work With Databases
Маркетинг
• Google открывает внешние оплаты в Play Store в США
• Улучшения в App Store — больше проверок и оффер коды для всего
• Скопировал неудачную идею, исправил ее и превратил в SaaS-проект на $30K
Кроссплатформа
• Подстраиваемся под новые требования Google: переходим на 16 KB memory page (гайд для разработчиков React Native)
• Когда .arb не тянет: как я подключаю TMS к Flutter-проекту
• Advanced Flutter Tools Used by Senior Developers
• Building a Premium Glassmorphism Flutter Login
Разработка
• Octoverse 2025: ежегодный отчет от GitHub
• Маленькая RAM vs новые фичи: как мы повышаем детализацию Карт и сохраняем стабильность
• 10 UI/UX Cheat Codes for INSTANTLY Better Designs
• Google Launches Mangle: A New Language That Could Change How We Work With Databases
Маркетинг
• Google открывает внешние оплаты в Play Store в США
• Улучшения в App Store — больше проверок и оффер коды для всего
• Скопировал неудачную идею, исправил ее и превратил в SaaS-проект на $30K
Кроссплатформа
• Подстраиваемся под новые требования Google: переходим на 16 KB memory page (гайд для разработчиков React Native)
• Когда .arb не тянет: как я подключаю TMS к Flutter-проекту
• Advanced Flutter Tools Used by Senior Developers
• Building a Premium Glassmorphism Flutter Login
AppTractor
Улучшения в App Store — больше проверок и оффер коды для всего
Apple представляет новые возможности для отправки контента и обновлений, пока ваше приложение находится на рассмотрении, удваивает количество кастомных продуктовых страниц и предлагает оффер коды для всех типов покупок внутри приложения.
🐳3👍2
Forwarded from AppFiles - Mobile Development
•
(iOS En) Optimize your app's speed and efficiency•
(iOS En) Modern SwiftUI Callbacks using AsyncStream•
(iOS En) How hard can it be to send a postcard?•
(iOS En) Beyond Xcode•
(iOS En) Building Complex Scroll Animations - Custom Bottom Sheet Interaction•
(iOS En) Keychain Unlocked: Mastering Advanced Security for Smarter, Safer Apps•
(iOS En) SwiftUI Alert With Progress View•
(iOS En) iMessage Style Photo Picker Using SwiftUI•
(And Ru) ART Memory Management•
(And Ru) Kotlin и контекстно-ориентированное мышление•
(And Ru) VK Звонки в лесу: звоним в плохих сетях•
(And En) TheAndroidShow: live from Droidcon, with Agents in Android Studio, Android XR and more!•
(And En) Google Play Console: Streamlining workflows, from testing to growth•
(And En) Building for Samsung Galaxy XR, featuring Calm's blueprint to Android XR development•
(And En) Android XR #AskAndroid•
(And En) Explaining Google's Guide to App Architecture In Simple Terms•
(And En) FAB Menu In Material3 Expressive•
(And En) From Java to Kotlin: Mercedes-Benz.io’s Journey•
(And En) Merge Queue at Uber Scale•
(And En) From 25 Minutes to 2.5: Okta's Journey to Faster Builds•
(Crs Ru) Что не так с Dart и Flutter в 2025 году? •
(Crs Ru) KMP для ОС Аврора•
(Crs Ru) Backend-Driven UI как ответ на рост числа платформ•
(Dev Ru) Как устроена мобильная разработка сегодня•
(Dev Ru) Как вас взламывают через Open Source — DevSecOps и безопасная разработкаПрошлогодние видео:
•
(iOS Ru) Как устроена библиотека AppMetrica•
(iOS Ru) Здесь куют Metal•
(iOS Ru) Как iOS-разработчику выжить на проекте с KMP?•
(And Ru) Android cookbook: готовим WebView правильно•
(And Ru) Kotlin Coroutines. Устройство и возможности использования•
(And Ru) Фреш на полке, фреш в стеке•
(Dev Ru) От натива до SDUI через гибридPlease open Telegram to view this post
VIEW IN TELEGRAM
👍2
Octoverse 2025
У GitHub вышел ежегодный отчет Octoverse. Из более или менее интересного:
•
• Рост популярности типизированных языков свидетельствует о том, что ИИ не только меняет скорость написания кода, но и влияет на то, каким языкам разработчики доверяют внедрение кода, сгенерированного ИИ, в эксплуатацию.
•
• На первый квартал 2025 года
У GitHub вышел ежегодный отчет Octoverse. Из более или менее интересного:
•
TypeScript впервые стал самым используемым языком на GitHub, обогнав Python. Это завершает десятилетнюю тенденцию перехода разработчиков на типизированный JavaScript и сигнализирует о новом стандарте для современной разработки.• Рост популярности типизированных языков свидетельствует о том, что ИИ не только меняет скорость написания кода, но и влияет на то, каким языкам разработчики доверяют внедрение кода, сгенерированного ИИ, в эксплуатацию.
•
Luau стал самым быстрорастущим в процентном отношении языком. Luau — это язык программирования постепенной типизации, используемый в Roblox, что тоже отражает более широкую тенденцию отрасли к типизированной гибкости. • На первый квартал 2025 года
Kotlin находился на 15 месте по популярности на GitHub, Swift на 17, Objective-C на 18, Dart на 22.👍4❤1
Forwarded from AppGrowth - инди, пет, рост и монетизация
Приложения, вышедшие в сентябре, и заработавшие больше $50,000
По данным AppMagic, в августе было выпущено всего 4 приложения, которые заработали более $50,000 (в августе было 6).
1. Tea App for Women: TeaOnHim ($150,147) - видимо перезапуск приложения, которое Apple на прошлой неделе удалила из App Store. Новая версия вышла 24 октября и уже заработала больше 150К.
2. TruthSeek: AI People Search ($75,915) - декларируется как поиск людей в социальных сетях. Что делает ИИ в нем не очень понятно, но видимо без него сейчас никуда.
3. Vidoo: AI Video Generator ($68,105) - Android-обертка для Sora, Veo 3, Kling, Hailuo и Genova, генерящая видео.
4. True Heritage & Ancestry: EDNA ($58,024) - определение происхождения человека по селфи (wat?), плюс генерация старинных фото и прочих генеалогических историй. Судя по 90% однозвездочных отзывов (при средней оценке 4.7) что-то не очень работающее.
Что можно повторить в одно лицо? Скорее всего, все, кроме первого (хотя и первое при должном бюджете на продвижение). Во втором случае возникнет вопрос доступа к социальным сетям и интерпретации социального графа, в четвертом этичности работы. А третье реализуется вполне просто, вопрос, опять же, упирается в бюджет и/или виральность. Можно сделать "заготовку" и быстро обновить при появлении следующей ИИ-модели.
Приложения за август и июль.
AppGrowth про инди, пет и монетизацию
По данным AppMagic, в августе было выпущено всего 4 приложения, которые заработали более $50,000 (в августе было 6).
1. Tea App for Women: TeaOnHim ($150,147) - видимо перезапуск приложения, которое Apple на прошлой неделе удалила из App Store. Новая версия вышла 24 октября и уже заработала больше 150К.
2. TruthSeek: AI People Search ($75,915) - декларируется как поиск людей в социальных сетях. Что делает ИИ в нем не очень понятно, но видимо без него сейчас никуда.
3. Vidoo: AI Video Generator ($68,105) - Android-обертка для Sora, Veo 3, Kling, Hailuo и Genova, генерящая видео.
4. True Heritage & Ancestry: EDNA ($58,024) - определение происхождения человека по селфи (wat?), плюс генерация старинных фото и прочих генеалогических историй. Судя по 90% однозвездочных отзывов (при средней оценке 4.7) что-то не очень работающее.
Что можно повторить в одно лицо? Скорее всего, все, кроме первого (хотя и первое при должном бюджете на продвижение). Во втором случае возникнет вопрос доступа к социальным сетям и интерпретации социального графа, в четвертом этичности работы. А третье реализуется вполне просто, вопрос, опять же, упирается в бюджет и/или виральность. Можно сделать "заготовку" и быстро обновить при появлении следующей ИИ-модели.
Приложения за август и июль.
AppGrowth про инди, пет и монетизацию
👍5🔥3❤1🤩1
Apple обновила веб-версию App Store
Apple запустила новый веб-интерфейс App Store. Теперь вы можете пользоваться всеми функциями App Store прямо в браузере.
Раньше домен Apple «apps.apple.com» просто перенаправлял вас на общую страницу App Store на сайте Apple. Теперь он перенаправляет вас на полноценную версию App Store, которую вы можете просматривать на своем компьютере.
Веб-версия App Store теперь предлагает полную копию вкладки «Сегодня», которую вы знаете по iPhone. Доступен удобный доступ к текущим специальным мероприятиям, топам, редакционным обзорам и многому другому.
Редизайн также распространяется на страницы приложений. Страницы приложений теперь имеют насыщенный медиа-интерфейс с новой иконографией для таких элементов, как категории, награды, мероприятия и многое другое.
Также появился новый интерфейс поиска, который позволяет быстро найти нужное приложение. Раньше единственным способом сделать это было ввести название приложения в Google, а затем открыть страницу продукта из результатов поиска Google.
Apple запустила новый веб-интерфейс App Store. Теперь вы можете пользоваться всеми функциями App Store прямо в браузере.
Раньше домен Apple «apps.apple.com» просто перенаправлял вас на общую страницу App Store на сайте Apple. Теперь он перенаправляет вас на полноценную версию App Store, которую вы можете просматривать на своем компьютере.
Веб-версия App Store теперь предлагает полную копию вкладки «Сегодня», которую вы знаете по iPhone. Доступен удобный доступ к текущим специальным мероприятиям, топам, редакционным обзорам и многому другому.
Редизайн также распространяется на страницы приложений. Страницы приложений теперь имеют насыщенный медиа-интерфейс с новой иконографией для таких элементов, как категории, награды, мероприятия и многое другое.
Также появился новый интерфейс поиска, который позволяет быстро найти нужное приложение. Раньше единственным способом сделать это было ввести название приложения в Google, а затем открыть страницу продукта из результатов поиска Google.
👍3
Купим прилы. Дорого. Звучит как скам?
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