Forwarded from AppFiles - Mobile Development
•
(iOS Ru) Пишем видеоплеер под iOS с нуля•
(iOS En) The curious case of RETROACTIVE attribute in Swift•
(iOS En) iOS 26 Custom Animated ToolBar Using SwiftUI•
(iOS En) Mastering iOS 26 Toolbars & Modal Sheets in SwiftUI •
(And Ru) Разбор кода: пиксельная погода на Kotlin•
(And En) Shadows In Compose | Jetpack Compose Tips•
(And En) Firebender - TypeAlias Show•
(Crs En) Multi-Module Architecture in KMP for Beginners (Kotlin Multiplatform)•
(Crs En) Building a macOS Screen Saver with Kotlin•
(Dev Ru) Давайте потестируем Webview•
(Dev Ru) Сколько кнопок нажимает ваш автотест?•
(Dev Ru) Язык программирования Gleam — Gleam, Erlang VM, BEAM, Elixir vs Gleam•
(Dev En) Charts, Code, and Sails: Winning a Regatta with Kotlin NotebookПрошлогодние видео:
•
(And Ru) Бессмертное приложение•
(And Ru) Укрощаем UDF state-based архитектуры. Реальные кейсы в больших приложениях•
(Dev Ru) Заработок на Open Source. Decompose. Будущее KMP. Аркадий Иванов•
(Dev Ru) Грейд в IT•
(Dev Ru) Как устроен Yandex Mobile Ads SDK•
(Dev Ru) Паттерны SDUIPlease open Telegram to view this post
VIEW IN TELEGRAM
Обсуждаем продвижение приложений через Tinder
Этично? Нет.
Мутно? Наверное.
Эффективно? 100%.
https://news.1rj.ru/str/appindie/65
Этично? Нет.
Мутно? Наверное.
Эффективно? 100%.
https://news.1rj.ru/str/appindie/65
Telegram
AppGrowth - инди, пет, рост и монетизация
Как я получил 17 платящих клиентов за час (этика побоку)
Если эта история из Reddit правда, то это гениально. Этика правда побоку:
Итак, я застрял. Я только что запустил приложение и отчаянно думал:
• Стоит ли мне завести TikTok? (слишком много усилий…
Если эта история из Reddit правда, то это гениально. Этика правда побоку:
Итак, я застрял. Я только что запустил приложение и отчаянно думал:
• Стоит ли мне завести TikTok? (слишком много усилий…
👍2
Как заработать на Webview
Традиционный дайджест со всеми материалами за неделю - Swift Runtime и производительность iOS-приложений, вопрос на 16К и полный айсберг Android, проектирование интерфейсов по азиатски, 17 платящих клиентов за час из Tinder, реклама на холодильниках и многое другое. Заходите!
Традиционный дайджест со всеми материалами за неделю - Swift Runtime и производительность iOS-приложений, вопрос на 16К и полный айсберг Android, проектирование интерфейсов по азиатски, 17 платящих клиентов за час из Tinder, реклама на холодильниках и многое другое. Заходите!
👍3
iOS
Тестирование на Swift долгие годы держалось на трех китах: XCTest, сторонние библиотеки и собственная смекалка. Но на WWDC 24 Apple представила новый, современный фреймворк — Swift Testing, который предлагает концептуально новый подход к тестированию. Кирилл Гусев из ОК рассказывает о том, какие возможности предоставляет Swift Testing.
• Горизонтальный селектор/слайдер/линейка на SwiftUI
• Foqos — блокировка приложений с помощью NFC-метки или QR-кода
• Пишем видеоплеер под iOS с нуля
• Новые подходы в Swift для тестирования: разбор технологии Swift Testing
• Getting started with the Contacts framework
• Listing contacts with the Contacts framework
• The Hidden Complexity of iOS Audio Engineering: Lessons from the Trenches
• Cancelling async tasks in SwiftUI
• Create an Interactive Snippet Shortcut using App Intents
Тестирование на Swift долгие годы держалось на трех китах: XCTest, сторонние библиотеки и собственная смекалка. Но на WWDC 24 Apple представила новый, современный фреймворк — Swift Testing, который предлагает концептуально новый подход к тестированию. Кирилл Гусев из ОК рассказывает о том, какие возможности предоставляет Swift Testing.
• Горизонтальный селектор/слайдер/линейка на SwiftUI
• Foqos — блокировка приложений с помощью NFC-метки или QR-кода
• Пишем видеоплеер под iOS с нуля
• Новые подходы в Swift для тестирования: разбор технологии Swift Testing
• Getting started with the Contacts framework
• Listing contacts with the Contacts framework
• The Hidden Complexity of iOS Audio Engineering: Lessons from the Trenches
• Cancelling async tasks in SwiftUI
• Create an Interactive Snippet Shortcut using App Intents
Хабр
Новые подходы в Swift для тестирования: разбор технологии Swift Testing
Тестирование на Swift долгие годы держалось на трех китах: XCTest, сторонние библиотеки и собственная смекалка. Но на WWDC 24 Apple представила новый, современный фреймворк — Swift Testing , который...
❤3
Android
Арсений Носов из Яндекса разбирает учебное Android‑приложение WeatherApp с ретро‑пиксельным UI. Автор хвалит модульность и сетевой стек, но показывает много типичных ошибок: дублирование кода, слабая типизация, null‑риски, хардкоды, отсутствие доменного слоя и локализации, неверное место логики и неконфигурируемые кастомные компоненты.
• To Do — ведение дел на Jetpack Compose
• Разбор кода: пиксельная погода на Kotlin
• Проблема при выделении текста в TextView на Android 15+
• Elevating media playback : A deep dive into Media3’s PreloadManager - Part 2
• Clipping and Masking in Jetpack Compose
• Card Corners in Jetpack Compose: Convex, Concave, Cut and Sharp
• How We Built a Full-Fledged Soft Kiosk App on Android
• Running a RAG powered language model on Android using MediaPipe
Арсений Носов из Яндекса разбирает учебное Android‑приложение WeatherApp с ретро‑пиксельным UI. Автор хвалит модульность и сетевой стек, но показывает много типичных ошибок: дублирование кода, слабая типизация, null‑риски, хардкоды, отсутствие доменного слоя и локализации, неверное место логики и неконфигурируемые кастомные компоненты.
• To Do — ведение дел на Jetpack Compose
• Разбор кода: пиксельная погода на Kotlin
• Проблема при выделении текста в TextView на Android 15+
• Elevating media playback : A deep dive into Media3’s PreloadManager - Part 2
• Clipping and Masking in Jetpack Compose
• Card Corners in Jetpack Compose: Convex, Concave, Cut and Sharp
• How We Built a Full-Fledged Soft Kiosk App on Android
• Running a RAG powered language model on Android using MediaPipe
AppTractor
Разбор кода: пиксельная погода на Kotlin
Арсений Носов, Android-разработчик в команде Алисы и Умных устройств, тщательно разбирает код и делится полезными советами по работе с ним.
❤2
Shopify успешно перевел два крупнейших приложения — Shopify Mobile и Shopify Point of Sale (POS) — на новую архитектуру React Native, при этом сохранив еженедельный график релизов и обеспечив работу миллионов продавцов. Миграция затронула сложный код с сотнями экранов и нативных модулей, большим количеством кастомных компонентов и глубокой интеграцией с собственными библиотеками, такими как FlashList. Ключевые результаты: сохранили темп разработки на протяжении всей миграции; не допустили остановки разработки новых фичей; выявили и решили типовые проблемы миграции на большом масштабе. В этой статье они делятся подходом к миграции, ключевыми решениями и уроками, которые в компании извлекли, чтобы другие команды могли воспользоваться опытом.
Разработка
• Офлайн-режим в мобильном приложении: зачем он нужен и как его реализовать
• Какие запросы и куда отправляет MAX
• Indoor-локация без дополнительных датчиков: Wi-Fi как единственный источник данных
• Давайте потестируем Webview
• Сколько кнопок нажимает ваш автотест?
• Язык программирования Gleam — Gleam, Erlang VM, BEAM, Elixir vs Gleam
Маркетинг
• Как разработчики используют локальные ИИ-модели Apple в iOS 26
• Маркетологи в мобайле: Пётр Шапиро (ex-Head of Digital, Делимобиль)
• Samsung начал показывать рекламу на холодильниках
Кроссплатформа
• Как Shopify перевела свои крупнейшие приложения на новую архитектуру React Native
• Compose Multiplatform 1.9.0 Released: Compose Multiplatform for Web Goes Beta
Разработка
• Офлайн-режим в мобильном приложении: зачем он нужен и как его реализовать
• Какие запросы и куда отправляет MAX
• Indoor-локация без дополнительных датчиков: Wi-Fi как единственный источник данных
• Давайте потестируем Webview
• Сколько кнопок нажимает ваш автотест?
• Язык программирования Gleam — Gleam, Erlang VM, BEAM, Elixir vs Gleam
Маркетинг
• Как разработчики используют локальные ИИ-модели Apple в iOS 26
• Маркетологи в мобайле: Пётр Шапиро (ex-Head of Digital, Делимобиль)
• Samsung начал показывать рекламу на холодильниках
Кроссплатформа
• Как Shopify перевела свои крупнейшие приложения на новую архитектуру React Native
• Compose Multiplatform 1.9.0 Released: Compose Multiplatform for Web Goes Beta
Хабр
Как Shopify перевела свои крупнейшие приложения на новую архитектуру React Native
Команда JavaScript for Devs подготовила перевод кейса Shopify о миграции их крупнейших приложений на новую архитектуру React Native. Результат впечатляет: еженедельные релизы...
🤡7👍5❤3👌1
iOS
Докладывают, что Apple переписывает части iOS на Rust. Что это значит? В краткосрочной перспективе не так уж и много. Вы же не запустите Xcode завтра и не обнаружите шаблон «Новый проект на Rust» рядом со SwiftUI. Но в долгосрочной перспективе вы увидите более безопасные фреймворки и повышенную производительность. И если Apple когда-нибудь раскроет API Rust, пусть даже частично, это может открыть двери для совершенно новой волны разработчиков iOS, которые никогда не прикасались к Swift, но любят системное программирование. Представьте себе будущее, в котором часть логики вашего приложения может работать на безопасном и быстром Rust, а пользовательский интерфейс останется на Swift. Как вам такое?
• Разбираемся с existential container в Swift
• Apple is quietly rewriting iOS and it’s not in Swift or Objective-C
• Think You Know iOS? Try Solving These 11 Programming Challenges: Part 1
• F💥cking DynamicProperty, how does it work?
Докладывают, что Apple переписывает части iOS на Rust. Что это значит? В краткосрочной перспективе не так уж и много. Вы же не запустите Xcode завтра и не обнаружите шаблон «Новый проект на Rust» рядом со SwiftUI. Но в долгосрочной перспективе вы увидите более безопасные фреймворки и повышенную производительность. И если Apple когда-нибудь раскроет API Rust, пусть даже частично, это может открыть двери для совершенно новой волны разработчиков iOS, которые никогда не прикасались к Swift, но любят системное программирование. Представьте себе будущее, в котором часть логики вашего приложения может работать на безопасном и быстром Rust, а пользовательский интерфейс останется на Swift. Как вам такое?
• Разбираемся с existential container в Swift
• Apple is quietly rewriting iOS and it’s not in Swift or Objective-C
• Think You Know iOS? Try Solving These 11 Programming Challenges: Part 1
• F💥cking DynamicProperty, how does it work?
Medium
Apple is quietly rewriting iOS and it’s not in Swift or Objective-C
The hidden language shift happening inside Cupertino, why it matters, and what it means for your future apps.
❤4🤔3🤡3🌭1
Android
Геннадий Денисов из Яндекс Браузера днедавно в рамках одного проекта интегрировал С++‑код в мобильное приложение Браузера и в этой статье он делится основными нюансами работы с Java Native Interface (JNI), инструментами для упрощения разработки и подробностями подхода.
• ADB Keep Screen On — включенный экран при работе с ADB
• Гайд по File Templates: как шарить шаблоны с однотипным кодом
• Погружение в JNI: проблемы и решения при взаимодействии между JVM и нативным кодом
• Introducing the Google Play Games Level Up program
• Building a Modern Android Location Manager: From Legacy Approaches to Clean Architecture Excellence
• Android Studio Otter | 2025.2.1 Canary 1 now available
Геннадий Денисов из Яндекс Браузера днедавно в рамках одного проекта интегрировал С++‑код в мобильное приложение Браузера и в этой статье он делится основными нюансами работы с Java Native Interface (JNI), инструментами для упрощения разработки и подробностями подхода.
• ADB Keep Screen On — включенный экран при работе с ADB
• Гайд по File Templates: как шарить шаблоны с однотипным кодом
• Погружение в JNI: проблемы и решения при взаимодействии между JVM и нативным кодом
• Introducing the Google Play Games Level Up program
• Building a Modern Android Location Manager: From Legacy Approaches to Clean Architecture Excellence
• Android Studio Otter | 2025.2.1 Canary 1 now available
Хабр
Погружение в JNI: проблемы и решения при взаимодействии между JVM и нативным кодом
Привет! Меня зовут Геннадий Денисов, я руковожу одной из команд разработки мобильного Яндекс Браузера для Android. Недавно в рамках одного проекта мы интегрировали С++‑код...
❤1
У каждого разработчика иногда ночью возникают безумные мысли. У автора этой статьи она была простой: «Что, если я просто отключу интернет и посмотрю, как поведёт себя приложение?». И он так и сделал. Потянулся за стол, выдернул Ethernet-кабель из роутера и понаблюдал, как мигает маленький индикатор Wi-Fi, как будто всё в порядке. Но моё приложение знало правду. Экран входа мгновенно заблокировался. В ленте новостей не было ничего, кроме бесконечного спиннера. Даже страница настроек не работала — как будто для включения тёмного режима нужен интернет. Вот тут-то он и понял, что приложение на самом деле не было приложением. Оно было просто марионеткой, которой управлял интернет, дергая за все ниточки. А когда ниточки отключили, марионетка рухнула. И он принял решение - переделать приложение так, чтобы оно работало только в offline режиме.
Разработка
• Я заставил мое приложение работать в офлайне — архитектурный сдвиг
• Как небольшая библиотека, которую я создал, помогла мне найти новую работу
• Как приручить бассейн: фильтрация, нагрев и химия без участия человека
Маркетинг
• Как я получил первых 50 пользователей (не потратив ни копейки)
• App Store Optimization: Real-world Best Practices
Кроссплатформа
• Swift Is Going Multiplatform — And That’s Bad News for Kotlin
• Why is Dart Still a Dead Language Outside of Flutter?
Разработка
• Я заставил мое приложение работать в офлайне — архитектурный сдвиг
• Как небольшая библиотека, которую я создал, помогла мне найти новую работу
• Как приручить бассейн: фильтрация, нагрев и химия без участия человека
Маркетинг
• Как я получил первых 50 пользователей (не потратив ни копейки)
• App Store Optimization: Real-world Best Practices
Кроссплатформа
• Swift Is Going Multiplatform — And That’s Bad News for Kotlin
• Why is Dart Still a Dead Language Outside of Flutter?
AppTractor
Я заставил мое приложение работать в офлайне — архитектурный сдвиг
Заставив своё приложение работать офлайн, я понял его истинную сущность.
😁4👍3❤1
Google сообщил, что вносит ряд изменений во внешний вид и функциональность Play Store, чтобы лучше персонализировать магазин для своих пользователей и повысить его вовлеченность.
Поиск с использованием ИИ и новая вкладка «Приложения»
Благодаря функции «Управляемый поиск» (Guided Search) пользователи могут найти нужное приложение или игру, введя цель или идею вместо названия приложения. Например, пользователь может ввести «найти дом», чтобы перейти к приложениям для недвижимости. Вкладка «Приложения» в Play Store также обновляется и включает новые «курируемые пространства», посвящённые сезонным темам и темам, подобранным с учётом интересов пользователя.
Персональное пространство «Вы» (You)
Новая вкладка «Вы» (You) призвана привлечь пользователей к более частому использованию Play Store, предлагая централизованное место для отслеживания подписок, наград (например, баллов Play Points), рекомендаций, статистики и обновлений. В частности, на вкладке будут представлены рекомендации, соответствующие вашим интересам, такие как фильмы или сериалы, подкасты, электронные или аудиокниги, а также упростится возвращение к тому, что вы читали, слушали или смотрели в прошлый раз.
Новая вкладка «Игры» и ИИ-помощник Sidekick
Теперь вкладка «Игры» объединит статистику и достижения, награды и сообщество в одном месте. Однако более интересным обновлением является добавление Play Games Sidekick с поддержкой искусственного интеллекта. Это новый внутриигровой оверлей, к которому можно получить помощь в режиме реального времени от Gemini Live. Идея заключается в том, что вы можете обратиться за помощью к Gemini, если застрянете в игре и нуждаетесь в советах или рекомендациях. Эта функция основана на совместной работе Google и DeepMind, представленной в декабре. В ней компания продемонстрировала разработку ИИ-агентов для различных областей, включая игры. Sidekick также будет собирать и организовывать другую важную игровую информацию в одном месте, чтобы вы могли оставаться в игре. Изначально эта функция будет поддерживаться в играх от EA и Netmarble, включая Star Wars: Galaxy of Heroes, FC Mobile и Solo Leveling: Arise. Также появились улучшенные страницы с подробностями об игре, на которых будет отображаться информация об игре, включая текущие события, новости разработчиков и предложения. В следующем месяце игроки также смогут задавать вопросы и делиться ответами на этой странице, чтобы оказать помощь другим игрокам или получить её.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
iOS
Перевел вчерашнюю статью про Rust в iOS - если вам интересны измышления (вполне здравые), то вот можете прочитать. Собственно, в то, что Apple откроет доступ к Rust верится слабо, но даже если все просто станет стабильнее, то уже хорошо.
• Apple тихо переписывает iOS, и это не Swift или Objective-C
• Memo Notes — приложение для ведения заметок
• Why Every iOS Developer Fails at DSA (And the Roadmap That Fixes Everything)
• Interviewer: “If a Thread Dies, Does the Task Die Too?” — My Spicy Swift Interview Moment
• How I Reduced 50% of My Boilerplate Code in Swift — Everything You Need to Know
• How to hide a view in a screenshot
• Using the Observations framework to observe model properties
• Why Large Swift Projects Hit a Wall (And How to Break Through)
Перевел вчерашнюю статью про Rust в iOS - если вам интересны измышления (вполне здравые), то вот можете прочитать. Собственно, в то, что Apple откроет доступ к Rust верится слабо, но даже если все просто станет стабильнее, то уже хорошо.
• Apple тихо переписывает iOS, и это не Swift или Objective-C
• Memo Notes — приложение для ведения заметок
• Why Every iOS Developer Fails at DSA (And the Roadmap That Fixes Everything)
• Interviewer: “If a Thread Dies, Does the Task Die Too?” — My Spicy Swift Interview Moment
• How I Reduced 50% of My Boilerplate Code in Swift — Everything You Need to Know
• How to hide a view in a screenshot
• Using the Observations framework to observe model properties
• Why Large Swift Projects Hit a Wall (And How to Break Through)
AppTractor
Apple тихо переписывает iOS, и это не Swift или Objective-C
Представьте себе будущее, в котором часть логики вашего приложения может работать на безопасном и быстром Rust, а пользовательский интерфейс останется на Swift.
🤡1
Android
По сути, обработка исключений в корутинах основана на структурированном параллелизме. Представьте себе генеалогическое древо. Если дочерняя корутина завершается с ошибкой, она сообщает об этом родительской. Затем родительская корутина отменяет все остальные дочерние сопрограммы, а затем отменяет сама себя, передавая исключение дальше по дереву. Это гарантирует, что ни одна сопрограмма не будет потеряна или потеряна. В этой статье рассматриваются различные ситуации, с которыми вы можете столкнуться.
• Google обновляет свой Play Store, добавляя ИИ-функции и многое другое
• Firebase Cloud Messaging: A Complete Guide for Android Developers
• Why Kotlin, Jetpack Has Less Job Opportunities As Compared to Flutter and React Native
• Whats new in… AndroidX Text
• Caching Strategies in Android Architecture
• The Golden Rule of Coroutine Exceptions
По сути, обработка исключений в корутинах основана на структурированном параллелизме. Представьте себе генеалогическое древо. Если дочерняя корутина завершается с ошибкой, она сообщает об этом родительской. Затем родительская корутина отменяет все остальные дочерние сопрограммы, а затем отменяет сама себя, передавая исключение дальше по дереву. Это гарантирует, что ни одна сопрограмма не будет потеряна или потеряна. В этой статье рассматриваются различные ситуации, с которыми вы можете столкнуться.
• Google обновляет свой Play Store, добавляя ИИ-функции и многое другое
• Firebase Cloud Messaging: A Complete Guide for Android Developers
• Why Kotlin, Jetpack Has Less Job Opportunities As Compared to Flutter and React Native
• Whats new in… AndroidX Text
• Caching Strategies in Android Architecture
• The Golden Rule of Coroutine Exceptions
Medium
The Golden Rule of Coroutine Exceptions
At its heart, exception handling in coroutines is all about structured concurrency. Think of it like a family tree. If a child coroutine…
👍1
ИИ меняет подход к разработке программного обеспечения, и Kotlin готов к этим изменениям, предоставляя разработчикам возможность создавать приложения на базе ИИ и расширяя возможности разработки с помощью инструментов на базе ИИ. В этой статье рассматриваются оба аспекта: инструменты для разработки приложений на базе ИИ, как от JetBrains, так и от сообщества, а также пути развития Kotlin, направленные на повышение продуктивности разработки за счёт внедрения ИИ-инструментов.
Разработка
• Keeping Secrets Out of Logs
• Practical Terminal Commands Every Developer Should Know
• The Kotlin AI Stack: Build AI Agents With Koog, Code Smarter With Junie, and More
Маркетинг
• Mixboard от Google — ИИ-инструмент для создания мудбордов
• Новое приложение Huxe от разработчиков NotebookLM использует аудио, чтобы помочь вам с новостями и исследованиями
• Indie App Circle
Кроссплатформа
• Как поддержать Flutter в своей Библиотеке. Опыт VK ID SDK
• Server-Driven UI in Compose Multiplatform: contracts, schema-first codegen, partial updates
Разработка
• Keeping Secrets Out of Logs
• Practical Terminal Commands Every Developer Should Know
• The Kotlin AI Stack: Build AI Agents With Koog, Code Smarter With Junie, and More
Маркетинг
• Mixboard от Google — ИИ-инструмент для создания мудбордов
• Новое приложение Huxe от разработчиков NotebookLM использует аудио, чтобы помочь вам с новостями и исследованиями
• Indie App Circle
Кроссплатформа
• Как поддержать Flutter в своей Библиотеке. Опыт VK ID SDK
• Server-Driven UI in Compose Multiplatform: contracts, schema-first codegen, partial updates
The JetBrains Blog
The Kotlin AI Stack: Build AI Agents With Koog, Code Smarter With Junie, and More | The Kotlin Blog
Explore SDKs, Spring AI, MCP, Koog, and Junie – see how Kotlin powers AI apps and enhances your workflow with integrated AI tools.
🤡6👍5❤2
Мобильный рынок Турции растет и выходит на глобальную арену
Adjust представила новый отчёт Mobile App Trends Spotlight Edition: Türkiye 2025.
Исследование показывает, что Турция постепенно превращается в полноценный мобильный хаб региона и усиливает свое влияние на глобальной арене. В первой половине 2025 года установки приложений здесь выросли на 6% по сравнению с прошлым годом, а количество сессий увеличилось на 4%. По прогнозам Statista, к 2029 году выручка мобильного рынка страны достигнет $1,65 млрд.
Рынок Турции интересен тем, что сочетает молодую и вовлеченные аудиторию (более 50% пользователей младше 34 лет), локальные разработки и быстрый рост сегментов, которые во многом задают тон для соседних стран. Для СНГ-рынка этот опыт может быть показательным: многие тенденции, проявляющиеся в Турции, перекликаются с вызовами и возможностями, знакомыми игрокам постсоветского пространства.
Adjust представила новый отчёт Mobile App Trends Spotlight Edition: Türkiye 2025.
Исследование показывает, что Турция постепенно превращается в полноценный мобильный хаб региона и усиливает свое влияние на глобальной арене. В первой половине 2025 года установки приложений здесь выросли на 6% по сравнению с прошлым годом, а количество сессий увеличилось на 4%. По прогнозам Statista, к 2029 году выручка мобильного рынка страны достигнет $1,65 млрд.
Рынок Турции интересен тем, что сочетает молодую и вовлеченные аудиторию (более 50% пользователей младше 34 лет), локальные разработки и быстрый рост сегментов, которые во многом задают тон для соседних стран. Для СНГ-рынка этот опыт может быть показательным: многие тенденции, проявляющиеся в Турции, перекликаются с вызовами и возможностями, знакомыми игрокам постсоветского пространства.
AppTractor
Adjust: мобильный рынок Турции растет и выходит на глобальную арену
Растут игры, финтех и e-commerce: ИИ-приложения становятся главным драйвером.
👍3
Forwarded from AppGrowth - инди, пет, рост и монетизация
Все говорят: «Не делайте для бумеров» — мы сделали (12k MRR)
Новый интересный кейс с Reddit:
Я видел советы: «бумеры* не скачивают приложения» или «они не будут платить за ПО». Это определённо напугало меня, когда я изначально пришёл сюда, чтобы проверить своё приложение для бумеров.
Я всё равно его создал. Приложение для виски и сигар, которое, по сути, медленный Reddit для тех, кто действительно разбирается в теме.
Спустя шесть месяцев мы наблюдаем уверенный рост: ежемесячная выручка (MRR) выросла с ~400 до 12,000.
Наши пользователи с самыми высокими расходами? 55–64 года.
Кажется, я знаю, почему это сработало: эти люди, не моргнув глазом, выкладывают 200 долларов за бутылку бурбона. Они привыкли платить за качество. Twitter/Ins/TikTok их ошеломляют — им хочется рассказывать о своих увлечениях только тем, кто их понимает.
По иронии судьбы, они естественным образом шарят информацию гораздо больше, чем мы ожидали. Оказывается, когда вы создаёте что-то, с чем они действительно хотят ассоциировать себя, они рассказывают о нём своим товарищам по гольфу.
Данные говорят сами за себя — не списывайте эту демографическую группу со счёта для вашего следующего приложения!
* Бумеры - люди, родившиеся в период примерно с 1946 по 1964 годы.
AppGrowth про инди, пет и монетизацию
Новый интересный кейс с Reddit:
Я видел советы: «бумеры* не скачивают приложения» или «они не будут платить за ПО». Это определённо напугало меня, когда я изначально пришёл сюда, чтобы проверить своё приложение для бумеров.
Я всё равно его создал. Приложение для виски и сигар, которое, по сути, медленный Reddit для тех, кто действительно разбирается в теме.
Спустя шесть месяцев мы наблюдаем уверенный рост: ежемесячная выручка (MRR) выросла с ~400 до 12,000.
Наши пользователи с самыми высокими расходами? 55–64 года.
Кажется, я знаю, почему это сработало: эти люди, не моргнув глазом, выкладывают 200 долларов за бутылку бурбона. Они привыкли платить за качество. Twitter/Ins/TikTok их ошеломляют — им хочется рассказывать о своих увлечениях только тем, кто их понимает.
По иронии судьбы, они естественным образом шарят информацию гораздо больше, чем мы ожидали. Оказывается, когда вы создаёте что-то, с чем они действительно хотят ассоциировать себя, они рассказывают о нём своим товарищам по гольфу.
Данные говорят сами за себя — не списывайте эту демографическую группу со счёта для вашего следующего приложения!
* Бумеры - люди, родившиеся в период примерно с 1946 по 1964 годы.
AppGrowth про инди, пет и монетизацию
❤6👍3
iOS
Глава Tuist написал большую статью о том, с какими проблемами сталкиваются большие iOS-проекты - медленная сборка, нестабильное тестирование, сложные графы зависимостей. Говорит ,что стандартные подходы, React Native или Bazel (ну допустим), не работают. А что работает? Конечно, Tuist. По его словам решается все волшебно, но пока не начнешь внедрять - не узнаешь. У кого-нибудь есть опыт перехода на его платформу?
• Почему большие проекты Swift утыкаются в стену (и как пробиться сквозь нее)
• Миграция на SPM: что мы выиграли и что потеряли
• Playback controls for video in a SwiftUI app
• .p8 vs .p12: Stop Giving the Wrong Answer in iOS Interviews
• Why Your Swift Enums Look Amateur (And How to Fix Them in 15 Minutes)
Глава Tuist написал большую статью о том, с какими проблемами сталкиваются большие iOS-проекты - медленная сборка, нестабильное тестирование, сложные графы зависимостей. Говорит ,что стандартные подходы, React Native или Bazel (ну допустим), не работают. А что работает? Конечно, Tuist. По его словам решается все волшебно, но пока не начнешь внедрять - не узнаешь. У кого-нибудь есть опыт перехода на его платформу?
• Почему большие проекты Swift утыкаются в стену (и как пробиться сквозь нее)
• Миграция на SPM: что мы выиграли и что потеряли
• Playback controls for video in a SwiftUI app
• .p8 vs .p12: Stop Giving the Wrong Answer in iOS Interviews
• Why Your Swift Enums Look Amateur (And How to Fix Them in 15 Minutes)
AppTractor
Почему большие проекты Swift утыкаются в стену (и как пробиться сквозь нее)
С большими кодовыми базами Swift трудно работать - медленная сборка, нестабильное тестирование, сложные графы. Мы подробно разберёмся, почему инструментарий Apple испытывает трудности при масштабировании и как команды могут преодолеть эти трудности без React…
❤3😁2
Android
Дискуссии об архитектуре Android часто перерастают в жаркие споры, вызывая и восторг, и резкую критику. Писать на такие темы непросто, и именно поэтому это стоит делать. Как показывает обсуждение в Твиттере, многие разработчики загружают данные в блоке
• Valiutchik — курсы обмена валют в Беларуси
• Загрузка данных во ViewModel: рекомендации и Flow-based архитектура
• The Hidden Dangers of Room Database Performance (And How to Fix Them)
• Exploring 5 Lesser-Known Compose Components
• The Ktor roadmap and previews
• The Future of Android... And How to Prepare For It
Дискуссии об архитектуре Android часто перерастают в жаркие споры, вызывая и восторг, и резкую критику. Писать на такие темы непросто, и именно поэтому это стоит делать. Как показывает обсуждение в Твиттере, многие разработчики загружают данные в блоке
init {} во ViewModel. Хотя подход кажется логичным, у него есть архитектурные недостатки. Автор статьи описал проблемы такого подхода и предложил гибкую альтернативу с использованием Flow.• Valiutchik — курсы обмена валют в Беларуси
• Загрузка данных во ViewModel: рекомендации и Flow-based архитектура
• The Hidden Dangers of Room Database Performance (And How to Fix Them)
• Exploring 5 Lesser-Known Compose Components
• The Ktor roadmap and previews
• The Future of Android... And How to Prepare For It
Хабр
Загрузка данных во ViewModel: рекомендации и Flow-based архитектура
Дискуссии об архитектуре Android часто перерастают в жаркие споры, вызывая и восторг, и резкую критику. Писать на такие темы непросто, и именно поэтому это стоит делать. Эта статья показывает мой...
👌2
В прошлом году, после более чем десяти лет попыток, Qualcomm наконец-то добился успеха с Windows-ноутбуками на базе Arm, поставив Intel и AMD под угрозу и даже вытеснив Intel из Microsoft Surface. Сегодня компания представила второе поколение процессоров - Snapdragon X2 Elite и Snapdragon X2 Elite Extreme. Собственно, касаются они не только ноутбуков на Windows, но и на Android. Hуководители Qualcomm и Google не просто намекнули на появление Android для ПК. Они практически заявили об этом. «Раньше у нас всегда были совершенно разные системы для ПК и смартфонов, и мы приступили к проекту по их объединению», — сказал Остерлох. «Мы вместе создаём общую техническую основу для наших продуктов для ПК и настольных компьютеров». Амон ответил, что уже видел Android для ПК, и назвал новую экспериментальную ОС Android «невероятной». Они не вдавались в подробности о том, когда и как она будет распространяться, но, похоже, ноутбуки на Android скоро станут реальностью.
Разработка
• Qualcomm анонсирует Snapdragon X2 Elite и Extreme для ПК на базе Windows
• Прорывная идея для существенного улучшения жизни незрячих: предложение запустить в массы новый интерфейс
• Hiring only senior engineers is killing companies
Маркетинг
• Adjust: мобильный рынок Турции растет и выходит на глобальную арену
• Все говорят: «Не делайте для бумеров» — мы сделали (12k MRR)
Кроссплатформа
• React Native 0.72 → 0.76: Lessons From the Trenches
Разработка
• Qualcomm анонсирует Snapdragon X2 Elite и Extreme для ПК на базе Windows
• Прорывная идея для существенного улучшения жизни незрячих: предложение запустить в массы новый интерфейс
• Hiring only senior engineers is killing companies
Маркетинг
• Adjust: мобильный рынок Турции растет и выходит на глобальную арену
• Все говорят: «Не делайте для бумеров» — мы сделали (12k MRR)
Кроссплатформа
• React Native 0.72 → 0.76: Lessons From the Trenches
DevNotebooks.ru
Qualcomm анонсирует Snapdragon X2 Elite и Extreme для ПК на базе Windows
Qualcomm характеризует всё это как «легендарный скачок производительности», утверждая, что, в частности, Elite Extreme обеспечивает «до 75% более высокую производительность процессора» по сравнению с конкурентами при той же мощности.
❤2👍2
Forwarded from AppFiles - Mobile Development
•
(iOS En) Code along with the Foundation Models framework•
(iOS En) SwiftUI Pro Components Collection - Build Amazing iOS Apps Faster!•
(iOS En) SwiftUI WebView reloaded: adding a "View Original" feature•
(iOS En) Convert SwiftUI Views into Multi-Page PDF File•
(iOS En) Is MVVM a bad architecture for SwiftUI?•
(iOS En) iOS 26 Custom Menu Using SwiftUI•
(And Ru) Роболектрик-скриншот-тесты на платформе Android•
(And En) Optimize your app battery drain using Android Vitals wake lock metric•
(And En) Threads vs. Kotlin Coroutines vs. Dispatchers•
(And En) Everything About Context Parameters In Kotlin (Super Cool New Feature!)•
(Crs En) Make your UI Beautiful and Adaptive on each platform (Compose Multiplatform•
(Dev Ru) Кто такой сеньор глазами тимлида•
(Dev Ru) Как нейросети обещали ускорить тестирование, а сделали только хуже•
(Dev Ru) Строим продукт на основе AI•
(Dev En) REST API Design for Mobile Apps: A Complete Guide•
(Dev En) Your First AI Agent in Kotlin•
(Dev En) How to Build Advanced AI Agents – Course for Beginners (LiveKit, Exa, LangChain)Прошлогодние видео:
•
(iOS Ru) Ускоряем SwiftUI с Observable•
(iOS Ru) Как укротить виджеты в супераппе?•
(iOS Ru) UICollectionViewLayout с самого начала•
(iOS Ru) UITableView с различными типами ячеек•
(And Ru) Размер имеет значение: как измерить и уменьшить вес Android-приложения•
(And Ru) Установка Android-приложений от доисторических времен до наших дней•
(Crs Ru) React Native перевернул игру•
(Crs Ru) Темная сторона изолятов в Dart•
(Dev Ru) Интероп – неизбежность в больших системах: C и C++, JNI, WinAPIPlease open Telegram to view this post
VIEW IN TELEGRAM
❤1👍1