Измеряем память
Новый еженедельный дайджест - в этом выпуске память в Swift и ужесточение проверки разработчиков для сторонней установки приложений от Google, очередная смерть Flutter и инструмент для поиска и анализа ошибок, все != nil в коде, pixel-perfect тестирования дизайн-системы в Android, Польша как главный рынок приложений Европы и многое другое. Заходите!
Новый еженедельный дайджест - в этом выпуске память в Swift и ужесточение проверки разработчиков для сторонней установки приложений от Google, очередная смерть Flutter и инструмент для поиска и анализа ошибок, все != nil в коде, pixel-perfect тестирования дизайн-системы в Android, Польша как главный рынок приложений Европы и многое другое. Заходите!
❤1👍1
Forwarded from AppGrowth - инди, пет, рост и монетизация
Приложения, вышедшие в июле, и заработавшие больше $50,000
По данным AppMagic, в июле было выпущено 8 приложений, которые заработали более 50,000 долларов.
1. Thmanyah ($316,000) — платформа с лучшим арабским контентом. Фильмы, документальные сериалы и развлекательные шоу, созданные с душой. И это эксклюзивный центр для просмотра в прямом эфире чемпионатов Саудовской Аравии по футболу: Суперкубка Саудовской Аравии, Лиги Рошн Саудовской Аравии, Кубка Короля и Лиги Йело.
2. Overheard: Truth Before Dating ($145,000) — приложением для знакомств, которое поможет оценить партнера. Хотите ли вы узнать энергетику собеседника, заметить ранние тревожные сигналы или просто хотите пообщаться с теми, кто уже встречался с кем-то, Overheard поможет вам чувствовать себя уверенно на свиданиях.
3. Luna AI — Soulmate Drawing ($142,000) — персональный гид на базе ИИ по любви, самопознанию и внутренней ясности. Ищете ли вы свою вторую половинку, расшифровываете ли важный сон или раскрываете тайны своего имени с помощью нумерологии, Luna предлагает инструменты, которые помогут вам лучше понять своё сердце и разум.
4. IGAMES PS2 ($70,000) — эмулятор PLAYSTATION 2 с ретро-играми.
5. Bible Bff-Modern Bible Stories ($66,000) — современное перепрочтение Библии.
6. Rolemance AI: Characters Chat ($64,000) — ИИ-чат с выдуманными персонажами.
7. Pixel Cake ($58,000) — профессиональное программное обеспечение для обработки изображений на базе искусственного интеллекта.
8. Novelove ($56,000) — микро-драмы в текстовом формате.
Что можно сделать в одно лицо? Я бы сказал, что второе (как обязательный элемент маркетинга - просрать все пользовательские данные), если проработать нормальные промпты к ИИ - третье и пятое.
По данным AppMagic, в июле было выпущено 8 приложений, которые заработали более 50,000 долларов.
1. Thmanyah ($316,000) — платформа с лучшим арабским контентом. Фильмы, документальные сериалы и развлекательные шоу, созданные с душой. И это эксклюзивный центр для просмотра в прямом эфире чемпионатов Саудовской Аравии по футболу: Суперкубка Саудовской Аравии, Лиги Рошн Саудовской Аравии, Кубка Короля и Лиги Йело.
2. Overheard: Truth Before Dating ($145,000) — приложением для знакомств, которое поможет оценить партнера. Хотите ли вы узнать энергетику собеседника, заметить ранние тревожные сигналы или просто хотите пообщаться с теми, кто уже встречался с кем-то, Overheard поможет вам чувствовать себя уверенно на свиданиях.
3. Luna AI — Soulmate Drawing ($142,000) — персональный гид на базе ИИ по любви, самопознанию и внутренней ясности. Ищете ли вы свою вторую половинку, расшифровываете ли важный сон или раскрываете тайны своего имени с помощью нумерологии, Luna предлагает инструменты, которые помогут вам лучше понять своё сердце и разум.
4. IGAMES PS2 ($70,000) — эмулятор PLAYSTATION 2 с ретро-играми.
5. Bible Bff-Modern Bible Stories ($66,000) — современное перепрочтение Библии.
6. Rolemance AI: Characters Chat ($64,000) — ИИ-чат с выдуманными персонажами.
7. Pixel Cake ($58,000) — профессиональное программное обеспечение для обработки изображений на базе искусственного интеллекта.
8. Novelove ($56,000) — микро-драмы в текстовом формате.
Что можно сделать в одно лицо? Я бы сказал, что второе (как обязательный элемент маркетинга - просрать все пользовательские данные), если проработать нормальные промпты к ИИ - третье и пятое.
👍4❤1
iOS
Нашел на GitHub новую библиотеку Levitan от HH — это набор инструментов для разработки пользовательских интерфейсов, позволяющий удобно и декларативно проектировать приложения с использованием SwiftUI и UIKit. Подробного описания не нашел, так что все что есть - на GitHub.
• Levitan — дизайн-сиcтема для iOS
• Bitrig — создание iOS-приложений на iPhone
• LocalizedStringResource vs LocalizedStringKey vs String
• Automating Swift Binary Releases Using GitHub Actions
• Building a design system at Genius Scan
• Creating amazing loading animations with SF Symbols
• How We Turned the iPhone into a Laboratory Microscope with AI and BLE
• Making the tab bar collapse while scrolling
• Advanced Keyframe Animations in SwiftUI
Нашел на GitHub новую библиотеку Levitan от HH — это набор инструментов для разработки пользовательских интерфейсов, позволяющий удобно и декларативно проектировать приложения с использованием SwiftUI и UIKit. Подробного описания не нашел, так что все что есть - на GitHub.
• Levitan — дизайн-сиcтема для iOS
• Bitrig — создание iOS-приложений на iPhone
• LocalizedStringResource vs LocalizedStringKey vs String
• Automating Swift Binary Releases Using GitHub Actions
• Building a design system at Genius Scan
• Creating amazing loading animations with SF Symbols
• How We Turned the iPhone into a Laboratory Microscope with AI and BLE
• Making the tab bar collapse while scrolling
• Advanced Keyframe Animations in SwiftUI
AppTractor
Levitan — дизайн-сиcтема для iOS
Levitan — это набор инструментов от HH.ru для разработки пользовательских интерфейсов, позволяющий удобно и декларативно проектировать приложения с использованием SwiftUI и UIKit.
Android
Леланд Ричардсон покидает Google после 8 лет работы над Jetpack Compose. Ричардсон был ключевым архитектором фреймворка Jetpack Compose для Android, а ранее был инженером в Airbnb, где участвовал в развитии технологий React Native и open-source проектов для фронтенд-разработки. Переходит в Anthropic, так что, вероятно, скоро Claude сможет еще лучше создавать приложения.
• Slide to Unlock — настраиваемый слайдер для разблокировки
• Android. Glance Widgets. Начало
• Упрощаем NFC: обзор нового SDK для Android разработки
• Интересная «Request-Based» архитектура на примере Блокнота с открытым исходным кодом
• Google закрывает свободу на Android
• Leland Richardson, a key architect of Jetpack Compose, leaves Google
• New Shadow API for Jetpack Compose
• Kotlin 2.4 Rich Errors: What They Are and How to Prepare
• Free android lint perf
• Upload a Photo, Get a Caption. Google’s On-Device AI Is Getting Crazy Good
• Flow Layouts in Compose
• Android ViewModel Data Loading: Best Practices and Flow-Based Architecture
• The Case of the Missing Handler
• Nested routes with Navigation 3
Леланд Ричардсон покидает Google после 8 лет работы над Jetpack Compose. Ричардсон был ключевым архитектором фреймворка Jetpack Compose для Android, а ранее был инженером в Airbnb, где участвовал в развитии технологий React Native и open-source проектов для фронтенд-разработки. Переходит в Anthropic, так что, вероятно, скоро Claude сможет еще лучше создавать приложения.
• Slide to Unlock — настраиваемый слайдер для разблокировки
• Android. Glance Widgets. Начало
• Упрощаем NFC: обзор нового SDK для Android разработки
• Интересная «Request-Based» архитектура на примере Блокнота с открытым исходным кодом
• Google закрывает свободу на Android
• Leland Richardson, a key architect of Jetpack Compose, leaves Google
• New Shadow API for Jetpack Compose
• Kotlin 2.4 Rich Errors: What They Are and How to Prepare
• Free android lint perf
• Upload a Photo, Get a Caption. Google’s On-Device AI Is Getting Crazy Good
• Flow Layouts in Compose
• Android ViewModel Data Loading: Best Practices and Flow-Based Architecture
• The Case of the Missing Handler
• Nested routes with Navigation 3
AppTractor
Slide to Unlock — настраиваемый слайдер для разблокировки
Slide to Unlock — полностью настраиваемый слайдер для Jetpack Compose и KMP от RevenueCat. Вы можете легко реализовать функцию разблокировки слайдером с помощью композабл SlideToUnlock. Он предлагает интуитивно понятные возможности настройки цветов, текста…
👍5
Занятная статья о том, что нужно уметь не только ускорять программы, но и прогнозируемо их замедлять. Это может быть полезно для выявления условий гонки, моделирования ускорения и оценки точности профилировщиков. Проблема, однако, в том, что хорошо и прогнозируемо замедлить код не всегда легко (в силу, например, процессорных архитектур, которые умеют распараллеливать операции без участия человека) и автор делится своими наработками.
Разработка
• Как замедлить программу и почему это может быть полезно
• Как «думают» LLM: внутренняя механика языковых моделей
• Как AI научился рассуждать — Reinforcement learning, reasoning models
• Улучшаю UX во Flipper Zero
• The psychology of fixing bugs
Маркетинг
• Маркетологи в мобайле: Олег Ярилин (Head of Performance Marketing, Яндекс — с Алисой)
• Приложения, вышедшие в июле, и заработавшие больше $50,000
• Vocal Image использует ИИ, чтобы научить людей лучше пользоваться голосом
• iOS подписки на TV пультах. Окупаемость 3 месяца?
• RuStore On Air #1
Кроссплатформа
• Kotlin Multiplatform в большом проекте
• Compose Multiplatform простое приложение c MVI
• Injecting Android Context in Compose Multiplatform with Koin
• New powerful DI solution for Flutter
Разработка
• Как замедлить программу и почему это может быть полезно
• Как «думают» LLM: внутренняя механика языковых моделей
• Как AI научился рассуждать — Reinforcement learning, reasoning models
• Улучшаю UX во Flipper Zero
• The psychology of fixing bugs
Маркетинг
• Маркетологи в мобайле: Олег Ярилин (Head of Performance Marketing, Яндекс — с Алисой)
• Приложения, вышедшие в июле, и заработавшие больше $50,000
• Vocal Image использует ИИ, чтобы научить людей лучше пользоваться голосом
• iOS подписки на TV пультах. Окупаемость 3 месяца?
• RuStore On Air #1
Кроссплатформа
• Kotlin Multiplatform в большом проекте
• Compose Multiplatform простое приложение c MVI
• Injecting Android Context in Compose Multiplatform with Koin
• New powerful DI solution for Flutter
AppTractor
Как замедлить программу и почему это может быть полезно
Замедление программ может быть полезно для выявления условий гонки, моделирования ускорения и оценки точности профилировщиков.
❤2
iOS
Сегодня для большинства задач создания анимаций загрузки на iOS лучше использовать SF Symbols — это просто, мощно и крайне гибко. Старые кастомные решения, как показал опыт автора, вполне можно удалить - теперь все делается буквально одной строкой.
• Создание потрясающих загрузочных анимаций с помощью SF Symbols
• SIP на iOS с Linphone SDK: Быстрая и надёжная VoIP-интеграция в мобильное приложение
• Advanced ViewBuilder & ResultBuilder Techniques in SwiftUI
• 6 SwiftUI Reusable Components
• The Interviewer Asked Me: “Array vs Set for 10k Elements in Swift?” — Here’s How I Answered
Сегодня для большинства задач создания анимаций загрузки на iOS лучше использовать SF Symbols — это просто, мощно и крайне гибко. Старые кастомные решения, как показал опыт автора, вполне можно удалить - теперь все делается буквально одной строкой.
• Создание потрясающих загрузочных анимаций с помощью SF Symbols
• SIP на iOS с Linphone SDK: Быстрая и надёжная VoIP-интеграция в мобильное приложение
• Advanced ViewBuilder & ResultBuilder Techniques in SwiftUI
• 6 SwiftUI Reusable Components
• The Interviewer Asked Me: “Array vs Set for 10k Elements in Swift?” — Here’s How I Answered
AppTractor
Создание потрясающих загрузочных анимаций с помощью SF Symbols
SF Symbols позволяет легко создавать мощные и гибкие анимации и эффекты. Если вы ориентируетесь на последние версии ОС, я бы даже назвал их предпочтительным выбором по сравнению с написанием кучи кастомного кода.
👍2
Android
С Android 10 (Target sdk 29) Google ввел новую политику безопасности. Новая политика SELinux звучит просто: «Нельзя исполнять файлы из той директории, в которую можно записывать». Всё это очень хорошо, но многие проекты сломались. Termux из Google Play УМЕЕТ запускать бинарные файлы на target sdk 29+. Автор статьи решил поделится, как выполнить бинарный файл из
• Capsule — скругленные углы для Jetpack Compose
• Запуск бинарных файлов из data/data на Android 10+ (Обход SELinux)
• Enabling R8 for Big and Old Apps
• Cracking Android Interviews: The Questions That Actually Matter
• Easy Way To Migrate Your Apps For Google Play’s 16 KB Page Size Compatibility
• Best Play Store alternatives for publishing Android apps?
С Android 10 (Target sdk 29) Google ввел новую политику безопасности. Новая политика SELinux звучит просто: «Нельзя исполнять файлы из той директории, в которую можно записывать». Всё это очень хорошо, но многие проекты сломались. Termux из Google Play УМЕЕТ запускать бинарные файлы на target sdk 29+. Автор статьи решил поделится, как выполнить бинарный файл из
data/data/com.ваш.пакет/files на новых версиях sdk БЕЗ полного клонирования Termux и БЕЗ С/C++ части. Сам метод запуска будет именно на java.• Capsule — скругленные углы для Jetpack Compose
• Запуск бинарных файлов из data/data на Android 10+ (Обход SELinux)
• Enabling R8 for Big and Old Apps
• Cracking Android Interviews: The Questions That Actually Matter
• Easy Way To Migrate Your Apps For Google Play’s 16 KB Page Size Compatibility
• Best Play Store alternatives for publishing Android apps?
Хабр
Запуск бинарных файлов из data/data на Android 10+ (Обход SELinux)
Всем привет! Как многие знают, с Android 10 (Target sdk 29) google ввели новую политику безопасности. Новая политика SELinux звучит просто: «Нельзя исполнять файлы из той директории,...
👍2
Китайский технологический гигант Tencent открыл исходный код двух специализированных моделей перевода, заявив, что они превосходят известные инструменты, такие как Google Translate, в международных бенчмарках. Tencent Hunyuan MT 7B и Hunyuan MT Chimera 7B заняли первые места в 30 из 31 протестированных языковых пар. Обладая 7 миллиардами параметров, эти модели значительно компактнее многих базовых моделей в своём классе, поэтому требуют меньше вычислительной мощности и могут работать на более слабом оборудовании. Модели доступны с открытым исходным кодом на Hugging Face, кроме того Tencent опубликовала исходный код на GitHub.
Разработка
• Tencent открыла код двух высокопроизводительных моделей перевода
• Что такое фаззинг
• События, которым можно доверять: выстраивание процесса работы с разметкой приложения с точки зрения аналитика
• Real time Computer Vision on mobile
• Dependency Hell: The Hidden Costs of Dependency Bloat in Software Development
Маркетинг
• Mirava - мировые цены
• Простая фишка ASO, которая в разы увеличивает загрузки
• Длинный или короткий пейвол?
Кроссплатформа
• How Flutter 4.0 Changes Everything
• Multi-Module Configuration for Kotlin Multiplatform & Compose Multiplatform — Gradle Convention Plugins for KMP & CMP
Разработка
• Tencent открыла код двух высокопроизводительных моделей перевода
• Что такое фаззинг
• События, которым можно доверять: выстраивание процесса работы с разметкой приложения с точки зрения аналитика
• Real time Computer Vision on mobile
• Dependency Hell: The Hidden Costs of Dependency Bloat in Software Development
Маркетинг
• Mirava - мировые цены
• Простая фишка ASO, которая в разы увеличивает загрузки
• Длинный или короткий пейвол?
Кроссплатформа
• How Flutter 4.0 Changes Everything
• Multi-Module Configuration for Kotlin Multiplatform & Compose Multiplatform — Gradle Convention Plugins for KMP & CMP
AppTractor
Tencent открыла код двух высокопроизводительных моделей перевода
На WMT2025, крупном семинаре, где исследовательские группы сравнивают системы перевода, новые модели Tencent Hunyuan MT 7B и Hunyuan MT Chimera 7B заняли первые места в 30 из 31 протестированных языковых пар.
❤3
iOS
Документация Apple для разработчиков скрыта за JavaScript, что делает её невидимой для большинства LLM. Apple Docs MCP дает доступ к официальной документации Apple по языку Swift, фреймворкам, API, SwiftUI, UIKit и видеоматериалам WWDC через Model Context Protocol. Это делает документацию "видимой" и позволяет реализовать, например, поиск документации по iOS, macOS, watchOS, tvOS и visionOS с помощью ИИ-запросов на естественном языке.
• Apple Docs MCP — Model Context Protocol Server для документации Apple
• Array или Set для 10 тыс. элементов в Swift — вопросы с собеседования
• «Стеклянный мир» iOS 26. Адаптируем приложение под новые гайдлайны
• Взлом через картинку в Apple: уроки громкой уязвимости для разработчиков
• SwiftUI: Huge Dive into The “Native” Webview & WebPage
• Enhancing the tab bar with a bottom accessory
• Debugging Swift Concurrency: “Am I on the Main Actor?” (Not the Main Thread)
• Practical Guide to Working with the SwiftNIO File System
• Swift Type Aliases: The Secret Weapon Senior Developers Use for Cleaner Code
Документация Apple для разработчиков скрыта за JavaScript, что делает её невидимой для большинства LLM. Apple Docs MCP дает доступ к официальной документации Apple по языку Swift, фреймворкам, API, SwiftUI, UIKit и видеоматериалам WWDC через Model Context Protocol. Это делает документацию "видимой" и позволяет реализовать, например, поиск документации по iOS, macOS, watchOS, tvOS и visionOS с помощью ИИ-запросов на естественном языке.
• Apple Docs MCP — Model Context Protocol Server для документации Apple
• Array или Set для 10 тыс. элементов в Swift — вопросы с собеседования
• «Стеклянный мир» iOS 26. Адаптируем приложение под новые гайдлайны
• Взлом через картинку в Apple: уроки громкой уязвимости для разработчиков
• SwiftUI: Huge Dive into The “Native” Webview & WebPage
• Enhancing the tab bar with a bottom accessory
• Debugging Swift Concurrency: “Am I on the Main Actor?” (Not the Main Thread)
• Practical Guide to Working with the SwiftNIO File System
• Swift Type Aliases: The Secret Weapon Senior Developers Use for Cleaner Code
AppTractor
Apple Docs MCP — Model Context Protocol Server для документации Apple
Apple Docs MCP дает доступ к официальной документации Apple для разработчиков по языку Swift, фреймворкам, API, SwiftUI, UIKit и видеоматериалам WWDC через Model Context Protocol. Это позволяет реализовать, например, поиск документации по iOS, macOS, watchOS…
👍1
Android
Один энтузиаст и поклонник Android успешно запустил свой блог на старом смартфоне Google Pixel 5, превратив его в полноценный веб-сервер. Этот проект демонстрирует, как можно дать вторую жизнь устаревшему устройству и одновременно сократить энергопотребление. Эксперимент оказался полностью успешным. Сайт работает быстро и стабильно, и, по словам автора, невозможно определить, что он размещен на Android-телефоне, а не на обычном сервере или VPS. В ближайшее время автор не планирует менять эту конфигурацию, так как она полностью оправдала его ожидания.
• Android. Glance Widget. Часть 2. Конфигурация данных для виджета
• Side-Effects in Jetpack Compose Made Simple
• Stop Breaking Your Modifiers: The Right Way to Stack with .then() in Jetpack Compose
• Android Studio Narwhal 3 Feature Drop
• Androidify: Building AI first Android Experiences with Gemini using Jetpack Compose and Firebase
• This blog is running on a recycled Google Pixel 5
• Build Smarter Android Apps with Vision: ML Kit the Easy Way
Один энтузиаст и поклонник Android успешно запустил свой блог на старом смартфоне Google Pixel 5, превратив его в полноценный веб-сервер. Этот проект демонстрирует, как можно дать вторую жизнь устаревшему устройству и одновременно сократить энергопотребление. Эксперимент оказался полностью успешным. Сайт работает быстро и стабильно, и, по словам автора, невозможно определить, что он размещен на Android-телефоне, а не на обычном сервере или VPS. В ближайшее время автор не планирует менять эту конфигурацию, так как она полностью оправдала его ожидания.
• Android. Glance Widget. Часть 2. Конфигурация данных для виджета
• Side-Effects in Jetpack Compose Made Simple
• Stop Breaking Your Modifiers: The Right Way to Stack with .then() in Jetpack Compose
• Android Studio Narwhal 3 Feature Drop
• Androidify: Building AI first Android Experiences with Gemini using Jetpack Compose and Firebase
• This blog is running on a recycled Google Pixel 5
• Build Smarter Android Apps with Vision: ML Kit the Easy Way
Dom Corriveau
This blog is running on a recycled Google Pixel 5
An absolute mammoth post about how I am running this blog site from a Google Pixel 5 Android phone using only Termux. It includes what inspired me, what I'm using for the setup, and my longform notes on the entire project.
👍3❤1
Google не будет разделять свой бизнес, но федеральный судья предварительно распорядился о внесении других изменений в деловую практику технологического гиганта. Например, Google не сможет обуславливать лицензирование Play Store распространением определенных приложений или увязывать выплаты в виде доли от дохода с сохранением определенных приложений. Google также будет обязан предоставлять определенные данные о поисковом индексе и взаимодействии пользователей «квалифицированным конкурентам» для предотвращения исключающего поведения, а также предлагать конкурентам услуги поиска и синдикации поисковой рекламы по стандартным тарифам, чтобы они могли обеспечивать качественные результаты, одновременно развивая собственные технологии. Пока это, правда, ни о чем не говорит - еще будет апелляция и Верховный суд. Так что все станет понятно ориентировочно только в 2028.
Разработка
• Google избежал разделения, но вынужден отказаться от эксклюзивных сделок
• How Coding Can Improve Design
• The One Architecture Decision That Destroyed Every Project I Touched
• Writing Code Was Never The Bottleneck
Маркетинг
• В Директе стало доступно продвижение мобильных приложений из RuStore
• Увеличил пробный период → но начал просить карту
Кроссплатформа
• Как мы добились оценки приложения в 5 звезд за 2 часа
• FlutterBox - Open Source Flutter Widget Library Platform
Разработка
• Google избежал разделения, но вынужден отказаться от эксклюзивных сделок
• How Coding Can Improve Design
• The One Architecture Decision That Destroyed Every Project I Touched
• Writing Code Was Never The Bottleneck
Маркетинг
• В Директе стало доступно продвижение мобильных приложений из RuStore
• Увеличил пробный период → но начал просить карту
Кроссплатформа
• Как мы добились оценки приложения в 5 звезд за 2 часа
• FlutterBox - Open Source Flutter Widget Library Platform
AppTractor
Google избежал разделения, но вынужден отказаться от эксклюзивных сделок
Несмотря на то, что Мехта представил свои долгожданные меры, «этой пьесе ещё предстоит многое сделать» в виде апелляции Google и возможной эскалации в Верховный суд.
👍3❤1
Forwarded from AppGrowth - инди, пет, рост и монетизация
Дух элитного дизайна
"В компьютерных науках есть только две сложные проблемы – инвалидация кэша и именование переменных". Добавлю третью - выбор цветов для приложения. Так что может быть пригодится для следующего проект - "9 роскошных цветовых палитр, воплощающих дух элитного дизайна". На картинке, например, полуночная роскошь.
"В компьютерных науках есть только две сложные проблемы – инвалидация кэша и именование переменных". Добавлю третью - выбор цветов для приложения. Так что может быть пригодится для следующего проект - "9 роскошных цветовых палитр, воплощающих дух элитного дизайна". На картинке, например, полуночная роскошь.
👍11💅3❤1
iOS
Отладка всегда будет частью разработки. Но есть огромная разница между блужданием в темноте с
• ARC в Swift
• Жизненный цикл UIViewController в 2025 году: что изменилось и что устарело
• Why TCA Is Making a Comeback in 2025 (And Why Enterprises Love It)
• SwiftUI: AVAudioEngine With Swift Concurrency
• I Spent 5 Years Debugging Swift Apps Wrong — Here’s What I Wish I Knew Day One
Отладка всегда будет частью разработки. Но есть огромная разница между блужданием в темноте с
print() и системным подходом с правильными инструментами. Начните использовать их сегодня, и ваше будущее "я" скажет вам спасибо, когда вы будете отлаживать сложные проблемы в продакшене с тысячами пользователей.• ARC в Swift
• Жизненный цикл UIViewController в 2025 году: что изменилось и что устарело
• Why TCA Is Making a Comeback in 2025 (And Why Enterprises Love It)
• SwiftUI: AVAudioEngine With Swift Concurrency
• I Spent 5 Years Debugging Swift Apps Wrong — Here’s What I Wish I Knew Day One
Medium
I Spent 5 Years Debugging Swift Apps Wrong — Here’s What I Wish I Knew Day One
The hidden debugging features in Xcode and Swift that will 10x your development speed
👍2
Android
• Flow-контейнеры в Compose
• Больше Pixel получат Material 3 Expressive
• Neumorphic Compose UI Kit — неоморфизм для Jetpack Compose
• Мой путь новичка в разработке: FreeSpace — мобильное приложение для любителей космоса
• Stop Re-fetching Data: Master LRU Caching in Your Android App
• Mastering Kotlin Collections: A Developer’s Journey from Confusion to Clarity
FlowRow и FlowColumn — это composables, похожие на Row и Column, но с одним ключевым отличием: элементы автоматически переносятся на следующую строку, когда в контейнере заканчивается место. Такое поведение создает несколько строк или столбцов, позволяя создавать более адаптивные интерфейсы, в которых контент не обрезается, если элементы слишком велики для одного измерения. Они особенно полезны для создания таких элементов интерфейса, как набор «чипов» или фильтров, где элементы должны переноситься на следующую строку по мере уменьшения пространства на экране. В этой статье мы подробно рассмотрим возможности flow-контейнеров, узнаем, как управлять расположением элементов, выравнивать их по отдельности и использовать «веса» (weights) для создания адаптивных сеточных структур.• Flow-контейнеры в Compose
• Больше Pixel получат Material 3 Expressive
• Neumorphic Compose UI Kit — неоморфизм для Jetpack Compose
• Мой путь новичка в разработке: FreeSpace — мобильное приложение для любителей космоса
• Stop Re-fetching Data: Master LRU Caching in Your Android App
• Mastering Kotlin Collections: A Developer’s Journey from Confusion to Clarity
AppTractor
Flow-контейнеры в Compose
Понимая и используя эти функции, вы сможете создавать более адаптивные и визуально привлекательные пользовательские интерфейсы в Jetpack Compose.
👍3
Исследования METR показало, что ИИ на самом деле замедлял разработчиков на 19%, хотя им казалось, что они работают на 20% быстрее. После этого автор провел собственный шестинедельный эксперимент и выяснил, что ИИ замедляет его в среднем на 21%, подтверждая результаты исследования. Он пришел к выводу, что заявления о многократном увеличении производительности не соответствуют действительности. Ключевой аргумент автора заключается в вопросе: если ИИ-инструменты настолько эффективны, то где же «поток низкокачественного программного обеспечения»? Он предоставляет данные, свидетельствующие о том, что количество новых программных релизов — веб-сайтов, игр, мобильных приложений — осталось на прежнем уровне, без ожидаемого экспоненциального роста после массового внедрения ИИ в 2022–2023 годах. Автор критикует IT-индустрию за увлечение этой идеей, которое приводит к увольнениям и снижению зарплат. Он призывает других разработчиков доверять своему опыту и скептически относиться к заявлениям о «10x-программистах», поскольку данные о реальном выпуске ПО их не подтверждают.
Разработка
• Where's the Shovelware? Why AI Coding Claims Don't Add Up
Маркетинг
• Япония с ИИ
• ChatGPT станет новой ключевой платформой дистрибуции и роста. Или нет?
• The ultimate guide to price localization
Кроссплатформа
• Как сделать GitLab CI/CD вашим лучшим другом для сборки и доставки Flutter приложений. Часть 2
• Cross-Platform CI/CD: TUUCHO’s KMM Jenkins Pipeline with iOS, Android, and Visual Regression QA
• My flutter app size just doubled after flutter upgrade
• I finally understood Flutter layout
Разработка
• Where's the Shovelware? Why AI Coding Claims Don't Add Up
Маркетинг
• Япония с ИИ
• ChatGPT станет новой ключевой платформой дистрибуции и роста. Или нет?
• The ultimate guide to price localization
Кроссплатформа
• Как сделать GitLab CI/CD вашим лучшим другом для сборки и доставки Flutter приложений. Часть 2
• Cross-Platform CI/CD: TUUCHO’s KMM Jenkins Pipeline with iOS, Android, and Visual Regression QA
• My flutter app size just doubled after flutter upgrade
• I finally understood Flutter layout
Substack
Where's the Shovelware? Why AI Coding Claims Don't Add Up
78% of developers claim AI makes them more productive. 14% say it's a 10x improvement. So where's the flood of new software? Turns out those productivity claims are bullshit.
👍5🤡2❤1🤔1
Forwarded from AppFiles - Mobile Development
•
(iOS En) iOS 26 Lock Screen Carousel With Reflection Effect Using SwiftUI•
(iOS En) How to hide the content of a view in a screenshot (iOS tutorial)•
(iOS En) Swift concurrency for curious Kotliners•
(iOS En) SwiftUI: How To Seamlessly Morph Liquid Glass Shapes•
(iOS En) Auto Resizing Dynamic Sheets Using SwiftUI•
(iOS En) Mastering Liquid Glass in SwiftUI – Buttons, Containers & Transitions•
(And Ru) Облегчаем жизнь больших экранов на Compose•
(And Ru) Разбор MAX программистом•
(And Ru) ProGuard — Стандарт Мобильной Безопастности?•
(And Ru) Ты готов к собеседованию в Альфа-Банк? Интервью мобильного разработчика•
(And En) TheAndroidShow: The latest for devs from Made by Google, Gemini in Android Studio, a new Androidify•
(And En) What's new in Android Studio Narwhal 3 Feature Drop•
(And En) Androidify app deep dive•
(And En) Bring your most expressive apps to the wrist: Wear OS 6 and the new Pixel Watch 4•
(And En) Connect Model Context Protocol (MCP) servers to Android Studio to improve AI agent capabilities•
(And En) Now in Android: 121 – Android Studio Narwhal, Android 16 QPR2 beta, and more•
(And En) Build your Kotlin and Android apps with Buck2•
(And En) Exposed inline value classes for Java in Kotlin 2.2•
(And En) Kotlin Worst Practices — How to Maximize Your Hassle•
(And En) Putting Kotlin Flows Together•
(And En) Develocity Analytics: Get end-to-end visibility into your build process•
(Crs En) Blueprints for Scale: What AWS Learned Building a Massive Multiplatform Project•
(Crs En) Lessons learned decoupling Architecture Components from platform specific code•
(Dev Ru) Лучший билд команды и проекта в IT•
(Dev Ru) DevRel в мобильной разработке: между платформами, комьюнити и командой•
(Dev Ru) Числа в программировании — Почему компьютер не понимает 0.1 + 0.2•
(Dev En) How You Use an AI Coding Agent the RIGHT Way For Mobile Development•
(Dev En) Introducing EmbeddingGemma: The Best-in-Class Open Model for On-Device EmbeddingsПрошлогодние видео:
•
(And Ru) Организация кода в проекте — в какой пакет положить Kotlin класс•
(Dev Ru) Архитектурное собеседование — по обе стороны баррикад (+ все собеседования)•
(Dev Ru) Backend-Driven UI и конструкторы. Благо или зло?•
(Dev Ru) Открытое собеседование — технический руководитель: разбор кейсаPlease open Telegram to view this post
VIEW IN TELEGRAM
👍1
Стеклянный контейнер
Все статьи, новости и видео за неделю - «стеклянный мир» iOS 26 и Flow-контейнеры в Compose, Android Glance Widget и жизненный цикл UIViewController 2025, лучшие практики агентного программирования, как замедлить программу и почему это может быть полезно, приложения, вышедшие в июле, и заработавшие больше $50,000, и многое другое. Заходите!
Все статьи, новости и видео за неделю - «стеклянный мир» iOS 26 и Flow-контейнеры в Compose, Android Glance Widget и жизненный цикл UIViewController 2025, лучшие практики агентного программирования, как замедлить программу и почему это может быть полезно, приложения, вышедшие в июле, и заработавшие больше $50,000, и многое другое. Заходите!
👍4
📱System Design всё чаще становится частью повестки мобильной разработки.
Сегодня недостаточно просто уметь строить экраны: от Android-разработчиков ждут архитектурного взгляда: как проектировать SDK, интегрировать KMP, выстраивать эксперименты и переосмысливать подходы.
Podlodka Android Crew — онлайн-конференция, в новом сезоне которой обсудят архитектурные решения, способные выдерживать рост, сложность и нагрузку.
📌 В программе:
— как использовать Ktor на Android и зачем вам знать про его Pipeline и Plugins (JetBrains)
— что отличает удобный SDK от токсичного и как проектировать «гостеприимные» библиотеки (RuStore)
— история масштабной миграции с TEA и архитектурные выводы по итогам (Auto ru)
— функциональное программирование в Android: приёмы, нюансы производительности и тестирование (Dodo Engineering)
🗓Конференция пройдёт 15–19 сентября
🔗Билеты — https://podlodka.io/droidcrew
Сегодня недостаточно просто уметь строить экраны: от Android-разработчиков ждут архитектурного взгляда: как проектировать SDK, интегрировать KMP, выстраивать эксперименты и переосмысливать подходы.
Podlodka Android Crew — онлайн-конференция, в новом сезоне которой обсудят архитектурные решения, способные выдерживать рост, сложность и нагрузку.
📌 В программе:
— как использовать Ktor на Android и зачем вам знать про его Pipeline и Plugins (JetBrains)
— что отличает удобный SDK от токсичного и как проектировать «гостеприимные» библиотеки (RuStore)
— история масштабной миграции с TEA и архитектурные выводы по итогам (Auto ru)
— функциональное программирование в Android: приёмы, нюансы производительности и тестирование (Dodo Engineering)
🗓Конференция пройдёт 15–19 сентября
🔗Билеты — https://podlodka.io/droidcrew
🍌2👍1
iOS
Первые пять лет своей карьеры в iOS-разработке я был тем разработчиком, который разбрасывал повсюду операторы
• Как правильно отлаживать iOS-приложения
• AwaitlessKit — синхронные обёртки для async функций
• The Cupertino Ghost in the Machine: An Analysis of Xcode's New AI Assistant
• @ViewBuilder usage explained with code examples
• Creating Light and Dark Mode Icons using Icon Composer
• Turning CI Logs into Actions
• 7 Swift String Interpolation Tricks That Will Make You a Better Developer
• 10 SwiftUI Hacks For Cleaner Apps, Less Code Same Power
Первые пять лет своей карьеры в iOS-разработке я был тем разработчиком, который разбрасывал повсюду операторы
print(), словно конфетти на новогодней вечеринке. Нужно проверить переменную? print(myVariable). Приложение падает? print("Made it here!"). Сложная структура данных ведёт себя странно? print("Debug: \(someComplexObject)"). И знаете что? Это работало. Вроде как. Пока не перестало. Пробуждение пришло во время особенно изнурительного сеанса отладки, когда в моей кодовой базе было разбросано более 47 операторов print (да, я считал). Консоль выглядела как цифровая лавина, и я тратил больше времени на прокрутку отладочной информации, чем на исправление ошибок.• Как правильно отлаживать iOS-приложения
• AwaitlessKit — синхронные обёртки для async функций
• The Cupertino Ghost in the Machine: An Analysis of Xcode's New AI Assistant
• @ViewBuilder usage explained with code examples
• Creating Light and Dark Mode Icons using Icon Composer
• Turning CI Logs into Actions
• 7 Swift String Interpolation Tricks That Will Make You a Better Developer
• 10 SwiftUI Hacks For Cleaner Apps, Less Code Same Power
AppTractor
Как правильно отлаживать iOS-приложения
Приёмы, которыми я здесь поделился, не только помогают быстрее находить ошибки — они помогают лучше понимать код, создавать более надёжные приложения и, честно говоря, получать больше удовольствия от процесса разработки.
❤3
Android
В современных медиа-ориентированных приложениях обеспечение плавного и бесперебойного воспроизведения является ключом к хорошему пользовательскому опыту. Пользователи ожидают, что их видео запустится мгновенно и будет воспроизводиться без задержек. Основная проблема — задержка. Традиционно видеоплеер начинает работу — подключается, загружает, анализирует и буферизует — только после того, как пользователь выбрал элемент для воспроизведения. Такой реактивный подход медленный для современных коротких видео. Решение — действовать проактивно. Нам необходимо предвидеть, что пользователь будет смотреть дальше, и подготовить контент заранее. В этом и заключается суть предварительной загрузки. В этой серии статей из трёх частей, Google подробно рассмотрит мощные инструменты Media3 для (пред)загрузки компонентов.
• Reveal — эффект подсветки (обучающие подсказки) для Compose Multiplatform
• Облегчаем жизнь больших экранов на Compose
• Разбор MAX программистом
• ProGuard — Стандарт Мобильной Безопастности?
• Ты готов к собеседованию в Альфа-Банк? Интервью мобильного разработчика
• Mastering Conditional Layouts in Jetpack Compose: The Flexible Way
• runBlocking in practice: Where it should be used and where not
• Inside Burst’s Test Interceptors
• The Hidden Dangers of Jetpack Compose State (And How to Fix Them With Real Examples)
• Elevating media playback: Introducing preloading with Media3
• Google Just Gave Android Developers Superpowers — Here’s How I’m Using Them
В современных медиа-ориентированных приложениях обеспечение плавного и бесперебойного воспроизведения является ключом к хорошему пользовательскому опыту. Пользователи ожидают, что их видео запустится мгновенно и будет воспроизводиться без задержек. Основная проблема — задержка. Традиционно видеоплеер начинает работу — подключается, загружает, анализирует и буферизует — только после того, как пользователь выбрал элемент для воспроизведения. Такой реактивный подход медленный для современных коротких видео. Решение — действовать проактивно. Нам необходимо предвидеть, что пользователь будет смотреть дальше, и подготовить контент заранее. В этом и заключается суть предварительной загрузки. В этой серии статей из трёх частей, Google подробно рассмотрит мощные инструменты Media3 для (пред)загрузки компонентов.
• Reveal — эффект подсветки (обучающие подсказки) для Compose Multiplatform
• Облегчаем жизнь больших экранов на Compose
• Разбор MAX программистом
• ProGuard — Стандарт Мобильной Безопастности?
• Ты готов к собеседованию в Альфа-Банк? Интервью мобильного разработчика
• Mastering Conditional Layouts in Jetpack Compose: The Flexible Way
• runBlocking in practice: Where it should be used and where not
• Inside Burst’s Test Interceptors
• The Hidden Dangers of Jetpack Compose State (And How to Fix Them With Real Examples)
• Elevating media playback: Introducing preloading with Media3
• Google Just Gave Android Developers Superpowers — Here’s How I’m Using Them
Android Developers Blog
Elevating media playback: Introducing preloading with Media3 - Part 1
Media3 preloading APIs offer faster, smoother video playback. Use 'PreloadConfiguration' for playlists or 'DefaultPreloadManager' for dynamic feeds.
👍3
Компания OpenAI заявила, что разрабатывает платформу найма на базе искусственного интеллекта, которая позволит компаниям и сотрудникам найти общий язык. Этот сервис может составить серьёзную конкуренцию LinkedIn. Продукт называется OpenAI Jobs Platform, и компания планирует запустить его к середине 2026 года. Миссия - "использовать ИИ, чтобы найти идеальное соответствие между потребностями компаний и тем, что могут предложить работники". OpenAI также заявляет, что начнет предлагать сертификацию для людей с разным уровнем владения ИИ через свою OpenAI Academy, онлайн-программу, которую компания запустила в прошлом году. Представитель OpenAI сообщил, что компания планирует запустить пилотную программу сертификации OpenAI в конце 2025 года.
Разработка
• OpenAI анонсирует платформу найма на базе искусственного интеллекта
• Лучший билд команды и проекта в IT
• DevRel в мобильной разработке: между платформами, комьюнити и командой
• Числа в программировании — Почему компьютер не понимает 0.1 + 0.2
• Как упростить разработку: опыт и размышления (компиляция из моей переписки)
Маркетинг
• Как выбрать ПРАВИЛЬНОЕ приложение для инди-разработки
• Важные изменения ASO в 2025 году
Кроссплатформа
• Pragmatic KMP for Mobile at Somnox
• Is it time for Flutter to leave the uncanny valley?
Разработка
• OpenAI анонсирует платформу найма на базе искусственного интеллекта
• Лучший билд команды и проекта в IT
• DevRel в мобильной разработке: между платформами, комьюнити и командой
• Числа в программировании — Почему компьютер не понимает 0.1 + 0.2
• Как упростить разработку: опыт и размышления (компиляция из моей переписки)
Маркетинг
• Как выбрать ПРАВИЛЬНОЕ приложение для инди-разработки
• Важные изменения ASO в 2025 году
Кроссплатформа
• Pragmatic KMP for Mobile at Somnox
• Is it time for Flutter to leave the uncanny valley?
AppTractor
OpenAI анонсирует платформу найма на базе искусственного интеллекта
OpenAI заинтересован в выходе на несколько новых рынков за пределами своего основного потребительского продукта ChatGPT.
❤6👍6