Обновить
512K+

Разработка мобильных приложений *

Android, iOS, Windows Phone и прочие

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

Wildberries, Ozon и Сбер начали блокировать VPN-пользователей: как приложения определяют, что у вас включен VPN

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

Wildberries показывает «У вас включен VPN? Отключите», Ozon не грузит карточки товаров, ВкусВилл предупреждает об ошибках. Минцифры дало 20+ компаниям дедлайн до 15 апреля. Разбираю 5 методов, которыми приложение на вашем телефоне определяет VPN — от проверки tun0-интерфейса на Android до рассинхронизации GPS, IP и SIM-карты.

Читать далее

Новости

Что «убило» BlackBerry

Время на прочтение11 мин
Охват и читатели5.2K

Иногда разговоры о технологиях начинаются не с выхода новых девайсов или очередного релиза, а с фразы: «А помнишь BlackBerry?». Сегодня эту компанию знают не все, но в начале 2000-х она была стандартом, а не мемом. Смартфон BlackBerry ценили за предсказуемость, надежность и контроль. Почта доходила всегда,а связь работала даже при слабом сигнале.

Привет, Хабр! Меня зовут Владимир Сергеев. Я эксперт практики UC и ПО для совместной работы К2Тех. Мы не станем повторять сюжет недавно вышедшего фильма и постфактум разбирать стратегические ошибки руководства компании. Давайте на примере BlackBerry оценим пределы хорошо спроектированной системы и разберемся, какие технологические ошибки и инженерные компромиссы останавливают развитие компании и приводят к проигрышу в конкурентной гонке.

Читать далее

Мобильное приложение DogPlanner. Перезагрузка…

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

Давайте немножечко поговорим о творчестве в целом, создании собственных проектов в принципе, и дальнейшем развитии мобильного приложения для домашних питомцев DogPlanner (доступно в Google PlayRuStore и других известных площадках) в частности. Мы уже говорили, что когда человек начинает заниматься каким-либо собственным проектом, он не задумывается насколько это занятие может растянуться. Мы сейчас говорим не о бизнес проекте, в котором изначально чётко описываются цель и средства её достижения, определяется команда и сроки, и поехали... Нет.

Читать далее

Лампа с цифровым джинном: как я упрашивал ИИ unit-тесты писать

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

Изначально я хотел поделиться опытом написания unit-тестов с помощью ИИ. Но по мере написания статьи она превратилась в историю изменения взглядов на использование нейросетей. И как отсутствие энтузиазма и в какой-то степени отрицание сменились если не оптимизмом, то увлечённостью и любопытством...

Читать далее

Неразработчик + чат с ИИ + Android Studio: промежуточные результаты после публикации двух приложений

Время на прочтение7 мин
Охват и читатели11K

Я бизнес‑аналитик. Пишу мобильные приложения с нуля — без исходных знаний кода, архитектуры, дизайна и маркетинга. Инструменты те же: Claude в чате и копипаст в Android Studio.

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

Ссылка на первую статью. Здесь не будет пересказа. Это именно промежуточный срез: что произошло после публикации, когда пришли реальные пользователи и реальные проблемы.

Читать далее

Запускаю свой продукт. Часть 1: поиск идеи, которая выстрелит и будет мотивировать продолжать

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

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

Читать далее

Room 3 — новый мажор «комнаты». И да, теперь с поддержкой wasmJs

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

Привет! Давайте разберёмся, что там накатили в новом мажоре Room. На момент написания актуальная версия — 3.0.0-alpha02, а стабильный релиз обещают где-то к лету.

Если вдруг выпали из контекста: Room — это повсеместно используемая ORM-обёртка над SQLite ранее только для Android, с недавнего времени и для Kotlin Multiplatform.

И у неё вышел 3 мажор! Подробнее внутри.

Читать далее

Обновляем токен авторизации при помощи Dio

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

Hola, Amigos! На связи Павел Гершевич, Mobile Team Lead агентства продуктовой разработки Amiga и соавтор книги “Основы Flutter”. В каждом приложении мы авторизуем пользователей, но не все встраивают механизмы обновления токенов.

Из статьи вы узнаете:

- Из чего состоит JWT-токен?

- Зачем нужны Interceptor’ы в Dio и  чем отличается QueryInterceptor?

- Какие есть способы обновления токенов?

Читать далее

Apple хочет чтобы я купил Mac за 200к. У меня два приложения в App Store и ни одного макбука

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

У меня нет макбука. Но два моих приложения лежат в App Store. Рассказываю весь путь: регистрация Apple Developer из России, сертификаты без Xcode, автоматическая сборка через GitHub Actions. Три варианта: для вайбкодеров, программистов без мака и хардкорщиков.

Читать далее

Как Swift работает с памятью: подробный гайд для разработчиков. Часть 2

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

Всем привет! Я Данила Горячкин — iOS-инженер в команде Performance в Авито. Занимаюсь оптимизацией производительности iOS‑приложений и менторингом разработчиков.

В первой части мы разобрали теоретическую базу того, как устроена память в Swift. Это вторая часть — здесь больше про код, типовые задачи и ошибки, а также способы их исправления. Если хотите подробнее разобрать память по полочкам, читайте далее.

Читать далее

Кэширование сетевых запросов в Ktorfit с помощью Ktor Plugins

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

Привет!

Ktor постепенно становится полноценной альтернативой классической связке OkHttp + Retrofit. Его ключевые преимущества — кроссплатформенность, чистый Kotlin, асинхронность и корутины, а также высокая гибкость и управляемость. Кроме того, ожидается поддержка HTTP/3, чего, судя по всему, не планируется в OkHttp.

Ktorfit же — это обёртка над Ktor, которая предоставляет более удобное API, практически идентичное Retrofit, что особенно удобно при миграции Retrofit —> Ktorfit. Короче, Ktorfit — это Retrofit для Kotlin Multiplatform.

В этой статье я продемонстрирую алгоритм написания простого кэша запросов для Ktorfit, используя механизм Ktor Pluguns.

Читать далее

Первый в своем роде ИИ помощник на вашем телефоне

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

Мы с братом создали Sova AI (https://ayconic.io/sova), ИИ агента на Андроиде, который оперирует приложениями и выполняет ваши хотелки таски на телефоне. Это первый ассистент, которому не нужны ADB, USB, PC, root и т.д., просто самое обычно приложение, которое устанавливается на Андроид (пока IOS в разработке) и всегда с вами, куда бы вы не пошли (звучит страшно? 😁).

Зачем еще один ИИ ассистент?

Потому что он единственный в своем роде, все остальные “mobile-use” требуют подключения к PC, и это конечно неудобно и не интересно. Если уже есть PC, то лучше уже на нем и выполнять различные задачи, зачем тогда телефон мучать? Computer-use, browser-use вполне себе прекрасно работают на PC.

Нам хотелось ассистента, который всегда будет на телефоне, а не когда мы с кабелем USB возле компа, ассистента который будет делать на телефоне все, что может делать пользователь, а не еще один умный браузер (привет Perplexity) который будет требовать API чтобы что-то сделать, или кастрированный Gemini assistant который только и твердит что он ИИ модель и не может ничего. Они в большинстве просто бесполезны, как и все чатботы которые всего лишь чатботы, но почему-то называются AI assistant для маркетинга.

Что оно умеет

Как и computer‑use он делает клики, скроллы, открывает приложения, и симулирует любые действия пользователя. Под капотом — работа с Accessibility API Андроида, используем tree экрана и скриншоты. Только на скриншотах мало что сделаешь, модели не очень хорошо с ними работают, оптимизируют картинки каждый по своему и так далее. Поэтому мы сделали определенную комбинацию того и другого, с экономией токенов, чтобы пользователи не продавали себя в рабство из‑за одного заказа еды. Также его можно сделать асситентом по умолчанию и оно будет реагировать на ваши голосовые команды и делать что захотите, без этого всего «Я ИИ модель и ничего не могу делать, хнык‑хнык».

Читать далее

Оптимизация производительности во Flutter

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

Производительность Flutter-приложения напрямую зависит от качества написанного кода: лишние перестроения UI, тяжёлые операции в основном потоке, неправильная работа со списками и изображениями — всё это ведёт к фризам, падению FPS и ухудшению пользовательского опыта. 

В данной статье мы собрали наиболее распространённые ошибки, которые снижают производительность Flutter-приложений, и показали, как их избежать на практике.

Читать далее

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

Как автор книг по Kotlin проверял мой проект: разбор ошибок в Coroutines и архитектуре

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

Проведя аудит GitHub, я обнаружил, что полноценных реализаций Gemini-клиента с глубокой проработкой архитектуры практически нет. Я решил стать первым, кто выложит в открытый доступ не просто обертку над API, а готовую архитектурную базу с точным повторением UI оригинального Gemini.

Читать далее

Я заменил целую команду разработки на ИИ. 0 рублей, 2 недели, 2 приложения

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

Меня зовут [неважно], я бизнес-аналитик. Моя работа — писать ТЗ, рисовать процессы в BPMN, ругаться с разработчиками из-за неправильно понятых требований и пить кофе на стендапах. За 5 лет в профессии я не написал ни одной строчки кода. Ни одной. Даже Hello World.

В начале 2026-го я поймал себя на мысли, которая наверняка посещала каждого бизнес-аналитика: «Я точно знаю, что нужно сделать. Я подробно описываю как это должно работать. Единственное, чего я не могу — написать код». А потом я прочитал очередной пост про то, как кто-то с помощью ИИ создал приложение за выходные, и подумал: а что если моя профессия — это и есть идеальная подготовка к работе с ИИ-ассистентами?

Спойлер: через 2 недели у меня было 2 приложения в RuStore, 0 рублей затрат и 14 скачиваний. Да, четырнадцать. Но обо всём по порядку.

Читать далее

Пакет yx_virtual_device: опенсорс‑инструмент для упрощения тестирования Flutter‑приложений

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

При разработке мобильных приложений на Flutter рано или поздно сталкиваешься с необходимостью проверить, как твой интерфейс выглядит на разных устройствах. Держать под рукой десяток телефонов и планшетов — нереально, а постоянно переключаться между эмуляторами — долго и неудобно.

Для решения этой проблемы я написал пакет yx_virtual_device, который позволяет симулировать экраны различных устройств прямо во время разработки, не выходя из запущенного приложения. В этой статье — о том, что умеет этот пакет, как с ним работать, а также почему было сложно подружить его с Flutter и как в итоге это удалось сделать.

Читать далее

Колобок

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

Народные сказки — это не просто фольклор, а старейший в мире архив Post-Mortem отчетов, где за метафорами скрыты фатальные ошибки проектирования, которые мы, по своей наивности, принимаем за магию

Если смотреть на «Колобка» с высоты жизненного опыта и системной архитектуры, то перед взором эпично раскинется поле Spaghetti-кода, написанного на коленке под палящим дедлайном. Знаете это чувство, когда менеджер вбегает в опенспейс с криком «Заказчик голоден, релиз нужен вчера!»? Это не работа. Это агония.

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

Интрига? Читать далее!

Kaspresso: cравниваем скриншоты и упрощаем проверку дизайна

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

Хабр, привет! Меня зовут Никита Евдокимов, я работаю старшим разработчиком в «Лаборатории Касперского», а также являюсь мейнтейнером репозитория Kaspresso. Это наш фреймворк для тестирования пользовательских интерфейсов на Android, основанный на Kakao, Espresso и UI Automator.

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

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

Читать далее

Как Swift работает с памятью: подробный гайд для разработчиков. Часть 1

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

Всем привет! Я Данила Горячкин — iOS-инженер в команде Performance в Авито. Занимаюсь оптимизацией производительности iOS‑приложений и менторингом разработчиков.

В этой статье последовательно разберем, как Swift управляет памятью: от базовых понятий вроде ARC,  Copy‑on‑Write, экзистенциальных контейнеров до нетипичных задач с «зомби»-объектами и non-frozen типами. Материал основан на документации Swift, докладах WWDC и практических примерах. Статья рассчитана на middle- iOS‑разработчиков, которые хотят лучше понимать, что происходит с их кодом на уровне памяти и почему одни решения оказываются дороже других.

Эта статья выйдет в двух частях: в первой разберем теорию, а во второй — практические примеры с кодом.

Читать далее

Как мы улучшаем наши «Нейросторис»: новый фильтр и исправление ошибок

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

Всем привет! Недавно я рассказывал о том, как мы создали для риелторов сервис автоматической генерации stories в нашем мобильном приложении.

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

Читать далее
1
23 ...