Mobile Development by AppTractor – Telegram
Mobile Development by AppTractor
11K subscribers
1.85K photos
39 videos
11 files
4.62K links
Цифры, советы и все интересное о разработке мобильных приложений и сервисов. Комментарии и вопросы можно писать прямо @lbogolubov

• Аудитория https://news.1rj.ru/str/apptractor/1066
• Сайт https://apptractor.ru/
Download Telegram
У RevenueCat новый отличный гайд о том, как монетизировать пользователей, не высказывающих намерение к покупке подписки. Если краток, то это одноразовые покупки, предложение краткосрочных планов, что-то вроде reverse trial, очевидная реклама, чаевые, отложенные ограничения и реферальные программы. Надо пробовать.

Разработка

Заработал $5K в прошлом месяце на приложении для переименования файлов. Не секси, но работает.

Маркетинг


7 умных способов монетизировать пользователей с низкой мотивацией
Calm запускает отдельное iOS-приложение для сна
День 0

Кроссплатформа

StepsShare — трекер шагов на Compose Multiplatform
Stop Using MediaQuery in Flutter — It’s Killing Your UI (Do This Instead)
👍42
Почему каждый знакомый мне Senior разработчик планирует уйти

К вопросу о кризисе в IT. Топовая статья с Medium, в которой автор сетует на сложившуюся культуру разработки (обилие совещаний, корпоративный бюрократизм, создание ценности, но не получение денег от нее, технический долг, искусственные ограничения и т.п.) и говорит, что каждый его знакомый Senior планирует уйти с работы.
Senior разработчики — это канарейки в угольной шахте. Следующее десятилетие принадлежит:

• Независимым разработчикам, монетизирующим экспертные знания
• Небольшим командам, создающим специализированные продукты
• Консультантам, решающим конкретные проблемы
• Разработчикам, владеющим своей цепочкой создания стоимости

Традиционной занятости была оптимизирована для индустриальной эпохи — стандартизация, контроль и процессы. Информационная эпоха поощряет креативность, скорость и прямое создание ценности.

Исход не грядет, он уже наступил.

Предлагает несколько выходов, но, кажется, каждый из них достаточно оптимистичный. А вы как планируете продолжать карьеру?
👍4
iOS

Большинство из нас, изучив базовый init() в начале своего пути, на этом и останавливаются. Проблема в том, что такой подход заставляет каждый участок кода, создающий объект, знать слишком много о его внутренней структуре. В результате логика инициализации разбросана по всему проекту, код становится хрупким, а его поддержка усложняется. К счастью, система инициализации в Swift предлагает куда более мощные инструменты: пользовательские и вспомогательные инициализаторы. Вместо одного громоздкого init вы можете определить несколько кастомных инициализаторов, каждый из которых решает свою задачу: один для создания нового пользователя со значениями по умолчанию, другой — для разбора данных из JSON, а третий — специально для тестов. Вспомогательные инициализаторы (convenience initializers) идут ещё дальше, позволяя выстраивать гибкие цепочки конфигураций (например, для продакшена, разработки или тестов), которые в итоге вызывают один основной («designated») инициализатор. Такой подход не только делает код чище и семантичнее, но и кардинально упрощает тестирование, позволяя легко подменять зависимости и открывая дорогу к продвинутым паттернам, таким как Builder. В итоге объекты становятся проще в использовании, тестировании и поддержке.

ImmutableData — простое управление состояниями для SwiftUI
This One Swift Feature Will Change How You Write Code Forever
Swift 6.3 Unveiled: Why This Update is More Than Just a Dot Release for iOS
SwiftUI: Horizontal Dial Picker / Slider/ Ruler
How to use [weak self] in Swift Concurrency Tasks?
1
Android

Сегодня вам предстоит увлекательное путешествие по стыку технологий, кода и технических решений, которые и расскажут вам то, о чем адепты съемки мобильного RAW‑видео предпочитают не говорить. А именно о том, что эффективная съемка RAW‑видео на Андроид на сегодняшний день невозможна без "костылей" и ухищрений.

Андроид всё еще не готов к RAW-видео
Model View State Machine: MVS
MVS series: Building the State Machine
I Forced My App To Work Offline Only. Here’s the Architecture Shift That Happened
Avoiding Memory Leaks in Android: Best Practices for Developers
У компании, которую нельзя называть, вышли новые очки. Самые прикольные - Ray-Ban Display, они оснащены полноцветным экраном высокого разрешения в правой линзе, который можно использовать для просмотра сообщений, совершения видеозвонков, чтения субтитров в режиме реального времени, просмотра маршрутов и предварительного просмотра фотографий, которые вы можете сделать с помощью встроенной 12-мегапиксельной камеры. Дисплеем можно управлять с помощью браслета, скролируя экран, нажимая на кнопки и, наконец, набирая сообщения, используя различные жесты. Очки обеспечивают до шести часов работы от аккумулятора в смешанном режиме или до 30 часов при использовании складного зарядного футляра. Цена - от 799 долларов. Вторые по крутизне - Oakley Vanguard. Они отличаются обтекаемым дизайном, защитой от воды и пыли IP67, а также интеграцией с фитнес-приложениями, такими как Garmin и Strava, что позволяет вам задавать ИИ вопросы о ваших фитнес-данных и статистике. Кроме того, очки Vanguard оснащены 12-мегапиксельной камерой с углом обзора 122 градуса на переносице, которая позволяет записывать видео с разрешением до 3K и поддерживает новые режимы съёмки, такие как замедленная съёмка, покадровая съёмка и гиперлапс. Среди других отличительных особенностей — улучшенные динамики и до девяти часов автономной работы. Эти будут стоить 499 долларов. В общем, кажется, у компании, которую нельзя называть, кажется наконец-то получились красивые и функциональные очки. Пора писать приложения для них.

Разработка

Почему каждый знакомый мне Senior разработчик планирует уйти
M*** представила новые умные очки
Wasm 3.0 Completed

Маркетинг

Как заработать первые 1000 долларов на мобильном приложении за 8 простых шагов
Airbuds — это музыкальная социальная сеть, которую Apple и Spotify хотели бы создать

Кроссплатформа

Как создать собственный RenderObject
И ещё немного про то, что const в Dart надо ставить где попало
Google’s strategy: Kotlin and Flutter side by side? What’s the real long-term play?
Please open Telegram to view this post
VIEW IN TELEGRAM
Как заработать на Webview

Традиционный дайджест со всеми материалами за неделю - 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
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
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
🤡7👍53👌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?
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
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?
😁4👍31
🤖 Google обновляет свой Play Store, добавляя ИИ-функции и многое другое

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
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
👍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
🤡6👍52
Мобильный рынок Турции растет и выходит на глобальную арену

Adjust представила новый отчёт Mobile App Trends Spotlight Edition: Türkiye 2025.

Исследование показывает, что Турция постепенно превращается в полноценный мобильный хаб региона и усиливает свое влияние на глобальной арене. В первой половине 2025 года установки приложений здесь выросли на 6% по сравнению с прошлым годом, а количество сессий увеличилось на 4%. По прогнозам Statista, к 2029 году выручка мобильного рынка страны достигнет $1,65 млрд.

Рынок Турции интересен тем, что сочетает молодую и вовлеченные аудиторию (более 50% пользователей младше 34 лет), локальные разработки и быстрый рост сегментов, которые во многом задают тон для соседних стран. Для СНГ-рынка этот опыт может быть показательным: многие тенденции, проявляющиеся в Турции, перекликаются с вызовами и возможностями, знакомыми игрокам постсоветского пространства.
👍3
Все говорят: «Не делайте для бумеров» — мы сделали (12k MRR)

Новый интересный кейс с Reddit:

Я видел советы: «бумеры* не скачивают приложения» или «они не будут платить за ПО». Это определённо напугало меня, когда я изначально пришёл сюда, чтобы проверить своё приложение для бумеров.

Я всё равно его создал. Приложение для виски и сигар, которое, по сути, медленный Reddit для тех, кто действительно разбирается в теме.

Спустя шесть месяцев мы наблюдаем уверенный рост: ежемесячная выручка (MRR) выросла с ~400 до 12,000.

Наши пользователи с самыми высокими расходами? 55–64 года.

Кажется, я знаю, почему это сработало: эти люди, не моргнув глазом, выкладывают 200 долларов за бутылку бурбона. Они привыкли платить за качество. Twitter/Ins/TikTok их ошеломляют — им хочется рассказывать о своих увлечениях только тем, кто их понимает.

По иронии судьбы, они естественным образом шарят информацию гораздо больше, чем мы ожидали. Оказывается, когда вы создаёте что-то, с чем они действительно хотят ассоциировать себя, они рассказывают о нём своим товарищам по гольфу.

Данные говорят сами за себя — не списывайте эту демографическую группу со счёта для вашего следующего приложения!

* Бумеры - люди, родившиеся в период примерно с 1946 по 1964 годы.

AppGrowth про инди, пет и монетизацию
6👍3