Обновить

Мобильная разработка

Сначала показывать
Порог рейтинга
Уровень сложности

Google убивает независимый Android. Обращение и 19 аргументов против насильной регистрации разработчиков

Уровень сложностиПростой
Время на прочтение13 мин
Охват и читатели13K

https://keepandroidopen.org/ru/
https://keepandroidopen.org/open-letter/
https://www.change.org/p/stop-google-from-limiting-apk-file-usage?recruiter=1370041382&recruited_by_id=fddec6e0-0e30-11f0-a55d-cd0eb0fd0ac4

upd: добавил аудио-версию.

Уважаемая команда Google и руководство Android, я пишу вам не как случайный пользователь, а как человек, который уже больше 15 лет выбирает Android именно потому, что он был открытой платформой. Платформой, которая отличалась от яблочной тюрьмы iOS тем, что не требовала разрешения корпорации, чтобы я мог установить любое приложение, помочь другу с установкой или поддержать независимый проект. Сегодня я вынужден выразить глубокое разочарование, граничащее с чувством предательства.

С сентября 2026 года вы вводите обязательную централизованную регистрацию разработчиков для всего распространения приложений на Android — даже вне Google Play. Чтобы установить приложение через сайт, APK-файл, альтернативный магазин или просто передать его другу, разработчик должен:

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

Иначе приложение просто не установится на сертифицированных устройствах. Это не «улучшение безопасности». Это радикальная смена модели Android с открытой на закрытую.

Читать далее

Халява уходит из разработки Агентов

Уровень сложностиСредний
Время на прочтение19 мин
Охват и читатели11K

Сегодня каждый норовит написать универсального агента и объявить это революцией. Рынок переполнен поделками вроде OpenClaw и его клонов: IronClaw, ZeroClaw, MicroClaw, NullClaw, GitClaw, AstrBot, GripAi, Moltis...

Все идут одной и той же дорогой: используют готовые MCP и дают агентам shell-оболочку. Да, это легко собрать. Да, весело. Можно хайпануть в соцсетях. Но это тупиковый путь.

В статье разберем все грехи status quo и предложим другой подход, более требовательный к компетенциям в области разработки ПО.

Читать далее

Прямая трансляция во Flutter через WebCodecs: как пришлось написать свой декодер

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели5.5K

Когда live-видео приходит как сырой H.264 поток через WebSocket, стандартные Flutter-плееры перестают работать.

В этой статье я разбираю, почему готовые решения не подошли и как я пришёл к необходимости реализации собственного декодера на C++ с использованием FFmpeg.

Читать далее

Мобильная разработка за неделю #623 (10 — 15 марта)

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели6.6K

В этом дайджесте приложение без MVC или MVVM, починка анимации в LazyColumn и эффект размытия движения для вращающегося колеса, 20 приложений за 20 дней, отчет о приложения с подпиской 2026 от RevenueCat, Code Review для проверки ИИ-кода и многое другое. Заходите!

Читать далее

Эволюция пушей: как мы превратили полезный инструмент в цифровой абьюз и почему гранулярность — наш единственный выход

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели5.5K

Помните времена, когда пуш-уведомление реально что-то значило? Телефон вибрировал, и ты точно знал: случилось что-то важное. Такси подъехало. Деньги списались. Начальник написал что-то срочное (ладно, обычно не срочное, но хотя бы по делу).

Это был 2016 год.

На дворе 2026-й. Шторка уведомлений среднего пользователя превратилась в мусорный бак, куда маркетологи сбрасывают свои KPI с маниакальным упорством.

Мы умудрились взять гениально простой инструмент доставки ценности и превратить его в систему психологического давления. Давайте разберем, где конкретно мы свернули не туда, и как разработчику не участвовать в этом цирке с конями.

Продолжим

Рекап, он же wrapped — что это и делать ли в своём приложении

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели5.8K

Тем, кто всё ещё не убрал ёлку, посвящается. 

Праздник давно прошёл, а годовая статистика осталась. В статье расскажу, как мы делаем рекапы — итоги года юзера в приложении с новогодним визуалом. Будут Единороги, Олени и немного дедлайнов чудес.

Читать далее

Создание приложения .NET MAUI с SKSL-шейдерами и аудиообработкой в реальном времени

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели5.1K

Создание .NET приложения для аудиообработки с привлекательными SKSL-шейдерами

Давайте создадим симпатичное приложение для Android, iOS, MacCatalyst и Windows, которое будет рисоваться на холстике как Flutter, а писать мы будем на C#, как максимум - отвлечемся на синтаксис шейдеров SKSL от Гугла. Забудем, все, что мы слышали про .NET MAUI и начнем творить на Skia холсте..

Читать далее

Как я пытался чинить анимацию в Jetpack Compose LazyColumn

Уровень сложностиСредний
Время на прочтение14 мин
Охват и читатели8.9K

Привет, Хабр! Я Витя Строеску, последние пять лет в свободное от отдыха время занимаюсь разработкой под Android, три из которых — в команде мобильного оператора Т-Мобайл.

Поделюсь с вами опытом попытки конфигурации анимаций для айтемов у Compose LazyColumn. Мы переписывали наш главный экран с XML+View на Jetpack Compose, который состоит из списка с различного рода сложности айтемами.

В статье разберем, почему возникает рассинхрон, как устроен механизм анимаций внутри LazyColumn, почему кастомный animateItem обречен с самого начала и к какому решению мы пришли в итоге.

Читать далее

Повторный вход в акторы в Swift

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели5.1K

Акторы в Swift решают проблему гонок данных. Cам по себе актор гарантирует, что к его состоянию обращается только одна задача одновременно. Никаких мьютексов, семафоров, очередей — компилятор сам следит.

Звучит неплохо. Но есть подвох, и он называется повторный вход (reentrancy). Актор защищает от одновременного доступа, но не защищает от того, что состояние изменится между двумя вашими обращениями к нему.

Читать далее

Рецензия на книгу «Котлин. Краткий курс»

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели6.6K

Оригинал книги «Kotlin Crash Course: Fast-track your programming skills with practical experience» вышел в июне 2024 года от автора с серьезным опытом в крупной разработке. Русское издание «Котлин. Краткий курс» выходит в марте 2026, и в настоящий момент это самое свежее руководство по Kotlin на русском языке. В предисловии читателям обещают «быстрое погружение», но если открыть оглавление, становится понятно, что предстоит осилить около 600 страниц довольно плотного и структурированного материала. В рецензии разберем, что внутри, кому эта книга подойдет и насколько она остается актуальной к марту 2026 года.

Читать далее

Как реализовать WebSocket на Android и не сойти с ума

Уровень сложностиСредний
Время на прочтение14 мин
Охват и читатели7.2K

Как часто вы слышите что-то о протоколе WebSocket? А как часто видели его в проектах? Продакшн? Андроид? Что? Его кто-то использует?

А теперь представьте, что перед вами стоит задача внедрить WS в крупный продакшн проект с нуля. С чего начать? Как подступиться?

Читать далее

Как я перестал верстать чеки в коде и написал визуальный редактор шаблонов для Flutter

Уровень сложностиПростой
Время на прочтение2 мин
Охват и читатели5.9K

Я решил, что хватит это терпеть, и написал pdf_kit_editor — визуальный конструктор, который отделяет дизайн документа от данных.

Читать далее

Пользователь уходит из приложения: рынок забирают API, данные и ИИ-агенты

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели5.5K

Худшая новость для многих SaaS‑команд в ближайшие годы (думаю, уже в этом году заметим) пользователь может перестать пользоваться вашим приложением, но продолжить пользоваться вашим сервисом.

Еще недавно цифровой продукт был устроен предельно понятно. Компания делала приложение, проводила продуктовые исследования, проектировала пользовательские сценарии, раскладывала кнопки, экраны, роли и ограничения. А пользователь либо принимал эту логику, либо уходил.

То есть сама модель была такой:
«Вот наш интерфейс. Вот наш сценарий. Пользуйтесь так, как мы задумали».

Эта модель не исчезнет завтра. Да и на текущий момент она устраивает болшинство пользователей, благодаря сформировавшейся десятилетиями потребительской привычке «используй что дают». Но именно сейчас она начинает терять монополию, потому что между пользователем и сервисом появился новый слой – агенты. Не просто чат-боты, которые подсказывают, а инструменты, которые уже умеют искать данные, ходить по сайтам, нажимать кнопки, связывать сервисы между собой и выполнять цепочки действий. OpenAI вывела Operator как браузерного агента, Anthropic продвигает Computer use и MCP, Microsoft на Build 2025 прямо говорит об open agentic web, а OpenAI отдельно документирует работу с remote MCP servers и коннекторами для доступа к внешним сервисам. 

И вот здесь начинается главное изменение – раньше продуктом был интерфейс, теперь продукт всё чаще смещается в три других слоя:

Читать далее

Ближайшие события

Почему я решила создать мобильное приложение для здоровья и во сколько мне это обошлось

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели5.2K

Идея сделать мобильное приложение у меня была давно. Это была своего рода идея фикс – решить свою собственную рабочую боль. Боль малоподвижности в течение рабочего дня.

С возрастом я стала замечать, что режим «не спать ночами, где-то гулять, а потом с утра бахнуть стаканчик кофе и продолжать работать как ни в чём не бывало» больше не работает. После 30 лет тело стало очень быстро напоминать о себе.

Если я плохо поспала или недостаточно двигалась несколько дней подряд, энергия падала стремительно. Уже после обеда я начинала думать о том, как дожить до вечера. А после понедельника – как дожить до выходных. Качество жизни стало от этого страдать.

Если в твоей жизни есть что-то кроме работы, то на это часто просто не остаётся сил. В лучшем случае хватает ресурса только на работу. В худшем – не хватает даже на неё, и приходится дотягивать на морально-волевых и кофе. К вечеру состояние «ватки»: диван, сериал, чипсы – и это весь дофамин, на который остаются силы и желание. 

А если к этому добавляется еще и выгорание, как было в моем случае, то состояние энергичности вообще становится забытым явлением, а каждый день похож на уговоры самой себя хотя бы что-то сделать.

Читать далее

Мобильная разработка за неделю #622 (2 — 9 марта)

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели6.1K

В новом выпуске замена циклов рекурсией и Android на десктопах, нарезание Android-монолита и промпт-контракты, снижение комиссии в Play Store, потери органики и что с этим делать, скрытый bottleneck сборок и многое другое. Заходите!

Читать далее

Asset Catalog – скрытый bottleneck сборки iOS. Разбираемся, как распараллелить компиляцию Asset’ов

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели7.4K

2026 год. У вас 8–16 ядер в ноутбуке. M-чипы летают.

Swift компилируется параллельно.

Вы нажимаете ⌘B – и одно ядро уныло крутится на 100% загрузки, пока остальные отдыхают.

Добро пожаловать в мир однопоточной компиляции Asset Catalog’а.

В этой статье я покажу, почему Asset Catalog тормозит сборку и как заставить Xcode использовать больше ядер CPU. Пошагово и с примерами.

Читать далее

CustDev с учительским рентгеном. Как я валидировала ответы родителей для своего продукта

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели4.5K

О чем речь?

Мы с командой офтальмологов разрабатываем систему для прогнозирования и сдерживания прогрессирования детской миопии на клинических и поведенческих факторах. В этом процессе всегда три стороны — врач, родитель и ребёнок — поэтому дальше будет продуктовый разбор пути “врач–родитель–ребёнок” и того, где он ломается в реальной жизни.

Начну с простого. Класс все помнят что такое CustDev? А что он может привести к социально значимым ответам?!

Custdev — это метод проверки гипотез, который позволяет выявить потребности и запросы целевой аудитории вашего продукта. Главная задача метода — понять, как человек решает свою задачу сейчас, что его бесит, какие решения он уже пробовал.

Но есть одна проблема, с которой сталкиваешься, как только начинаешь «кастдевить» родителей по вопросам здоровья их детей — социально желательные ответы. Т.е. люди часто рассказывают не то, как живут, а то, как «правильно» жить — чтобы выглядеть хорошо и не ощущать себя виноватыми, если они допускают ошибки. Ровно об этом пишет Роб Фицпатрик в The Mom Test (сразу запишем домашнее задание: прочитать книгу «Спроси маму»).

Получается, родителям очень хочется звучать ответственными и вовлеченным — и это нормально. Это не злой умысел, это искреннее желание быть «идеальным» родителем, особенно в глазах окружения, тем более когда в медиа буквально везде сквозит тема «осознанного родительства».

И если строить продукт на этой «идеальной версии родителя» — например, сразу уходить в тотальный трекинг рекомендаций врача — легко получить тревожное приложение/таблоид/напоминалку с картинками, которое семья отключит в гуще рутинных будней. Не потому что родитель «плохой», а потому что живой родитель не выдержит постоянный контроль какого‑то алгоритма, взращивающего тревожность. Ведь реальная жизнь неизбежно проигрывает идеальным метрикам.

Читать далее

РСПКДС: мнемонический шаблон для  обработки данных в Dart -шпаргалка для начинающих

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели6.1K

В статье разберём РСПКДС — простой мнемонический шаблон, который поможет новичкам в Dart структурировать базовые операции обработки данных. Покажу, как использовать формулу для решения типовых задач, приведу примеры кода и дам практические рекомендации. Вы узнаете, как за 6 шагов превратить сырые данные в осмысленный результат.

Читать далее

Todo Budget v5.0: переписал весь UI с нуля на Jetpack Compose — и теперь ищу тех, кто его сломает

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели11K

До пятой версии главный экран был функциональным, но визуально скучным. Типичный Material Design без характера. Я получил несколько честных отзывов — в том числе жёстких — и решил переделать всё.

Читать далее

Зачем нужен companion object в Hilt-модулях

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели5K

Замечали некий companion object в интерфейсах Hilt-модулей? Что он делает, как он работает под капотом, почему так популярен в Hilt-модулях, и почему нельзя обойтись обычными классами? Сегодня я развею эту магию!

Читать далее