Новое обсуждение на Reddit: Мобильные приложения — это дропшиппинг 2025 года (Дропшиппинг — это модель, при которой продавец не хранит товары на складе, а передаёт заказы и данные о покупателях поставщику, который напрямую отправляет товар покупателю. Не очень понял при чем тут это, но коннотации явно негативные ☺️). Автор пишет, что развелось всяких вабй-кодеров и нормальному разработчику сложно выделиться. Самый смешной ответ: Мобильные приложения стали дропшиппингом еще в 2012 году. Вы опоздали на 13 лет. Самый правильный, пожалуй: Если спросить успешного разработчика, что обеспечивает успех его бизнеса, то он, по большей части, не будет говорить о создании приложения. Будет говорить о привлечении и удержании пользователей, мотивации к подпискам и покупкам и т.п. Большинство этих вещей взаимосвязаны: чем больше у вас доход с пользователя, тем больше вы можете потратить на маркетинг; чем больше вы тратите на маркетинг, тем больше новых пользователей вы приобретаете. И лишь немногие из этих задач можно закодировать с помощью ИИ, хотя, очевидно, вы можете использовать ИИ-инструменты для программирования, чтобы реализовать многие из этих задач, если знаете, что пытаетесь сделать.
Разработка
• Мобильные приложения — это дропшиппинг 2025 года
• Asynchrony is not Concurrency
• I Built the Same Backend in Rust, Go, Zig, and Kotlin. The Results Were Humiliating
• $0 to $200/month in 7 days using Claude Code (I was completely wrong about this tool)
Кроссплатформа
• Flutter, Flame и RPG. Лучшие практики после двух с половиной лет gamedev'а
• Why Instagram* Switched to React Native (Again) — And How It Finally Worked This Time
• Level Up Your Flutter Code with Flutter Lints: Cleaner, Safer, Faster Apps
Разработка
• Мобильные приложения — это дропшиппинг 2025 года
• Asynchrony is not Concurrency
• I Built the Same Backend in Rust, Go, Zig, and Kotlin. The Results Were Humiliating
• $0 to $200/month in 7 days using Claude Code (I was completely wrong about this tool)
Кроссплатформа
• Flutter, Flame и RPG. Лучшие практики после двух с половиной лет gamedev'а
• Why Instagram* Switched to React Native (Again) — And How It Finally Worked This Time
• Level Up Your Flutter Code with Flutter Lints: Cleaner, Safer, Faster Apps
AppTractor
Мобильные приложения — это дропшиппинг 2025 года
Мобильные приложения стали дропшиппингом еще в 2012 году. Вы опоздали на 13 лет.
👍8
iOS
Нашел прикольную библиотеку, которая реализует график сна как в фирменном приложении Apple. Зачем такое надо пока не знаю, но очень красиво :)
• SleepChartKit — график сна на SwiftUI
• Вышла iOS 26 beta 4 для разработчиков
• Распознаем текст на изображении с помощью фреймворка Vision
• SwiftUI: Rich Links Two Ways
• Glassifying custom SwiftUI views. Groups
• Core Data Migration Incident Analysis: The Hidden Traps We Overlooked
• Transform Your iOS Code with SOLID Principles: A Practical Guide
Нашел прикольную библиотеку, которая реализует график сна как в фирменном приложении Apple. Зачем такое надо пока не знаю, но очень красиво :)
• SleepChartKit — график сна на SwiftUI
• Вышла iOS 26 beta 4 для разработчиков
• Распознаем текст на изображении с помощью фреймворка Vision
• SwiftUI: Rich Links Two Ways
• Glassifying custom SwiftUI views. Groups
• Core Data Migration Incident Analysis: The Hidden Traps We Overlooked
• Transform Your iOS Code with SOLID Principles: A Practical Guide
AppTractor
SleepChartKit — график сна на SwiftUI
SleepChartKit — чистый и легкий пакет SwiftUI для отображения красивых визуализаций стадий сна с комплексной интеграцией HealthKit. Фичи: Визуализация временной шкалы — интерактивная временная шкала стадий сна с плавными переходами Настраиваемые цвета — создайте…
👍4❤2🔥1
Android
Google запустил глобальную систему раннего оповещения о землетрясениях на базе Android — теперь миллионы смартфонов по всему миру работают как мини-сейсмометры. Устройства улавливают начальные подземные толчки (P-волны) и мгновенно передают данные на серверы, где алгоритмы подтверждают землетрясение и рассылают предупреждения до того, как начнутся разрушительные S-волны. Пользователи получают два типа уведомлений: «Be Aware» — для слабых толчков, и «Take Action» — с громким сигналом и блокировкой экрана, чтобы успеть укрыться. Система уже внедрена в 98 странах и помогла предупредить о 2 000 землетрясений, отправив почти 800 миллионов уведомлений. Опрос показал, что 79% пользователей сочли такие предупреждения полезными, даже если сами не ощутили толчков. Android превратился в крупнейшую в мире платформу для раннего оповещения — и это пример того, как технологии (b приложения) могут реально спасать жизни.
• Начните повышать безопасность своего Android-приложения уже сегодня
• The Kotlin Coroutine Pattern That Makes Android Apps 5x More Responsive
• Avoiding common mistakes in Gradle plugin development
• This One Habit Made My Kotlin Code 3× Faster
• Android Earthquake Alerts: A global system for early warning
• Building Responsive Android Apps: A Complete Guide to Screen Size Support in Jetpack Compose
Google запустил глобальную систему раннего оповещения о землетрясениях на базе Android — теперь миллионы смартфонов по всему миру работают как мини-сейсмометры. Устройства улавливают начальные подземные толчки (P-волны) и мгновенно передают данные на серверы, где алгоритмы подтверждают землетрясение и рассылают предупреждения до того, как начнутся разрушительные S-волны. Пользователи получают два типа уведомлений: «Be Aware» — для слабых толчков, и «Take Action» — с громким сигналом и блокировкой экрана, чтобы успеть укрыться. Система уже внедрена в 98 странах и помогла предупредить о 2 000 землетрясений, отправив почти 800 миллионов уведомлений. Опрос показал, что 79% пользователей сочли такие предупреждения полезными, даже если сами не ощутили толчков. Android превратился в крупнейшую в мире платформу для раннего оповещения — и это пример того, как технологии (b приложения) могут реально спасать жизни.
• Начните повышать безопасность своего Android-приложения уже сегодня
• The Kotlin Coroutine Pattern That Makes Android Apps 5x More Responsive
• Avoiding common mistakes in Gradle plugin development
• This One Habit Made My Kotlin Code 3× Faster
• Android Earthquake Alerts: A global system for early warning
• Building Responsive Android Apps: A Complete Guide to Screen Size Support in Jetpack Compose
research.google
Android Earthquake Alerts: A global system for early warning
👍7🔥4
Приложение для редактирования и обмена фотографиями VSCO делает своё приложение для камеры Capture для iOS доступным по всему миру после ограниченного запуска в июне, когда приложение можно было скачать только в Ирландии, Австралии и Новой Зеландии. VSCO также сообщила о приобретении The Freelance Photographer, предлагающего сочетание онлайн- и офлайн-семинаров по изучению фотографии и видеосъемки. The Freelance Photographer предлагает различные курсы, начиная с базового плана обучения за 208 долларов в месяц и заканчивая планом за 625 долларов в месяц, который предоставляет подписчикам доступ к более чем 50 инструментам, нескольким курсам и личному наставничеству от основателя компании Пола Уивера. Это приобретение идеально вписывается в цель VSCO — больше ориентироваться на профессиональных фотографов. В прошлом году компания запустила VSCO Hub, чтобы бренды могли находить фотографов для различных проектов, и VSCO Sites, позволяющий фотографам создавать веб-страницы для демонстрации своих работ. В мае компания запустила VSCO Canvas — инструмент для совместной работы с доской, позволяющий пользователям создавать мудборды для различных проектов. А вы бы какие курсы могли/хотели подключить к своему проекту?
Разработка
• Разбор задачи из реального собеседования по мобильной разработке. Исправляем Race Condition
• How I Took Over a Failing Team of Developers and Made It Great
Маркетинг
• Приложение Capture от VSCO стало доступно для всех
Кроссплатформа
• Darttern Matching: When if-else Got a Glow-Up
Разработка
• Разбор задачи из реального собеседования по мобильной разработке. Исправляем Race Condition
• How I Took Over a Failing Team of Developers and Made It Great
Маркетинг
• Приложение Capture от VSCO стало доступно для всех
Кроссплатформа
• Darttern Matching: When if-else Got a Glow-Up
AppTractor
Приложение Capture от VSCO стало доступно для всех
Capture — первое новое приложение VSCO за более чем десятилетие, ориентированное на съёмку фотографий с заданной эстетикой.
👍2
iOS
Безвестный разработчик выпустил бесплатный курс «Шейдеры Metal для SwiftUI». Курс рассчитан на разработчиков без опыта в графике: объясняет с нуля, начиная с GPU‑основ и математических концепций, заканчивая готовыми эффектами. В курсе используется принцип «от простого к сложному»: сначала фундаментальные темы, затем процедурные узоры, шум, плавные переходы, текстуры, и с временными GLS‑эффектами. Особое внимание — на интеграцию шейдера в SwiftUI, реальную обратную связь и создание рабочего примера.
• Курс «Шейдеры Metal для SwiftUI»
• Анализ инцидента при миграции Core Data: скрытые ловушки, которые мы упускаем из виду
• Swift Macros in the Wild: Building Reusable SwiftUI Views with @expression
• How I Cracked the Walmart iOS Interview in 2025 as a Senior Developer
• Creating amazing loading animations with SF Symbols
• AdaptivePaddingScrollView in SwiftUI
Безвестный разработчик выпустил бесплатный курс «Шейдеры Metal для SwiftUI». Курс рассчитан на разработчиков без опыта в графике: объясняет с нуля, начиная с GPU‑основ и математических концепций, заканчивая готовыми эффектами. В курсе используется принцип «от простого к сложному»: сначала фундаментальные темы, затем процедурные узоры, шум, плавные переходы, текстуры, и с временными GLS‑эффектами. Особое внимание — на интеграцию шейдера в SwiftUI, реальную обратную связь и создание рабочего примера.
• Курс «Шейдеры Metal для SwiftUI»
• Анализ инцидента при миграции Core Data: скрытые ловушки, которые мы упускаем из виду
• Swift Macros in the Wild: Building Reusable SwiftUI Views with @expression
• How I Cracked the Walmart iOS Interview in 2025 as a Senior Developer
• Creating amazing loading animations with SF Symbols
• AdaptivePaddingScrollView in SwiftUI
AppTractor
Курс «Шейдеры Metal для SwiftUI»
Metal.Graphics предлагает структурированный и доступный курс для тех, кто хочет углубиться в GPU‑программирование на SwiftUI.
🔥3🍾3
Android
Если вы всегда хотели написать плагин для Android Studio, но боялись спросить, то вот начальная статья о том, как это можно сделать. В ней рассматриваются важные шаги подготовки, включая настройку Gradle и управление версиями, а также подключение встроенных плагинов IntelliJ Idea и добавление поддержки K2 для плагинов Kotlin. Автор демонстрирует процесс разработки на двух практических примерах: создание настраиваемого диалога для запуска UI-тестов с выбором параметров через терминал Studio и добавление возможности запуска UI-тестов прямо из Gutter редактора, что значительно упрощает рутинные задачи для разработчиков больших Android-проектов.
• FloatingTabBar — таббар на Jetpack Compose в стиле Liquid Glass
• Погружение в разработку плагинов для Android Studio
• 13 Years with Android: What I’d Do Differently If I Were Starting Today
• From Biology to Code: How Android’s Zygote Enables Fast and Efficient App Launching
• The Android Plugin I Couldn’t Live Without — So I Rebuilt It from Scratch
Если вы всегда хотели написать плагин для Android Studio, но боялись спросить, то вот начальная статья о том, как это можно сделать. В ней рассматриваются важные шаги подготовки, включая настройку Gradle и управление версиями, а также подключение встроенных плагинов IntelliJ Idea и добавление поддержки K2 для плагинов Kotlin. Автор демонстрирует процесс разработки на двух практических примерах: создание настраиваемого диалога для запуска UI-тестов с выбором параметров через терминал Studio и добавление возможности запуска UI-тестов прямо из Gutter редактора, что значительно упрощает рутинные задачи для разработчиков больших Android-проектов.
• FloatingTabBar — таббар на Jetpack Compose в стиле Liquid Glass
• Погружение в разработку плагинов для Android Studio
• 13 Years with Android: What I’d Do Differently If I Were Starting Today
• From Biology to Code: How Android’s Zygote Enables Fast and Efficient App Launching
• The Android Plugin I Couldn’t Live Without — So I Rebuilt It from Scratch
Хабр
Погружение в разработку плагинов для Android Studio (часть 1)
В одной из прошлых статей было рассказано, как начать разработку собственного плагина для Android Studio (или IntelliJ Idea). В этой статье окунёмся немного глубже и создадим более сложные и, хочется...
👍5
В разработке мобильных приложений есть много терминов, связанных с пользовательским опытом: retention, onboarding, activation, churn, и один из самых загадочных и в то же время важных — AHA-момент. Это не просто красивое словосочетание — это момент истины. Это момент внезапного озарения, когда пользователь впервые осознаёт истинную ценность продукта. Он не просто знакомится с функциями — он понимает, зачем это приложение, как оно решает его проблему или делает жизнь проще, лучше, интереснее. Например, у Spotify AHA-момент наступает, когда пользователь впервые включает персональный плейлист вроде Discover Weekly или Daily Mix и осознаёт, насколько точно система подбирает музыку. Это вызывает удивление и чувство: «Это приложение понимает меня лучше, чем я сам». Поняв, что такое AHA-момент и как с ним работать, разработчики и продакт-менеджеры могут сделать приложение, которое действительно «цепляет» пользователя и удерживает его надолго.
Если вам интересно разбираться в такого рода инди и маркетинговых штуках - поставьте 👍
Разработка
• Харды против софтов: как я попала в IT, не зная всего на свете
• Become an Engineering Leader Everyone Wants to Work With
Маркетинг
• AHA-момент в мобильных приложениях: как создать продукт, в который хочется вернуться
• Геймификация в e-commerce: как превратить игры в прибыль
Кроссплатформа
• Dart Code Habits Every Flutter Developer Should Follow
• Optimizing Performance in Flutter: Techniques for 2025
Если вам интересно разбираться в такого рода инди и маркетинговых штуках - поставьте 👍
Разработка
• Харды против софтов: как я попала в IT, не зная всего на свете
• Become an Engineering Leader Everyone Wants to Work With
Маркетинг
• AHA-момент в мобильных приложениях: как создать продукт, в который хочется вернуться
• Геймификация в e-commerce: как превратить игры в прибыль
Кроссплатформа
• Dart Code Habits Every Flutter Developer Should Follow
• Optimizing Performance in Flutter: Techniques for 2025
AppTractor
AHA-момент в мобильных приложениях: как создать продукт, в который хочется вернуться
Создание AHA-момента — это не разовая задача, а стратегическая работа. Это постоянное тестирование гипотез, изучение поведения пользователей, выстраивание логики интерфейса и эмоционального пути.
👍22❤3🔥2
Forwarded from AppFiles - Mobile Development
•
(iOS Ru) Инструменты для мониторинга производительности iOS-приложений•
(iOS En) Resizable Header Scroll View Using SwiftUI•
(iOS En) Custom Chat Bubbles with SwiftUI•
(iOS En) Foundation Models Framework PART 2 - Tool Calling•
(iOS En) Permissions OnBoarding using SwiftUI•
(iOS En) How to Obfuscate API Keys in Your Swift Apps Step by Step with ConfidentialKit•
(iOS En) Google Chrome's Pull & Swipe Gesture in SwiftUI•
(And Ru) Navigation 3 для Compose: что нового и зачем это нужно?•
(And En) Enrich your app with live updates and widgets•
(And En) Prepare your Play app for devices with 16 KB page sizes•
(And En) Google I/O Special with Mat Velloso and Logan Kilpatrick•
(And En) The wonders of smart casting•
(And En) Coroutine Debugging in IntelliJ IDEA•
(And En) Don't forget your values!•
(And En) Building Inclusive Jetpack Compose Apps: Leveraging Kotlin and the Accessibility Scanner•
(Crs En) How to Implement Pagination In Compose Multiplatform (KMP)•
(Crs En) Leveraging KMP for navigation in the McDonalds App•
(Crs En) State of Kotlin Wasm and Compose Multiplatform for Web on Modern Browsers•
(Crs En) Kobweb, Kotlin & Cross-Platform chat with David Herman•
(Dev Ru) Как жить с легаси?•
(Dev Ru) IT в космосе — Почему космосу не нужны обычные программисты•
(Dev En) Creating, building, and releasing Gemma, Google's open model family•
(Dev En) Learn TypeScript – Crash Course for Beginners•
(Dev En) Data Structure and Algorithm Patterns for LeetCode Interviews – Tutorial•
(Mrk Ru) Заработок на Habit Tracker. iOS. Подписки. Разбор нишиПрошлогодние видео:
•
(iOS Ru) Разбор SwiftUI проекта стартапа с AI на борту•
(iOS Ru) Вам не нужно хранилище в приложении•
(And Ru) Роман Елизаров про Kotlin, корутины и работу в Jetbrains•
(Crs Ru) Особенности сервиса Яндекс Про и будущее Flutter•
(Dev Ru) Личный бренд разработчикаPlease open Telegram to view this post
VIEW IN TELEGRAM
👍5❤2
Последний вайб
Все материалы за предыдущую неделю - рассказ последнего UIKit-разработчика и погружение в разработку плагинов для Android Studio, дизайн киты iOS и iPadOS 26 и зачем нужен Navigation 3, автоматизация тестирования, TikTok для роста, ИИ, который удалил производственную базу данных пользователя, и многое другое. Заходите!
Все материалы за предыдущую неделю - рассказ последнего UIKit-разработчика и погружение в разработку плагинов для Android Studio, дизайн киты iOS и iPadOS 26 и зачем нужен Navigation 3, автоматизация тестирования, TikTok для роста, ИИ, который удалил производственную базу данных пользователя, и многое другое. Заходите!
👍4
«Ради любви к коду» — летний хакатон 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