«Ради любви к коду» — летний хакатон GitHub
GitHub анонсировал летний хакатон «Ради любви к коду» (For the Love of Code) для весёлых, нелепых и безумно креативных проектов. Идея заключается в том, чтобы взять безумные идеи, которые вы отложили в долгий ящик, и воплотить их в жизнь.
«Ради любви к коду» — это всемирный летний хакатон для разработчиков любого уровня опыта. Хакатон проходит с 16 июля по 22 сентября 2025 года. Помимо возможности получить интернет-вспоминание за лучшую работу, опубликованную в блоге GitHub, победители в каждой категории получат и более полезные призы — 12 месяцев подписки GitHub Copilot Pro+.
Конкурс разделен на шесть категорий, которые GitHub иронично описывает как высоконаучные:
1. Кнопки, звуковые сигналы и мигающие лампочки
2. Агенты изменений
3. Терминалmyst таланты
4. В игре
5. Чудеса света
6. Все остальное
Какую бы категорию вы ни выбрали, команда советует сделать проект невероятно полезным или просто необычным. Главное, чтобы это приносило вам радость, беритесь за дело и пишите код.
GitHub анонсировал летний хакатон «Ради любви к коду» (For the Love of Code) для весёлых, нелепых и безумно креативных проектов. Идея заключается в том, чтобы взять безумные идеи, которые вы отложили в долгий ящик, и воплотить их в жизнь.
«Ради любви к коду» — это всемирный летний хакатон для разработчиков любого уровня опыта. Хакатон проходит с 16 июля по 22 сентября 2025 года. Помимо возможности получить интернет-вспоминание за лучшую работу, опубликованную в блоге GitHub, победители в каждой категории получат и более полезные призы — 12 месяцев подписки GitHub Copilot Pro+.
Смысл в том, что код должен быть не только средством решения задач. Он также служит для исследования идей, проявления креативности и создания чего-то просто потому, что это приносит радость.
Конкурс разделен на шесть категорий, которые GitHub иронично описывает как высоконаучные:
1. Кнопки, звуковые сигналы и мигающие лампочки
2. Агенты изменений
3. Терминалmyst таланты
4. В игре
5. Чудеса света
6. Все остальное
Какую бы категорию вы ни выбрали, команда советует сделать проект невероятно полезным или просто необычным. Главное, чтобы это приносило вам радость, беритесь за дело и пишите код.
❤5👍5
iOS
В статье описан простой и эффективный способ добавить в SwiftUI-приложение выбор кастомного акцентного цвета. Автор делится решением, построенным на трех основных принципах: коллекция доступных цветов, использование среды SwiftUI для хранения выбранного акцента и сохранение выбора через индекс в
• Преобразуйте свой iOS-код с помощью принципов SOLID: практическое руководство
• Инструменты для мониторинга производительности iOS-приложений
• SwiftUI Backports — поддержка старых версий iOS для новых модификаторов SwiftUI
• Рисуем чайник в Metal
• Providing Multiple Accent Colors in SwiftUI Apps
• SwiftUI Search Enhancements in iOS and iPadOS 26
• SwiftUI: Scrollview tracking offset/items
• A Peek into My Debugging Process (With Real Examples)
• NotificationCenter.Message: A New Concurrency-Safe Notification Experience in Swift 6.2
• Let's build the Apple Music iOS 26 Tab Bar in Liquid Glass
• Implementing a Refractive Glass Shader in Metal
В статье описан простой и эффективный способ добавить в SwiftUI-приложение выбор кастомного акцентного цвета. Автор делится решением, построенным на трех основных принципах: коллекция доступных цветов, использование среды SwiftUI для хранения выбранного акцента и сохранение выбора через индекс в
UserDefaults при помощи @AppStorage. Такой подход оказывается практичным, позволяя легко масштабировать набор опций и обеспечивать мгновенную смену акцента по всему интерфейсу. Особый акцент делается на интеграцию пользовательского цвета через EnvironmentValue, что дает возможность использовать его в любом вью SwiftUI без дополнительного кода. Для пользователя реализуется простое меню выбора цвета: при смене цвета достаточно обновить индекс выбранного цвета, а SwiftUI сам заботится о реактивном обновлении интерфейса. Такой метод удобен как для разработчика, так и для пользователя приложения, обеспечивая современный уровень персонализации.• Преобразуйте свой iOS-код с помощью принципов SOLID: практическое руководство
• Инструменты для мониторинга производительности iOS-приложений
• SwiftUI Backports — поддержка старых версий iOS для новых модификаторов SwiftUI
• Рисуем чайник в Metal
• Providing Multiple Accent Colors in SwiftUI Apps
• SwiftUI Search Enhancements in iOS and iPadOS 26
• SwiftUI: Scrollview tracking offset/items
• A Peek into My Debugging Process (With Real Examples)
• NotificationCenter.Message: A New Concurrency-Safe Notification Experience in Swift 6.2
• Let's build the Apple Music iOS 26 Tab Bar in Liquid Glass
• Implementing a Refractive Glass Shader in Metal
AppTractor
Преобразуйте свой iOS-код с помощью принципов SOLID: практическое руководство
Принципы SOLID — это набор правил, которые каждый разработчик должен знать и применять при написании кода, потому что они уменьшают «запах кода», делают его более читабельным и помогают масштабировать проект в любое время с минимальным количеством ошибок.
❤3
Android
Рамках последних утечек вот интересная статья, в которой рассказывается о том, как защитить локальную базу данных Room в Android при помощи библиотеки SQLCipher. Автор подробно объясняет, что Room по умолчанию не поддерживает шифрование, но благодаря SQLCipher можно реализовать прозрачную и сильную защиту пользовательских данных. Главная идея — генерировать случайный 256-битный ключ при первом запуске приложения, хранить его в зашифрованном виде через Android Keystore и применять для полного шифрования всей базы данных. Особое внимание уделено безопасности хранения ключа: главным антипаттерном выступает статичное хранение пароля в коде или в SharedPreferences. Вместо этого используется связка Keystore и механизм шифрования, чтобы нельзя было легко извлечь ключ при реверс-инжиниринге APK. Большой плюс решения — автоматическая очистка секретных данных из памяти после использования и интеграция со стандартной инициализацией Room через кастомную OpenHelperFactory. Такой подход считается production-ready, так как использует лучшие криптографические практики и минимизирует риск компрометации пользовательских данных.
• 10 лучших шаблонов Jetpack Compose, которые должен знать каждый Android-разработчик
• TimelineView — прокручиваемая временная шкала на Jetpack Compose для Android
• Navigation 3 для Compose: что нового и зачем это нужно?
• Работа с телевизионными каналами на Android TV: учимся использовать TIF в 2025. Стартовый гайд для разработчиков
• How to Encrypt Your Room Database in Android Using SQLCipher
• StyledString: A Better Pattern for Rich Text in Jetpack Compose
• Dotify | Rendering Retro Style Text in Compose with Bitmaps
• Smooth Animated Bottom Sheet Header with Jetpack Compose
• Understanding SideEffects in Jetpack Compose : Logging and Beyond in Compose
• Mastering Kotlin’s lateinit Keyword: A Complete Guide for Android Developers
Рамках последних утечек вот интересная статья, в которой рассказывается о том, как защитить локальную базу данных Room в Android при помощи библиотеки SQLCipher. Автор подробно объясняет, что Room по умолчанию не поддерживает шифрование, но благодаря SQLCipher можно реализовать прозрачную и сильную защиту пользовательских данных. Главная идея — генерировать случайный 256-битный ключ при первом запуске приложения, хранить его в зашифрованном виде через Android Keystore и применять для полного шифрования всей базы данных. Особое внимание уделено безопасности хранения ключа: главным антипаттерном выступает статичное хранение пароля в коде или в SharedPreferences. Вместо этого используется связка Keystore и механизм шифрования, чтобы нельзя было легко извлечь ключ при реверс-инжиниринге APK. Большой плюс решения — автоматическая очистка секретных данных из памяти после использования и интеграция со стандартной инициализацией Room через кастомную OpenHelperFactory. Такой подход считается production-ready, так как использует лучшие криптографические практики и минимизирует риск компрометации пользовательских данных.
• 10 лучших шаблонов Jetpack Compose, которые должен знать каждый Android-разработчик
• TimelineView — прокручиваемая временная шкала на Jetpack Compose для Android
• Navigation 3 для Compose: что нового и зачем это нужно?
• Работа с телевизионными каналами на Android TV: учимся использовать TIF в 2025. Стартовый гайд для разработчиков
• How to Encrypt Your Room Database in Android Using SQLCipher
• StyledString: A Better Pattern for Rich Text in Jetpack Compose
• Dotify | Rendering Retro Style Text in Compose with Bitmaps
• Smooth Animated Bottom Sheet Header with Jetpack Compose
• Understanding SideEffects in Jetpack Compose : Logging and Beyond in Compose
• Mastering Kotlin’s lateinit Keyword: A Complete Guide for Android Developers
Medium
How to Encrypt Your Room Database in Android Using SQLCipher 🔐
How to Encrypt Your Room Database in Android Using SQLCipher 🔐 When building Android apps, we often use Room to store data locally. But have you ever thought about how easy it might be for someone …
👍5
BiteSight — приложение для доставки еды, которое позволяет пользователям смотреть видеоролики с едой перед заказом. Оно также позволяет клиентам видеть, что заказали их друзья, и добавлять места в закладки, чтобы попробовать. Приложение основано на том, как молодёжь взаимодействует с контентом — через короткие видеоролики и рекомендации друзей. Его маркетинг тоже основан на коротких роликах - сначала основатель рассказал в TikTok о своем приложении (после выхода видео BiteSight ненадолго занял второе место в США в категории «Еда и напитки» в App Store, обойдя Uber Eats, Starbucks и даже McDonald’s), а потом там же делился тем, как оно падает от наплыва посетителей. «Мы стремимся стать приложением, которое всегда на связи для поколения, которое узнаёт всё через социальные рекомендации и короткие видеоролики».
Разработка
• «Ради любви к коду» — летний хакатон GitHub
• Как жить с легаси?
• IT в космосе — Почему космосу не нужны обычные программисты
• Stop Coding Like You Work at Google
• Making Postgres 42,000x slower because I am unemployed
Маркетинг
• Заработок на Habit Tracker. iOS. Подписки. Разбор ниши
• Как приложение по доставке еды BiteSight использовало TikTok для роста
Кроссплатформа
• The Untold Revolution Beneath iOS 26. WebGPU Is Coming Everywhere — And It Changes Everything
• State, Speed, Performance: Flutter Keys as Your Optimization Tool
Разработка
• «Ради любви к коду» — летний хакатон GitHub
• Как жить с легаси?
• IT в космосе — Почему космосу не нужны обычные программисты
• Stop Coding Like You Work at Google
• Making Postgres 42,000x slower because I am unemployed
Маркетинг
• Заработок на Habit Tracker. iOS. Подписки. Разбор ниши
• Как приложение по доставке еды BiteSight использовало TikTok для роста
Кроссплатформа
• The Untold Revolution Beneath iOS 26. WebGPU Is Coming Everywhere — And It Changes Everything
• State, Speed, Performance: Flutter Keys as Your Optimization Tool
AppTractor
Как приложение по доставке еды BiteSight использовало TikTok для роста
Приложение основано на том, как молодёжь взаимодействует с контентом — через короткие видеоролики и рекомендации друзей.
❤6👍1
iOS
Отладка — это навык, которому разработчики часто уделяют мало внимания. Он полезен не только для исправления ошибок, но и для лучшего понимания кодовой базы и языка, на котором вы пишете программное обеспечение. Особенно сейчас, когда мы вступаем в эпоху отладки с помощью искусственного интеллекта, когда чаще всего нам приходится разбираться в коде, который нам выдал LLM, или, что ещё хуже, в ошибках, которые он внёс. Знание того, как отлаживать приложение, и знание или хотя бы знакомство с имеющимися в вашем распоряжении инструментами — это навык, который сэкономит вам много времени и позволит быстрее перейти к следующей задаче. В этой статье - несколько примеров реальных ошибок, которые автор недавно исправил в своих приложениях, и он покажет вам весь процесс отладки в каждом случае.
• Взгляд на мой процесс отладки (с реальными примерами)
• Position — легковесное геопозиционирование для Swift 6
• SwiftUI @Environment Complete Guide: System Values, Custom Keys & Best Practices
• 17 Xcode Hacks Every iOS Developer Should Know in 2025
• Combine and Swift Concurrency: A threading risk
• Logging Privacy Shenanigans
Отладка — это навык, которому разработчики часто уделяют мало внимания. Он полезен не только для исправления ошибок, но и для лучшего понимания кодовой базы и языка, на котором вы пишете программное обеспечение. Особенно сейчас, когда мы вступаем в эпоху отладки с помощью искусственного интеллекта, когда чаще всего нам приходится разбираться в коде, который нам выдал LLM, или, что ещё хуже, в ошибках, которые он внёс. Знание того, как отлаживать приложение, и знание или хотя бы знакомство с имеющимися в вашем распоряжении инструментами — это навык, который сэкономит вам много времени и позволит быстрее перейти к следующей задаче. В этой статье - несколько примеров реальных ошибок, которые автор недавно исправил в своих приложениях, и он покажет вам весь процесс отладки в каждом случае.
• Взгляд на мой процесс отладки (с реальными примерами)
• Position — легковесное геопозиционирование для Swift 6
• SwiftUI @Environment Complete Guide: System Values, Custom Keys & Best Practices
• 17 Xcode Hacks Every iOS Developer Should Know in 2025
• Combine and Swift Concurrency: A threading risk
• Logging Privacy Shenanigans
AppTractor
Взгляд на мой процесс отладки (с реальными примерами)
Главный вывод заключается в том, что знание инструментов и системный подход к отладке сэкономят вам бесчисленное количество часов. Будь то логи сбоев, инструменты профилирования или старое доброе комментирование кода, правильный инструмент для каждой задачи…
👍3❤2
Android
Понимание работы Zygote, SystemServer, AMS и Binder IPC — ключ к глубокому владению платформой Android. Механизм сохранения состояния через Bundle, координируемый AMS и реализуемый через Binder и Parcel, является фундаментальным для обеспечения устойчивости приложений к пересозданию процессов. Используйте ViewModel с SavedStateHandle для простых UI‑данных, Parcelable для эффективной сериализации и постоянные хранилища для критически важной информации, соблюдая ограничения Bundle. Это гарантирует плавную работу приложения в любых условиях.
• Шифруем базу данных Room в Android с помощью SQLCipher
• Под капотом Android: как создаются, управляются и восстанавливаются процессы приложений в системе
• From Fastlane to Jules: Modern CI/CD for Android That Doesn’t Feel Like a DevOps Degree
• One Repo to Rule Them All: Android Modules with Git Submodules
• Top 10 Compose Mistakes in Large-Scale Apps
Понимание работы Zygote, SystemServer, AMS и Binder IPC — ключ к глубокому владению платформой Android. Механизм сохранения состояния через Bundle, координируемый AMS и реализуемый через Binder и Parcel, является фундаментальным для обеспечения устойчивости приложений к пересозданию процессов. Используйте ViewModel с SavedStateHandle для простых UI‑данных, Parcelable для эффективной сериализации и постоянные хранилища для критически важной информации, соблюдая ограничения Bundle. Это гарантирует плавную работу приложения в любых условиях.
• Шифруем базу данных Room в Android с помощью SQLCipher
• Под капотом Android: как создаются, управляются и восстанавливаются процессы приложений в системе
• From Fastlane to Jules: Modern CI/CD for Android That Doesn’t Feel Like a DevOps Degree
• One Repo to Rule Them All: Android Modules with Git Submodules
• Top 10 Compose Mistakes in Large-Scale Apps
Хабр
Под капотом Android: как создаются, управляются и восстанавливаются процессы приложений в системе
Эта статья родилась из практической задачи — понять, как устроен Android в общем и целом, как он сохраняет и восстанавливает состояния приложения (помимо БД и файлов)...
👍2❤1
Figma Make, prompt-to-app инструмент для создания приложений, представленный Figma ранее в этом году, теперь доступен всем пользователям. Подобно инструментам ИИ, таким как Gemini Code Assist от Google и GitHub Copilot от Microsoft, Figma Make позволяет пользователям создавать рабочие прототипы и приложения, используя описания на естественном языке, без необходимости обладать навыками программирования. Пользователи тарифных планов View, Collab, Dev и Starter Seat смогут экспериментировать с Figma Make в своих личных черновиках. Это означает, что все пользователи могут как минимум попробовать демоверсию Figma Make, но для того, чтобы что-то сделать с этими творениями, потребуется подписка с полным доступом.
Разработка
• ИИ-инструмент для создания приложений Figma Make теперь доступен всем
• Бизнес требует стабильной работы мобильного приложения у всех пользователей. Что делать?
• Learning Basic Electronics By Building FireFlies
Маркетинг
• Роль онбординга: как построить первые шаги пользователя так, чтобы инсайт случился мгновенно
• What marketing channels actually work for your apps?
Кроссплатформа
• Building a Cross-Platform Mobile Rendering Engine with KMM
• Supercharge Your Dart & Flutter Development Experience with the Dart MCP Server
Разработка
• ИИ-инструмент для создания приложений Figma Make теперь доступен всем
• Бизнес требует стабильной работы мобильного приложения у всех пользователей. Что делать?
• Learning Basic Electronics By Building FireFlies
Маркетинг
• Роль онбординга: как построить первые шаги пользователя так, чтобы инсайт случился мгновенно
• What marketing channels actually work for your apps?
Кроссплатформа
• Building a Cross-Platform Mobile Rendering Engine with KMM
• Supercharge Your Dart & Flutter Development Experience with the Dart MCP Server
AppTractor
ИИ-инструмент для создания приложений Figma Make теперь доступен всем
Одним из важных преимуществ Figma Make перед аналогичными инструментами для разработки приложений является возможность добавлять референсы дизайна.
👍3❤2
Результаты опроса разработчиков Stack Overflow 2025
Stack Overflow опубликовал результаты опроса разработчиков 2025 года.
Вот, например, данные о средней по миру зарплате. Руководители высшего звена (139 тыс. долларов), инженерные менеджеры (130 тыс. долларов) и финансовые аналитики (104 тыс. долларов) имеют самую высокую медианную годовую зарплату в мире. Разрыв в зарплатах между США и другими странами велик для высокооплачиваемых должностей. Медианная зарплата инженерного менеджера в США составляет 200,000 долларов, в то время как в Германии — 118,000 долларов, а в Индии — всего 52,000 долларов.
Медианная зарплата мобильного разработчика в мире - $69,609. Это более чем на $15К больше, чем в опросе прошлого года.
Stack Overflow опубликовал результаты опроса разработчиков 2025 года.
Вот, например, данные о средней по миру зарплате. Руководители высшего звена (139 тыс. долларов), инженерные менеджеры (130 тыс. долларов) и финансовые аналитики (104 тыс. долларов) имеют самую высокую медианную годовую зарплату в мире. Разрыв в зарплатах между США и другими странами велик для высокооплачиваемых должностей. Медианная зарплата инженерного менеджера в США составляет 200,000 долларов, в то время как в Германии — 118,000 долларов, а в Индии — всего 52,000 долларов.
Медианная зарплата мобильного разработчика в мире - $69,609. Это более чем на $15К больше, чем в опросе прошлого года.
👍6
iOS
SwiftUI значительно усовершенствовал навигацию во фреймворке с появлением NavigationStack и переходом от привычного NavigationView. Теперь управление навигацией строится не вокруг представлений (views), а вокруг значений (values). Важно понять: NavigationStack не просто переименованная версия NavigationView, а мощный инструмент для построения сложных сценариев переходов между экранами. Вместе с NavigationPath разработчик получает полный контроль над навигацией, включая программное перемещение по стеку и поддержку deep linking — обработки ссылок, ведущих пользователя сразу к нужному экрану внутри приложения. Такой подход особенно полезен для сложных приложений с множеством состояний и переходов между экранами. Помимо NavigationStack, в статье отдельное внимание уделено TabView — классическому решению для построения таб-ориентированных приложений. Современная архитектура SwiftUI позволяет объединять TabView с NavigationStack, обеспечивая сохранение навигационного состояния внутри каждой вкладки. Это упрощает реализацию профессиональных и масштабируемых интерфейсов с поддержкой глубоких переходов (deep linking) и минимизацией типичных “подводных камней” SwiftUI-навигирования. Понимание этих инструментов экономит часы на отладку и делает код более структурированным и поддерживаемым.
• SwiftUI Navigation: NavigationStack, Deep Linking, and TabView Explained
• SwiftUI: Authenticator App from Scratch + How Those Authenticator App Work Under-hood
• Default Actor Isolation: New Problems from Good Intentions
SwiftUI значительно усовершенствовал навигацию во фреймворке с появлением NavigationStack и переходом от привычного NavigationView. Теперь управление навигацией строится не вокруг представлений (views), а вокруг значений (values). Важно понять: NavigationStack не просто переименованная версия NavigationView, а мощный инструмент для построения сложных сценариев переходов между экранами. Вместе с NavigationPath разработчик получает полный контроль над навигацией, включая программное перемещение по стеку и поддержку deep linking — обработки ссылок, ведущих пользователя сразу к нужному экрану внутри приложения. Такой подход особенно полезен для сложных приложений с множеством состояний и переходов между экранами. Помимо NavigationStack, в статье отдельное внимание уделено TabView — классическому решению для построения таб-ориентированных приложений. Современная архитектура SwiftUI позволяет объединять TabView с NavigationStack, обеспечивая сохранение навигационного состояния внутри каждой вкладки. Это упрощает реализацию профессиональных и масштабируемых интерфейсов с поддержкой глубоких переходов (deep linking) и минимизацией типичных “подводных камней” SwiftUI-навигирования. Понимание этих инструментов экономит часы на отладку и делает код более структурированным и поддерживаемым.
• SwiftUI Navigation: NavigationStack, Deep Linking, and TabView Explained
• SwiftUI: Authenticator App from Scratch + How Those Authenticator App Work Under-hood
• Default Actor Isolation: New Problems from Good Intentions
Medium
SwiftUI Navigation: NavigationStack, Deep Linking, and TabView Explained
🧭 This guide demystifies SwiftUI’s navigation system — from TabView setups to deep linking and advanced NavigationPaths. No breadcrumbs…
👍4
Android
Заключительная статья цикла про функциональное программирование в Android от Додо - собираем знания, полученные в предыдущих частях цикла, и делаем скелет приложения для медитации.
• Liquid Glass — «жидкое стекло» в Compose
• Функциональное программирование в Android. Побочные эффекты и ELM-архитектура
• 5 Gradle Scripts I Use in Every Android Project!
• Edge-to-Edge Is No Longer Optional — Android 16 Migration Guide
• Building BLE Apps in Android: A Developer’s Journey
Заключительная статья цикла про функциональное программирование в Android от Додо - собираем знания, полученные в предыдущих частях цикла, и делаем скелет приложения для медитации.
• Liquid Glass — «жидкое стекло» в Compose
• Функциональное программирование в Android. Побочные эффекты и ELM-архитектура
• 5 Gradle Scripts I Use in Every Android Project!
• Edge-to-Edge Is No Longer Optional — Android 16 Migration Guide
• Building BLE Apps in Android: A Developer’s Journey
Хабр
Функциональное программирование в Android. Побочные эффекты и ELM-архитектура
О чём статья В четвёртой статье цикла про функциональное программирование в Android мы соберём знания, полученные в предыдущих частях цикла. А ещё применим их на практике — соберём скелет приложения...
👍2
В Reddit обсуждают маркетинговые каналы, которые действительно работают для приложений. Главный для большинства - TikTok, но в целом более правильный подход: "ваш лучший канал — тот, который у вас есть". А какие каналы (кроме, собственно, ASO) вы используете и какие работают наиболее эффективно?
Разработка
• Результаты опроса разработчиков Stack Overflow 2025
Маркетинг
• Какие маркетинговые каналы действительно работают для ваших приложений? — обсуждение в Reddit
• How Theo, a 2-Month-Old App, Hit $200K Monthly Revenue
Кроссплатформа
• Flutter and the Liquid Glass Dilemma: A Developer’s Perspective
• Setup IDE-like environment for Flutter in neovim (Windows included)
Разработка
• Результаты опроса разработчиков Stack Overflow 2025
Маркетинг
• Какие маркетинговые каналы действительно работают для ваших приложений? — обсуждение в Reddit
• How Theo, a 2-Month-Old App, Hit $200K Monthly Revenue
Кроссплатформа
• Flutter and the Liquid Glass Dilemma: A Developer’s Perspective
• Setup IDE-like environment for Flutter in neovim (Windows included)
AppTractor
Какие маркетинговые каналы действительно работают для ваших приложений? — обсуждение в Reddit
Интересно, что на самом деле двигает вас вперёд, не сжигая весь ваш бюджет.
👍2
$1M+ ARR → $0 за одну ночь… Как я потерял свою ИИ-платформу с 6 млн пользователей
На Reddit занятная история ИИ-платформы Moemate. Начиналось все как ИИ-компаньон для десктопов, потом превратилось в подобие Character.AI с (судя по всему) изрядной долей NSFW, ну а затем Google продал свой доменный бизнес компании Squarespac и
К моменту, когда все прояснилось, всё уже было кончено. 6 миллионов пользователей, более миллиона MAU, $1 млн ARR — всё исчезло.
Глубинные проблемы, о которых говорит автор:
1. Бесконечное добавление новых функций вместо концентрации: всё время добавляли новые фичи (память, больше моделей, навыки, AR/VR), вместо того чтобы улучшать ключевые вещи — скорость работы и глубину взаимодействия.
2. Кризис идентичности: застряли между тремя группами:
• NSFW-пользователи (мы этого не хотели, но не могли от этого уйти)
• Любители фентези/ролевых игр (наша целевая аудитория)
• Те, кто искал полезность/продуктивность (их привлекали технические возможности)
3. Проблемы с приложениями: просто адаптировали веб-приложение под мобильные устройства, вместо создания нативного решения. Не было нормального сценария конверсии пользователей, перегруженный интерфейс, плохой UX.
4. Разрыв между ростом и продуктом: мы развивали рост отдельно от работы над продуктом, а не интегрировали их друг в друга.
Ну а выводы - в статье.
На Reddit занятная история ИИ-платформы Moemate. Начиналось все как ИИ-компаньон для десктопов, потом превратилось в подобие Character.AI с (судя по всему) изрядной долей NSFW, ну а затем Google продал свой доменный бизнес компании Squarespac и
moemate.io заблокировали. После 3 недель бюрократического ада выяснилось, что настоящая причина блокировки — как раз «неприемлемый пользовательский контент».К моменту, когда все прояснилось, всё уже было кончено. 6 миллионов пользователей, более миллиона MAU, $1 млн ARR — всё исчезло.
Глубинные проблемы, о которых говорит автор:
1. Бесконечное добавление новых функций вместо концентрации: всё время добавляли новые фичи (память, больше моделей, навыки, AR/VR), вместо того чтобы улучшать ключевые вещи — скорость работы и глубину взаимодействия.
2. Кризис идентичности: застряли между тремя группами:
• NSFW-пользователи (мы этого не хотели, но не могли от этого уйти)
• Любители фентези/ролевых игр (наша целевая аудитория)
• Те, кто искал полезность/продуктивность (их привлекали технические возможности)
3. Проблемы с приложениями: просто адаптировали веб-приложение под мобильные устройства, вместо создания нативного решения. Не было нормального сценария конверсии пользователей, перегруженный интерфейс, плохой UX.
4. Разрыв между ростом и продуктом: мы развивали рост отдельно от работы над продуктом, а не интегрировали их друг в друга.
Ну а выводы - в статье.
👍6🌚2
iOS
Обертка
• PokedexUI — современные покемоны на SwiftUI
• Покажу вам фокус: настраиваем property wrapper @FocusState — короткая инструкция
• What’s New in Swift Package Manager (SPM) for 2025
• Stack vs Heap in Swift: What Every iOS Developer Should Actually Know
• Streaming changes with Observations
Обертка
@FocusState появилась в SwiftUI начиная с iOS 15. Она сильно упростила управление фокусом для view и улучшил взаимодействие пользователя с приложением. В статье автор рассказывает, как создать UI-элемент, который включает в себя @FocusState и модификатор .toolbar для переключения фокуса между полями ввода.• PokedexUI — современные покемоны на SwiftUI
• Покажу вам фокус: настраиваем property wrapper @FocusState — короткая инструкция
• What’s New in Swift Package Manager (SPM) for 2025
• Stack vs Heap in Swift: What Every iOS Developer Should Actually Know
• Streaming changes with Observations
Хабр
Покажу вам фокус: настраиваем property wrapper @FocusState — короткая инструкция
Всем привет! Меня зовут Дмитрий Демми, компания AGIMA . Мы часто разрабатываем приложения для банков или еком-продуктов. И в большинстве из них нужно заполнять поля: вписывать имя, контакты, адрес,...
👍1
Android
Многие разработчики в Jetpack Compose сталкиваются с тем, что
• 7 Software Engineering Principles I Never Skip in Android Projects
• Coroutines Vs Threads: An Interview-Ready Guide
• Why Modifier.scrollable() Doesn't Scroll in Jetpack Compose — And What To Use Instead
Многие разработчики в Jetpack Compose сталкиваются с тем, что
Modifier.scrollable не заставляет контент прокручиваться. Причина в том, что этот модификатор сам по себе не изменяет смещение элементов на экране. Его основная задача — отслеживать жесты прокрутки и сообщать о дельтах смещения, но он не применяет это смещение к контенту автоматически. Это низкоуровневый инструмент, который дает вам контроль над событиями скролла, но требует ручного управления состоянием для фактической прокрутки содержимого. Для реализации стандартной прокрутки следует использовать более высокоуровневые модификаторы, такие как Modifier.verticalScroll и Modifier.horizontalScroll, в сочетании с rememberScrollState(). Эти модификаторы уже содержат всю необходимую логику для управления состоянием и автоматического смещения контента, обеспечивая ожидаемое поведение «из коробки» для таких контейнеров, как Column или Row. Таким образом, Modifier.scrollable предназначен для создания кастомных взаимодействий с прокруткой, в то время как для большинства стандартных задач достаточно использовать verticalScroll или horizontalScroll.• 7 Software Engineering Principles I Never Skip in Android Projects
• Coroutines Vs Threads: An Interview-Ready Guide
• Why Modifier.scrollable() Doesn't Scroll in Jetpack Compose — And What To Use Instead
Medium
Why Modifier.scrollable() Doesn't Scroll in Jetpack Compose — And What To Use Instead
A beginner-friendly guide to understanding the difference between scrollable() and verticalScroll() in Jetpack Compose.
👍3
В США Google начинает использовать модель оценки возраста для определения возраста пользователя аккаунта (меньше ему или больше 18 лет). Google анализирует «различные сигналы, уже связанные с аккаунтом пользователя», чтобы определить его возраст, независимо от указанной пользователем даты рождения. Сюда входят «типы информации, которую пользователь искал, или категории видео, которые он смотрел на YouTube». Ещё одним сигналом является длительность существования аккаунта. Если модель допустила ошибку, у взрослых есть несколько вариантов подтверждения возраста. Например, с помощью удостоверения личности государственного образца, цифрового удостоверения личности, поиска по номеру телефона, кредитной карты или селфи (обработка производится на устройстве). Можно предположить, что работать это будет так же криво, как все у Гугла - наверное, стоит заранее прекратить смотреть все детские видео 📺
Разработка
• $1M+ ARR → $0 за одну ночь… Как я потерял свою ИИ-платформу с 6 млн пользователей
• Разбираемся, когда приложению нужен редизайн и какие исследования провести, чтобы не слить бюджет
• What is a Mobile Platform Engineer?
• Vibe code is legacy code
Маркетинг
• Google начал внедрение ML-модели определения возраста
• Footnotes — краудсорсинговая система проверки фактов TikTok — запускается в США
• Лучшие приёмы подталкивания пользователя к AHA-моменту: уведомления, подсказки и «микро-успехи»
• Casual LiveOps Report H1 2025
Кроссплатформа
• Flutter Web: The good, the bad and the ugly
• KMP Gradle Convention: What It Is, How It Works, and Why It Matters
Разработка
• $1M+ ARR → $0 за одну ночь… Как я потерял свою ИИ-платформу с 6 млн пользователей
• Разбираемся, когда приложению нужен редизайн и какие исследования провести, чтобы не слить бюджет
• What is a Mobile Platform Engineer?
• Vibe code is legacy code
Маркетинг
• Google начал внедрение ML-модели определения возраста
• Footnotes — краудсорсинговая система проверки фактов TikTok — запускается в США
• Лучшие приёмы подталкивания пользователя к AHA-моменту: уведомления, подсказки и «микро-успехи»
• Casual LiveOps Report H1 2025
Кроссплатформа
• Flutter Web: The good, the bad and the ugly
• KMP Gradle Convention: What It Is, How It Works, and Why It Matters
Please open Telegram to view this post
VIEW IN TELEGRAM
AppTractor
Google начал внедрение ML-модели определения возраста
В США Google начинает использовать модель оценки возраста для определения возраста пользователя аккаунта (меньше ему или больше 18 лет).
❤2👍2💯1
Epic выиграла апелляцию у Google [и Android, возможно, уже никогда не будет прежним]
Epic снова победила. Апелляционный суд подтвердил вердикт присяжных от 2023 года о том, что магазин приложений и платёжная система Google стали незаконными монополиями.
Последствия судебного решения выйдут далеко за рамки магазина Epic и игры Fortnite. Суд фактически вынудил Google открыть свой магазин приложений для конкурентов на целых три года. Google будет обязан распространять приложения других конкурирующих магазинов в Google Play, предоставлять конкурентам доступ ко всему каталогу приложений Google Play, а также запрещена реализация ряда антиконкурентных практик, включая требование об использовании Google Play Billing для приложений.
Epic первоначально подала в суд на Google и Apple в 2020 году из-за удаления Fortnite из обоих магазинов, хотя дело было намного сложнее. Epic намеренно использовала Fortnite в качестве тарана, чтобы бросить вызов монополии магазинов приложений, и в случае с Apple она в основном проиграла. Но дело Epic против Google оказалось совсем другим. Присяжные увидели секретные соглашения о разделе доходов между Google, производителями смартфонов и разработчиками игр. Присяжные увидели внутреннюю переписку руководителей Google, из которой следовало, что Google опасается, что Epic может убедить своих коллег-разработчиков игр присоединиться к ним или создать конкурирующие магазины приложений, создав нежелательную конкуренцию для Google.
В декабре 2023 года жюри присяжных в Сан-Франциско пришло к выводу, что Google нарушил антимонопольное законодательство. Но потом, перед апелляцией, судья приостановил действие решения. Теперь ему дан зеленый свет.
«Полная победа в апелляции по делу Epic против Google!» — написал в Твиттере генеральный директор Epic Тим Суини.
Компания Epic уже объявила, что разместит свой магазин приложений в Google Play.
«Это решение существенно навредит безопасности пользователей, ограничит выбор и подорвет инновации, которые всегда были основой экосистемы Android. Нашим главным приоритетом в ходе апелляции остается защита наших пользователей, разработчиков и партнеров, а также поддержание безопасности платформы», — пишет представитель Google.
Google снова подает апелляцию, скорее всего, в Верховный суд.
Epic снова победила. Апелляционный суд подтвердил вердикт присяжных от 2023 года о том, что магазин приложений и платёжная система Google стали незаконными монополиями.
Последствия судебного решения выйдут далеко за рамки магазина Epic и игры Fortnite. Суд фактически вынудил Google открыть свой магазин приложений для конкурентов на целых три года. Google будет обязан распространять приложения других конкурирующих магазинов в Google Play, предоставлять конкурентам доступ ко всему каталогу приложений Google Play, а также запрещена реализация ряда антиконкурентных практик, включая требование об использовании Google Play Billing для приложений.
Epic первоначально подала в суд на Google и Apple в 2020 году из-за удаления Fortnite из обоих магазинов, хотя дело было намного сложнее. Epic намеренно использовала Fortnite в качестве тарана, чтобы бросить вызов монополии магазинов приложений, и в случае с Apple она в основном проиграла. Но дело Epic против Google оказалось совсем другим. Присяжные увидели секретные соглашения о разделе доходов между Google, производителями смартфонов и разработчиками игр. Присяжные увидели внутреннюю переписку руководителей Google, из которой следовало, что Google опасается, что Epic может убедить своих коллег-разработчиков игр присоединиться к ним или создать конкурирующие магазины приложений, создав нежелательную конкуренцию для Google.
В декабре 2023 года жюри присяжных в Сан-Франциско пришло к выводу, что Google нарушил антимонопольное законодательство. Но потом, перед апелляцией, судья приостановил действие решения. Теперь ему дан зеленый свет.
«Полная победа в апелляции по делу Epic против Google!» — написал в Твиттере генеральный директор Epic Тим Суини.
Компания Epic уже объявила, что разместит свой магазин приложений в Google Play.
«Это решение существенно навредит безопасности пользователей, ограничит выбор и подорвет инновации, которые всегда были основой экосистемы Android. Нашим главным приоритетом в ходе апелляции остается защита наших пользователей, разработчиков и партнеров, а также поддержание безопасности платформы», — пишет представитель Google.
Google снова подает апелляцию, скорее всего, в Верховный суд.
👍5😢2
Forwarded from AppFiles - Mobile Development
•
(iOS En) Custom Liquid Morphing Menu Effect•
(iOS En) Create Beautiful Liquid Glass: iOS 26 & SwiftUI in Figma & Xcode 26•
(iOS En) Supercharge Your SwiftUI App with SF Symbols & Emoji Pickers•
(iOS En) Liquid Glass Morphing Effects Using SwiftUI•
(And Ru) Нюансы работы Android Runtime в сравнении с HotSpot VM•
(And Ru) Как Google тайно изменил Android на глазах у всех: Project Mainline•
(And En) WearOS Material 3 shape morphing•
(And En) Compose Prototyping in Kotlin Notebooks•
(And En) Writing Your Third Kotlin Compiler Plugin•
(And En) Kotlin compatibility crash course•
(And En) Compose draw speedrun - reloaded•
(And En) Gradle 9.0.0 is Live - What's new? Configuration Cache, Java 17, Kotlin 2, and more•
(And En) Gradle Build Cache - Deliver faster by doing less•
(Crs En) The Easing Symphony: AnimationSpec in detail•
(Crs En) Using Previews with Compose Multiplatform•
(Dev Ru) Запись Avito Mobile Meetup•
(Dev Ru) Как работает синтез речи: от робота до живого голоса — синтез речи, TTS•
(Dev En) What is a Mobile Platform Engineer? 4 Years of Real Experience•
(Mrk Ru) Заработок на AI-фоторедакторах и аватарах. iOS. Подписки. Разбор нишиПрошлогодние видео:
•
(iOS Ru) Почему Metal перестал быть страшным•
(iOS Ru) Локализация iOS-приложения за 1$ в 2024 году•
(And Ru) Нужно ли учить Java для Android-разработки в 2024•
(Vrs Ru) KMP на ОС Аврора: проблемы и пути их решения•
(Dev Ru) Алгоритмическая сессия на собеседовании (все собеседования)•
(Dev Ru) Автоматическая генерация верстки под Server-driven UI из макетов Figma•
(Dev Ru) Учимся договариваться о деньгах — Офферы, Зарплаты, ПовышениеPlease open Telegram to view this post
VIEW IN TELEGRAM
❤2👍1
Взгляд на чайник
Все материалы за прошлую неделю - чайник в Metal и работа с телевизионными каналами на Android, результаты опроса разработчиков Stack Overflow 2025 и какие маркетинговые каналы действительно работают, под капотом Android, процессы отладки, нейросеть у себя на компьютере и многое другое. Заходите!
Все материалы за прошлую неделю - чайник в Metal и работа с телевизионными каналами на Android, результаты опроса разработчиков Stack Overflow 2025 и какие маркетинговые каналы действительно работают, под капотом Android, процессы отладки, нейросеть у себя на компьютере и многое другое. Заходите!
👍1
iOS
Появление типа
• Стриминг изменений с помощью Observations
• AsyncGraphics — редактирование изображений и видео с Swift Concurrency и Metal
• High Performance SwiftData Apps
• SwiftUI for Mac 2025
• Ways SwiftData’s ModelContainer Can Error on Creation
• How to use the @available attribute in Swift
• Using the FoundationModels Framework for Streaming from external LLM providers
Появление типа
Observations знаменует собой значительное улучшение возможностей Swift по наблюдению за данными, особенно для разработчиков, использующих Swift Concurrency. Он стирает разрыв между реактивными обновлениями и современными асинхронными шаблонами, упрощая создание понятных, эффективных и отзывчивых пользовательских интерфейсов.• Стриминг изменений с помощью Observations
• AsyncGraphics — редактирование изображений и видео с Swift Concurrency и Metal
• High Performance SwiftData Apps
• SwiftUI for Mac 2025
• Ways SwiftData’s ModelContainer Can Error on Creation
• How to use the @available attribute in Swift
• Using the FoundationModels Framework for Streaming from external LLM providers
👍2
Android
Опубликованы все видео конференции droidcon NYC 2025. Всего 61 видео. Все доступны на сайте DroidCon.
• Все видео droidcon NYC 2025
• Нюансы работы Android Runtime в сравнении с HotSpot VM
• Как Google тайно изменил Android на глазах у всех: Project Mainline
• YA Habit Tracker — современный трекер привычек для Android
• Deform the canvas
• Auto-sizing Text in Jetpack Compose with BasicText
• Exploring the Android Google Home APIs SDK
• Previewing retain{} API: A New Way to Persist State in Jetpack Compose
• Enhancing User Interaction with Haptic Feedback in Jetpack Compose
Опубликованы все видео конференции droidcon NYC 2025. Всего 61 видео. Все доступны на сайте DroidCon.
• Все видео droidcon NYC 2025
• Нюансы работы Android Runtime в сравнении с HotSpot VM
• Как Google тайно изменил Android на глазах у всех: Project Mainline
• YA Habit Tracker — современный трекер привычек для Android
• Deform the canvas
• Auto-sizing Text in Jetpack Compose with BasicText
• Exploring the Android Google Home APIs SDK
• Previewing retain{} API: A New Way to Persist State in Jetpack Compose
• Enhancing User Interaction with Haptic Feedback in Jetpack Compose
AppTractor
Все видео droidcon NYC 2025
Всего 61 видео.
👍1
Разработка
• Запись Avito Mobile Meetup
• Как работает синтез речи: от робота до живого голоса — синтез речи, TTS
• I Stopped Writing UI Code. Now I Let MCP Servers Build My Interfaces with ShadCN
Маркетинг
• Заработок на AI-фоторедакторах и аватарах. iOS. Подписки. Разбор ниши
• Epic выиграла апелляцию у Google, и Android, возможно, уже никогда не будет прежним
Кроссплатформа
• Setting up Compose Multiplatform previews
• KMP x Swift: How to Use Swift Libraries in Kotlin Multiplatform (with Google Sign-In as Example)
• One-Line Flutter Hacks That Instantly Improve Your UI
• Запись Avito Mobile Meetup
• Как работает синтез речи: от робота до живого голоса — синтез речи, TTS
• I Stopped Writing UI Code. Now I Let MCP Servers Build My Interfaces with ShadCN
Маркетинг
• Заработок на AI-фоторедакторах и аватарах. iOS. Подписки. Разбор ниши
• Epic выиграла апелляцию у Google, и Android, возможно, уже никогда не будет прежним
Кроссплатформа
• Setting up Compose Multiplatform previews
• KMP x Swift: How to Use Swift Libraries in Kotlin Multiplatform (with Google Sign-In as Example)
• One-Line Flutter Hacks That Instantly Improve Your UI
AppTractor
Запись Avito Mobile Meetup
На митапе эксперты Авито расскажут о кэшировании мобильных приложений и разработке на BDUI, как на полноценном языке программирования.
👍2