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

• Аудитория https://t.me/apptractor/1066
• Сайт https://apptractor.ru/
Download Telegram
iOS

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

Стриминг изменений с помощью Observations
AsyncGraphics — редактирование изображений и видео с Swift Concurrency и Metal
High Performance SwiftData Apps
SwiftUI for Mac 2025
Ways SwiftData’s ModelContainer Can Error on Creation
How to use the @available attribute in Swift
Using the FoundationModels Framework for Streaming from external LLM providers
👍2
iOS

Уже есть немало статей об опыте перехода на Swift Package Manager — успешных и не очень. У автора переезд прошел удачно, но на каждом шагу возникали проблемы, которые было сложно нагуглить или вообще найти решения. Поэтому он решил собрать все накопленные знания и поделиться ими в этой статье, надеясь, что другие разработчики сэкономят кучу времени.

Игра в SPM
Global actor in Swift Concurrency explained with code examples
SwiftUI Component Architecture Mastery: Professional Styling, Testing & Performance
A SwiftData alternative with SQLite + CloudKit: Public beta
👍32
Android

Появление retain в Compose Runtime стало важным шагом к тому, чтобы сделать Compose самостоятельной UI-системой. Этот механизм закрывает разрыв между краткоживущим состоянием и длительным хранением в памяти, позволяя сохранять значения при переходах, не выходя за пределы composable-мирa. Будь то сложная навигация, обработка конфигурационных изменений или управление временным UI-состоянием — retain предлагает новый многообещающий механизм восстановления состояния за пределами композиции непосредственно в рамках Compose Runtime.

Первый взгляд на retain{}: новый способ сохранения состояния в Jetpack Compose
Flocon — отладка и проверка Android-приложений
Swipe to Pay, или Как мы переписали слайдер оплаты на Compose
Kotlin DSL: What’s New?
Top 10 Must-Know Kotlin Extension Functions: Turn Jetpack Compose Code from Mundane to Magical
Jetpack Compose Offline-First Architectures
How I Made My Own ScrollBar in Android Compose (With Drag Support!)
The Magic Behind Retrofit: How a Simple Interface Becomes Your API Gateway
👍3
OpenMind разрабатывает программную среду OM1 для гуманоидных роботов, которая выполняет функции операционной системы. Компания сравнивает себя с Android для робототехники, поскольку её программное обеспечение открыто и не зависит от оборудования. Так что если вы хотите первыми открыть новую среду и экономику - посмотрите на OM1, возможно это и правда "Android будущего" 🤖

Разработка

OpenMind хочет стать Android для роботов
«Чёрное зеркало» в реальности: как мы сделали приложение будущего
You Have Too Many Metrics

Маркетинг

Самые скачиваемые и зарабатывающие приложения в России в июле 2025
Stories в ecommerce-приложениях: как привычный формат соцсетей увеличивает продажи

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

Опенсорсим yx_state — свой State Management для Flutter
Dynamic Loading in a Clean Architecture KMM Engine
Beyond print(): Levelling Up Your Flutter Logging
👍5
🤥 У вас слишком много метрик

Золотое правило метрик: любая метрика должна напрямую приводить к действиям, если выходит за рамки нормы. Если вы не реагируете на изменения — вы зря тратите время и ресурсы на сбор и поддержку этих данных.

Почему это важно:

• Настроить и поддерживать каждую метрику — затратно
• Метрика, не ведущая к решениям, — просто красивая картинка

Что делать?

1. Выбирайте только самые существенные метрики. Лучше 2–3, но работающих.
2. Регулярно проверяйте их корректность. Метрика «гниёт», если ей не заниматься.
3. Ясно формулируйте ожидания и пороги: когда стоит беспокоиться? На сколько % должно скакнуть значение, чтобы бить тревогу?
4. Обеспечьте действия. Если метрика вышла за пределы — делайте что-то, а не откладывайте в папку «обсудим потом».

Когда вы в последний раз меняли что-то в продукте или бизнес-процессах, опираясь именно на метрики? Если не вспомните — возможно, ваши метрики не работают на вас. И вообще, сколько метрик вы отслеживаете для вашего продукта?
Please open Telegram to view this post
VIEW IN TELEGRAM
👍42
Сколько метрик вы отслеживаете для каждого приложения?
Anonymous Poll
12%
1-3
11%
4-6
4%
7-10
30%
Больше 10
22%
Вообще ничего не отслеживаем
21%
Посмотреть
iOS

Если бы SwiftUI был парком развлечений, навигация была бы домом с привидениями — сначала захватывающе, но быстро понимаешь, что не знаешь, как из него выбраться. Apple подарила нам NavigationView, а затем деликатно похлопала по плечу, выпустив новенький блестящий NavigationStack. Добавьте NavigationPath, onOpenURL и всеми любимый загадочный ящик — диплинкинг — и теперь даже опытные iOS-разработчики выглядят как тот мем с парнем, вокруг которого парят математические уравнения. Но не волнуйтесь. Создаёте ли вы простое приложение с несколькими экранами или проектируете динамический поток с URL-адресами и кастомными типами данных, в SwiftUI действительно можно сделать простую навигацию. Как только вы разберётесь с инструментами (и будете знать, когда с ними не стоит бороться), всё станет на свои места.

Распутываем навигацию SwiftUI
Meetingnotes — ведение заметок на совещаниях с ИИ
Как я сделал универсальный Skeleton‑View с shimmer‑эффектом в SwiftUI
Flipkart iOS Developer Interview (With Questions & DSA Challenges)
@ViewConfigurable — A better way to build SwiftUI components
SwiftUI: Blur Card UI
Swift 6: Sendable, @unchecked Sendable, @Sendable, sending and nonsending
Build, run and debug iOS and Mac apps in Zed instead of Xcode
👍21
Android

Автор статьи честно рассказывает о самом тревожном моменте своей карьеры: его приложение для чтения новостей внезапно стало причиной массовых сбоев — программа захватывала огромные объёмы памяти (400+ МБ), из-за чего тысячи телефонов по всему миру начали зависать и перезагружаться. Всё началось ночью с лавины негативных отзывов и экстренных сообщений от пользователей и коллег: Android-система принудительно завершала работу приложения из-за исчерпания памяти, а у некоторых смартфоны и вовсе становились практически нерабочими.

The Day My Android App Nearly Killed Every User’s Phone (And How I Fixed It)
SOLID Principles for Beginners with Kotlin
LayoutNode: What Actually Happens When You Write @Composable

Поставьте 👍, если хотите эту статью на русском!
👍11
Microsoft уже выпустила несколько обучающих курсов по ИИ, таких как AI Agents for Beginners, Copilot Adventures и Generative AI for Beginners. В этом курсе "Генеративный ИИ для начинающих с JavaScript", размещенном на GitHub, вы научитесь создавать приложения GenAI с использованием JavaScript.

Разработка

Курс «Генеративный ИИ для начинающих с JavaScript» от Microsoft
У вас слишком много метрик
Top UI/UX trends to watch in 2026
AI vs Technical Debt: Is This A Race to the Bottom?
Building a crash report automation for iOS and Android

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

Fix that Google Fonts glitch in Flutter apps
1
🤖 С мест докладывают, что только что презентованная GPT-5 (вот страница для разработчиков) стала самой умной моделью, когда-либо созданной OpenAI. По впечатлениям, намного опережает царивший ранее в коде Claude. Пишут, что станет доступна сегодня,причем даже на бесплатном тарифе. Так что завтра попробуем.

Разработка

How I never forget anything as a staff software engineer

Маркетинг

$10 тыс. MRR: вот что сработало, а что нет
Tinder готовит редизайн и новые фичи для увеличения вовлеченности
LTV для инди-проектов: как считать пожизненную ценность игрока при малой аудитории
I made a $100K iOS App. Apple took 30%. The Rest Went to Bugs and Burnout.
Casual Games Report H1 2025: Three Genres Generating 80% of Revenue

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


Базовый Dart (Часть №1)
Kick: Kotlin Inspection & Control Kit — единый модульный инструмент отладки прямо в приложении
How to Use Firebase Database Rules with Flutter: Test vs Production (with Sample Code and Rules)
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍5
📺 Видео и подкасты за неделю на @AppFiles

(iOS En) How to support iOS 26 without breaking glass
(iOS En) What's New in Xcode 26
(iOS En) iOS 26 Concentric Rectangle
(And En) Multimodal Gemini in Android Studio: AI-powered UI development
(And En) Now in Android: 120 – Android Canaries, Agentic AI, 16 KB page size requirements, and more
(And En) Consume a Runtime-Enabled SDK
(And En) Getting your Gradle setup right, at the right time
(And En) Context-sensitive resolution in Kotlin 2.2
(And En) Code like a Senior Dev with Firebender – Android Studio AI Plugin
(And En) Gradle Tutorial - Shared Build Logic
(Crs En) Swift Export - A Peek Under the Hood
(Dev Ru) Кэширование для мобильных приложений: кому, зачем, когда?
(Dev Ru) Локализация приложения глазами переводчика
(Dev Ru) AI меняет всё: инсайды от Яндекса и Дзена
(Dev Ru) Математика в основе ИИ — матрицы, тензоры, deep learning
(Dev En) How to Build Scalable AI Agents with Kotlin, Ktor & Koog
(Dev En) Google Cloud Associate Cloud Engineer Course [2025]

Прошлогодние видео:

(iOS Ru) Combine с нуля — реактивщина это просто
(Dev Ru) Тулкиты кодогенерации Android vs iOS
(Dev Ru) Ускоряем карьерный рост в FAANG
(Dev Ru) Алгоритмы — самый провальный этап собеседований (+ все собеседования)
Please open Telegram to view this post
VIEW IN TELEGRAM
Игра в Skeleton-View

В новом дайджесте распутываем навигацию SwiftUI и переписываем слайдер оплаты на Compose, играем в SPM и делаем свой State Management для Flutter, реализуем «Чёрное зеркало» в реальности, решаем задачи коммивояжера, открываем Android для роботов и многое другое. Заходите!
👍4
🤖 Cтартапы в сфере ИИ-программирования не имеют прибыли

Инсайдеры рассказали TechCrunch, что, несмотря на всю популярность и ажиотаж вокруг ИИ-помощников для программирования, они на самом деле могут быть очень убыточными. У сервисов вайб-программирования могут быть настолько большие издержки, что их валовая прибыль «очень негативная».

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

Самый простой путь к повышению рентабельности — это создание стартапами собственных моделей. Однако и "эта идея сопряжена с рисками". Так, Windsurf в конечном итоге отказался от разработки собственной модели. Кроме того, производители моделей уже конкурируют напрямую со стартапами, которые используют их как базу. Например, Anthropic предлагает Claude Code, а OpenAI — Codex.

Многие считают, что такое же давление на маржу, с которым столкнулась Windsurf, может повлиять на Anysphere, разработчика Cursor, а также на таких разработчиков, как Lovable, Replit и другие. «Рентабельность всех продуктов генерации кода либо нейтральна, либо отрицательна. Она просто катастрофическая», — заявил Николас Шарьер, основатель Mocha, стартапа, занимающегося вайб-кодингом.

Возникает вопрос - мы уже пережили золотую эпоху вайб-кодинга со стоимостью ИИ-помощников в 20 долларов в месяц? Когда компании будут вынуждены повысить цены?
Please open Telegram to view this post
VIEW IN TELEGRAM
💅6👍3🍌1
iOS

Apple безоговорочно выиграла мобильную революцию. С мая 2008 года акции компании выросли более чем на 3000% и сейчас компания стоит 3.33 триллиона долларов. Однако началась новая технологическая революция. Генеративный искусственный интеллект радикально меняет отрасль, и некоторые на Уолл-стрит опасаются, что Apple, возможно, переживает свой собственный «момент BlackBerry». В то время как конкуренты, такие как OpenAI, Microsoft, Google, Meta и Amazon, стремительно продвигаются вперед в области инноваций в области ИИ, Айвз говорит, что Apple «сидит на скамейке в парке и пьет лимонад», наблюдая за происходящим, а не вступая в гонку.

«Момент BlackBerry» для Apple
Код, который не тормозит: секреты производительности на iOS
Open SwiftUI Animations — коллекция анимаций SwiftUI
Adapt Unidirectional Flow Virtues to Your Plain SwiftUI App
@ViewConfigurable — A better way to build SwiftUI components
Assembler for Swift developers
Avoid SwiftUI Mistake with ViewModels
👍31💅1
Microsoft объединяет GitHub со своей командой CoreAI после отставки генерального директора GitHub Томаса Домке. Домке покидает GitHub, чтобы «снова стать основателем стартапа» и исследовать возможности за пределами Microsoft и GitHub. GitHub функционировал как отдельная компания с момента приобретения Microsoft в 2018 году, но уход Домке — это часть серьёзных изменений в работе GitHub. Microsoft не заменяет Домке на посту генерального директора, и GitHub теперь будет полностью частью Microsoft, а не будет работать как отдельная организация.

Разработка

GitHub больше не является независимым в Microsoft после отставки генерального директора
Кэширование для мобильных приложений: кому, зачем, когда?
Локализация приложения глазами переводчика
AI меняет всё: инсайды от Яндекса и Дзена
Математика в основе ИИ — матрицы, тензоры, deep learning
Высокие издержки и низкая маржа угрожают стартапам в сфере ИИ-программирования
The current state of LLM-driven development

Маркетинг

Я сделал $100K на iOS-приложении. Apple забрала 30%. Остальное ушло на исправление ошибок и выгорание.
Эмоциональные триггеры AHA-момента: почему вау-эффект важен для приложений
ИИ и умный таргетинг меняют поведение пользователей в шопинг-приложениях — отчёт Adjust за 2025 год
Приложение Tea неплохо заработало на скандале

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

React Native + RxDB: как сделать Local-First приложение, которое не сдохнет без связи
7 Signs You’re Not a Flutter Expert Yet
👍42
Илон Маск грозится подать в суд на Apple за поддержку OpenAI в рейтингах App Store

В прошлом месяце xAI выпустила Grok 4, свою новейшую большую языковую модель, обещающую значительный прирост производительности по сравнению с ведущими конкурентами. С тех пор компания также внедрила такие функции, как Grok Imagine, генератор изображений и видео, а также сделала настраиваемых чат-ботов-компаньонов.

За этот период, согласно данным AppFigures, приложение Grok поднялось примерно с 60-го на 29-е место в общем рейтинге App Store на прошлой неделе.

Ранее сегодня xAI сделала Grok 4 бесплатным для пользователей по всему миру, что помогло приложению подняться на пятое место в общем рейтинге App Store и на второе место в категории «Производительность». Тем не менее, этого оказалось недостаточно, чтобы обогнать ChatGPT от OpenAI, который большую часть года находился на вершине рейтинга Apple или близок к ней.

В течение прошлого года Apple также неоднократно упоминала ChatGPT в своих редакционных материалах в App Store. Что ещё более важно, компания сотрудничала с OpenAI в рамках нового проекта Apple Intelligence.

За несколько часов до угрозы судебного иска Маск опубликовал этот пост, в котором спросил Apple, почему компания «отказывается добавлять 𝕏 или Grok в раздел «Must Have», когда 𝕏 — новостное приложение №1 в мире, а Grok — №5 среди всех приложений». В своем посте он цитировал аккаунт фаната Tesla, утверждая, что «народ» высказался, и что 𝕏 стало лучшим новостным приложением в США. После этого он и перешел к судебным угрозам.

Маск уже не раз угрожал судебными исками, но не всегда подавал их, поэтому пока неясно, несёт ли сегодняшний пост хоть какой-то смысл. Пока же нам придётся подождать и посмотреть, предложит ли он более подробную информацию или же xAI действительно подаст иск в ближайшие дни.
🤡10👍7🤔1