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
Новые инструменты в 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