Обновить
256K+

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

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

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

Интерфейсы для водителя: на что опираться дизайнеру

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

Привет! Я Коля Димов, руковожу дизайном и исследованиями продукта в Делимобиле.

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

Читать полностью

Froggle — фича-флаги без боли

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

Фича-тоглы: мир удобства без лишней настройки

В мире кубов и контейнеров JVM приложения чувствуют себя немного странного когда речь заходит о вопросах: кто сожрал все ресурсы в кластере? или как же мне вывернуть приложение чтобы не рестартить его? Со вторым вопросом предлагаю ознакомится ближе.

Читать далее

Цифровая тень: что скрывают под капотом популярные Android-приложения (результаты аудита)

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

Привет, Хабр!

Ну вот вы ставите Яндекс Go, жмёте «Разрешить» на всё подряд — микрофон, контакты, местоположение. Такси же, надо. А потом выясняется, что приложение лезет в буфер обмена. 16 раз в разных местах кода. Зачем такси буфер обмена — я так и не понял.

Короче, я взял семь популярных Android-приложений и разобрал их по косточкам. SAST, реверс-инжиниринг, декомпиляция DEX, разбор манифестов, ковыряние в нативных библиотеках. Под раздачу попали: Яндекс Go, Карты, Музыка, Пэй, Телемост, Mir Pay и мессенджер МАКС (бывший ICQ New / VK Messenger).

Спойлер: один мессенджер умеет распознавать ключевые слова прямо в аудиопотоке звонков. Не метаданные, не «кто кому звонил» — а именно слова.

<cut/>

Читать далее

Android, iOS и немного Python: подходит ли Kivy для реальных кроссплатформенных задач?

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

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

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

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

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

 Давайте вместе разберемся — что же такое Kivy?

Читать далее

Как 2ГИС адаптируется к проблемам с позиционированием

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

Нестабильное позиционирование — не только пользовательская проблема, но и для нас как разработчиков картографического сервиса. Когда спутники теряются или данные становятся неточными, рушится целая цепочка: от отображения местоположения на карте до построения маршрута и поведения навигатора.

А источников ошибок много — плотная застройка, подземные парковки, тоннели и зоны с нестабильным сигналом. Чтобы приложение оставалось рабочим даже в таких условиях, мы стараемся улучшить систему позиционирования. Ниже рассказываем про работу с геопозицией и что сделали, чтобы приложение оставалось рабочим, даже если сигнал пропал.

Читать далее

Бот Лифтер. Как мы оцифровали работу мобильной бригады подъема через мессенджер вместо отдельного приложения

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

Привет, я Максим Королев из Петрович-Теха, цифрового партнера сети строительных магазинов «Петрович». Компания специализируется на продаже стройматериалов, комплектации крупных объектов и комплексном обслуживании, включая доставку и подъем на этаж. В первой статье рассказывал, как мы сделали семейство Telegram-ботов для ITSM, во второй — как вынесли бизнес-логику «Дежурного» в CORE и подключили MAX.

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

Читать далее

Кризис «переходного» возраста в управлении проектами: история преодоления

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

Представьте ситуацию: к 30 годам человек добился всего. Желал быть тимлидом и стал им. На работе сплошь успехи. Полностью соответствует всем ожиданиям, которые на него возлагают общество, коллеги, друзья и близкие. Но счастливым себя не чувствует: вместо этого энергии становится меньше, все чаще ощущается апатия, теряется интерес к работе. В общем, тот самый «кризис переходного возраста» во всей красе, только в профессиональном плане. Я провел в этом состоянии больше полутора лет, и я до сих пор в процессе.

Привет! Меня зовут Саша Шиндин, я руководитель группы проектного управления мобильных решений в «Лаборатории Касперского», а эта статья про то, как подобный кризис проживать. Не претендую тут на роль эксперта — просто хочу поделиться своим опытом переосмысления карьеры и не только ее.

Читать далее

Мобильная разработка за неделю #629 (20 — 26 апреля)

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

В новом дайджесте уход Тима Кука и ненависть к Gboard, диск выбора месяца в стиле Airbnb и анимация зачеркивания текста в SwiftUI, основы разработки приложений для iOS, приватность в обычной клавиатуре, Kotlin-агент широкого профиля KMP, атаки мобильных приложений глазами хакера, рост релизов в App Store и Google Play и многое другое. Заходите!

Читать далее

Сломал руку, купил Pixel 10, возненавидел Gboard и написал свой офлайн-голосовой ввод для Android на GigaAM v3

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

Написал полностью офлайновый голосовой ввод на русском для Android. Никаких серверов, подписок и привязок к аккаунтам. За распознавание отвечает открытая нейросеть GigaAM v3 от Сбера: модель зашита прямо в APK, работает без интернета и отлично расставляет знаки препинания.

Главная фишка — не нужно отказываться от любимой клавиатуры со свайпом. Это не замена Gboard, а просто плавающая кнопка, которая появляется поверх любого поля ввода. Работает элементарно: тапнул — говоришь. Как только делаешь естественную паузу в речи, готовый текст тут же влетает в активное окно. Напрямую, минуя буфер обмена.

Стек: GigaAM v3 + sherpa-onnx (NNAPI / CPU) + крошечный детектор речи Silero VAD. Требования: Android 13+, ARM64. Исходники открыты (MIT).

Читать далее

AI в iOS-разработке: что у меня реально закрепилось в 2026, а что я выкинул

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


За последний год я перепробовал всё: Cursor, Claude Code, Codex, локальные Qwen-модели для ревью, пять версий своего CLAUDE.md, Xcode MCP от Apple, mobile-mcp, Conductor для параллельных агентов. Что-то осталось в проде, что-то выкинул через неделю. А какие-то вещи, которые казались обязательными год назад, сегодня выглядят как антипаттерны.

Это статья не про «AI изменит всё» и не про то, как за вечер собрать Todo-приложение через Claude Code. Это про то, как iOS-разработчику, который уже живёт с AI-инструментами, выжать из них максимум - и не наступить на грабли, на которые наступили до тебя остальные.

Читать далее

Ленты коротких видео: как оптимизировать, чтобы вас смотрели больше

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

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

Привет, меня зовут Рамиль Габдрахманов, я руковожу разработкой видеоплееров в Yandex Infrastructure. Нашу видеоплатформу используют многие сервисы Яндекса: Кинопоиск, Яндекс Маркет, Яндекс Музыка и другие — а компании вне Яндекса могут использовать её через Yandex Cloud Video. В день наш плеер воспроизводит 103 847 867 931 секунду видео.

Сегодня расскажу о том, как устроены ленты коротких видео у нас, что под капотом и какие оптимизации мы применяем.

Читать далее

Ch4IR: мой 4х канальный видеорекордер на Android который не умеет делать запись

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

Да, в далёком 2018г. я целых 24 часа работал на какой то фабрике в Подмосковье. Делающей салаты и другие полуфабрикаты. В каком то отделе, то ли контроля, то ли безопасности. В общем надо было смотреть в камеры видео наблюдения. Ну и вроде всё, сутки через трое. Хотел уйти с 5/2 на 1/3. Но я не согласился, слишком тяжело, слишком. Через 6 лет после тех суток я начну изучать Java и пробовать писать приложения на андроид. Третьим моим пет приложением будет Ch4IR.

Написанный на библиотеке LibVLC и в память о несложивщейся карьере в сесурити.

Он был настоящим RTSP рекордером: отображал 4 потока, писал 4 потока на флешку или usb диск, нарезал куски видео по 60 минут и автоматически удалял записи старше указанной даты. Он умел воспроизводить записи и перематывать их. Но всё изменилось, перед самой публикацией.

Назад в 2025

Как мы считаем досрочное погашение кредита: что реально работает в коде

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

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

Я ошибался.

Небольшой контекст: до этого я довольно долго не делал ничего для Android — работал в других областях, экосистема успела заметно измениться. Вернуться оказалось неожиданно приятно: Compose после нескольких лет XML-вёрстки ощущается как глоток свежего воздуха, KSP вместо KAPT работает заметно быстрее, а Room с Flow и корутинами — это уже совсем другой уровень удобства по сравнению с тем, что я помнил. Так что статья отчасти и про это: как выглядит возвращение в Android-разработку после перерыва.

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

Читать далее

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

Волшебный Koog. Пишем Kotlin-агент широкого профиля KMP

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

Всем привет! С вами Анна Жаркова, руководитель мобильной практики ГК Юзтех. Что ж, за последние полгода мир разработки и мир ИИ скакнули и ушли далеко вперед. Теперь знания работы с агентами, умение написать не только правильный промт, но и собственные скиллы (навыки) для этих агентов, готовить свои mcp для погружения в контекст задачи, проекта, становятся не только полезными, но и обязательными для разработчиков и IT-специалистов. Уже многие используют как специальные IDE с ИИ-агентами (Claude, Cursor, Windsurf и т.п), так и встраиваемые в привычные VsCode и AndroidStudio в виде плагинов. Можно не ограничиваться готовым настраиваемым функционалом, а пойти дальше и написать свой собственный агент. И сегодня мы поговорим про такое решение, использование специального фреймворка от JetBrains Koog для разработки свои агентов. С его помощью мы создадим агент для генерации простых KMP приложений и кросс-платформенных задач и подключим к плагину Continue dev.

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

Читать далее

Почему я так придираюсь к вёрстке (и вам советую)

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

Привет! Я Оля, лид дизайн‑системы Альфа‑Банка на мобильных платформах и я всерьёз считаю, что знания о вёрстке незаслуженно списали со счетов, особенно в 2026 году, когда дизайнеры всё чаще думают, что ИИ сделает за них всю работу, а вёрстку вообще можно не трогать.

Увы и ах. Вёрстка — это не просто «разложить прямоугольники на макете». Это мост между дизайном и кодом.

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

Читать далее

The Xcode build system has crashed, или Почему рекурсия — это плохо. Используем swift‑build со своими патчами

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

Представьте ситуацию: вы работаете в огромном проекте, где количество модулей давно перевалило за тысячу. Вы решаете обновиться до свежего Xcode 26.2, ожидая прироста производительности, но вместо заветного «Build Succeeded» получаете молчаливое падение: SWBBuildService quit unexpectedly.

Всем привет, меня зовут Алексей Севко, я ведущий разработчик программного обеспечения из команды Delivery & Performance Яндекс Go. В этой статье я расскажу почти детективную историю о том, как:

— Искать иголку в стоге сена: когда падает закрытый бинарник Xcode.

— Стать контрибьютором swift-build: почему иногда проще переписать системный поиск макросов в swift-build, чем ждать фикса от Apple.

— Использовать свою версию билд-системы: как мы внедрили инфраструктуру прозрачной подмены компонентов Xcode через XCBBUILDSERVICE_PATH, чтобы не ждать релиза Xcode со Swift 6.3 и работать стабильно уже сегодня.

Если ваш проект тоже перерос стандартные инструменты Apple или вам просто интересно, как превратить рекурсию в итерацию и не сойти с ума от 45-минутных дебаг-сессий, — добро пожаловать под кат!

Читать далее

Мобильная разработка за неделю #628 (13 — 19 апреля)

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

В этом выпуске сравнение быстродействия SwiftUI и UIKit, план изучения Android-разработки и Kotlin DSL для Android-шейдеров, прагматичный взгляд на архитектуру Flutter и пара детективов с поиском багов, как не надо делать скриншоты в App Store, диспетчеризация дома, поддержка Swift в разных IDE, тестирование взаимодействия нескольких устройств и многое другое. Заходите!

Читать далее

Фильтр Калмана, geohash fog of war и три реджекта Apple: как я собрал GPS-трекер на SwiftUI

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

В 2024 году Google тихо убил Timeline в Google Maps. Историю местоположений перевели в «локальный режим», который на практике работает через раз - данные теряются, синхронизации нет, а у многих просто исчезли годы накопленной истории.

Для меня это было важно: я много езжу на машине и хотел знать простую вещь - сколько конкретная поездка стоит в бензине. Ничего подходящего не нашёл и решил написать сам. Я бэкенд-разработчик, до этого проекта не написал ни строчки на Swift - дальше про то, как за месяц вечерами собрал GPS-трекер с фильтром Калмана, fog of war на geohash и Live Activity.

Читать далее

Продолжаем приручать ИИ: рефлексия агента, интервью пользователя, God agent

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


В последнее время в нашем любимом ИТ всё меняется слишком быстро. Причина тому — генеративные языковые модели. Новые знания становятся deprecated спустя несколько месяцев. Вчерашние революционные подходы сегодня выглядят как рудимент. Есть один большой плюс такой тенденции: если вы вдруг проспали старт ИИ-гонки, наверстать упущенное и догнать лидеров можно достаточно быстро.

В данной статье я хочу рассмотреть несколько приёмов, которые помогут выстроить рабочую систему или повысить эффективность уже существующих практик работы с ИИ. Обсудим как базовые моменты вроде context engineering и формирования файлов для агентов, так и не столь очевидные практики: как научить агента задавать вопросы о ТЗ, делать рефлексию после выполненного задания и использовать её для улучшения агентов.

Читать далее

Как филолог сделал приложение. Первый опыт

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

Приветствую, уважаемые читатели данной статьи! Сорри за кликбейт в заголовке, но, сами понимаете, такие времена. Тем не менее, доля правды в нём была. В своё время мне удалось окончить филфак, однако последние 5+ лет занимаюсь маркетингом.

О чём эта статья? О моём первом опыте разработки Android-приложения с помощью чата GPT, взлётах и падениях морального состояния, а также инсайтах и озарениях, которые случились по пути. Текст я постарался написать простым, живым языком, с шутками, чтобы читать было не скучно. Надеюсь, вам будет полезно и интересно! Погнали!

Читать далее