Обновить
512K+

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

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

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

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

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


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

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

Читать далее

Новости

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

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

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

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

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

Читать далее

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

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

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

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

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

Назад в 2025

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

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

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

Я ошибался.

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

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

Читать далее

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

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

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

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

Читать далее

Gemma 4: что это такое и какую модель выбрать?

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

Gemma 4 – это не просто одна модель, а целое семейство открытых систем, разделенное по четкому прикладному принципу. Младшие версии, E2B и E4B, созданы для работы “на местах” – на смартфонах и периферийных устройствах. Старшие, 26B-A4B и 31B, предназначены для серьезных локальных вычислений на рабочих станциях. Это руководство поможет вам разобраться в ветках семейства и выбрать идеальную площадку для запуска.

Читать далее

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

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

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

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

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

Читать далее

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

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

Представьте ситуацию: вы работаете в огромном проекте, где количество модулей давно перевалило за тысячу. Вы решаете обновиться до свежего 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 мин
Охват и читатели6K

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

Читать далее

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

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

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

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

Читать далее

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

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


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

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

Читать далее

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

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

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

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

Читать далее

Anubis: заморозка приложений по состоянию VPN

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

Приложения на вашем телефоне могут обнаружить VPN через SOCKS5 на localhost и слить IP-адрес сервера. Рабочий профиль (Island, Insular, Shelter) скрывает VPN от ConnectivityManager, но не от tun0, маршрутов и локальных портов. Так родился open-souce Anubis, который решает проблему иначе - автоматически отключает приложения через pm disable-user при смене состояния VPN. Мёртвое приложение не может ничего детектить, потому что его не существует.

Под капот Anubis

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

Пара детективов с поиском багов в мобильных приложениях банков

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

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

По большей части на ручные тесты уезжают сверка логики процесса (end-to-end-сценарии) и тесты UI.

Я работаю в команде Centicore, но мы сидим на стороне клиента — крупного банка — и занимаемся разработкой в его закрытой среде. То есть мы наёмная команда на продукте заказчика.

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

Читать далее

ИИ-аватар по фото бесплатно: создаю говорящее видео из фотографии в Telegram за 2 минуты

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

Загружаешь фото, пишешь текст — через 2 минуты бот в Telegram присылает видео, где человек на фото произносит этот текст. Сделал бота AvatarBox на HeyGen API. Рассказываю пошагово: как подготовить фото, написать текст, выбрать голос, и для каких задач это реально полезно — видеовизитки, презентации, контент без показа лица. И что не работает: длинные видео, жесты, песни.

Читать далее

Сделал MVP за 3 дня, а потом неделю прикручивал оплату. Оно того стоило?

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

Как лучше запускать MVP — сразу с платной функциональностью или сначала сделать все бесплатным и собрать фидбек? Рассказываю, как это было у меня.

Читать далее

Книга про разработку под iOS на русском: разбираем единственный актуальный учебник по SwiftUI

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

Если набрать в поиске «книга по SwiftUI на русском», результаты будут неожиданно скромными. Такие издания есть, но они либо выпущены уже довольно давно (как, например, наша книга Александра Казанцева, либо представлены на английском, либо доступны в формате он-лайн курсов разной степени полноты. Печатная книга по актуальной разработке под iOS - явление нынче редкое.

Месяц назад мы выпустили перевод книги «iOS 18 App Development Essentials» Нила Смита — автора, которого англоязычное сообщество знает по многолетней серии учебников по разработке приложений под платформы Apple и Android. Книга вышла под названием «Основы разработки приложений для iOS», насчитывает 736 страниц и охватывает всё от синтаксиса Swift до публикации приложения в App Store. Книга вышла довольно толстой (а перевод всегда немного больше оригинала), но этот объем заполнен довольно полезной и актуальной информацией.

Что внутри?

Маяк в пустыне: Kotlin DSL для Android-шейдеров

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

Когда я впервые всерьёз сел писать AGSL под Android, ощущение было очень странное. С одной стороны - современный графический конвейер, RuntimeShaderRenderEffect, красивые эффекты и весь этот техно-киберпанк. С другой - шейдерный код живёт внутри строковых литералов, uniform-ы приходится объявлять и привязывать вручную, а отладка периодически начинается с философского вопроса: «в какой именно строке я сейчас всё сломал?»

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

Собственно, так и появился RedByteFX. Я сделал его не только ради собственного удобства. Мне хотелось решить ещё одну задачу: сделать AGSL более массовой и понятной технологией для Android-разработчиков. Потому что в нативном виде AGSL мощный, но психологически для многих выглядит как «не трогай, это на Новый год». А мне хотелось, чтобы к шейдерам можно было подойти без дрожи в коленях и без ощущения, что сейчас придётся разговаривать с господином ПЖ на древнем пацакском наречии.

Читать далее

Мобильная разработка за неделю #627 (6 — 12 апреля)

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

В новом дайджесте пружинная анимация и Kotlin без «воды, будущее Android-приложений с AppFunctions и путь к сингулярности, лампа с цифровым джинном, как Gemma 4 меняет правила игры, ошейники для коров, замена List, Remote Compose и многое другое. Заходите!

Читать далее

Критическая уязвимость VLESS клиентов? Подержите мое пиво…

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

Приветствую тебя, %USERNAME%! Ох и давно я не писал ничего на Хабр (10+ лет) — чернила высохли, перо затупилось. И все же, читая последние сводки, мой академический интерес проснулся.

Если вдруг пропустили и не понимаете о чем я, то информационный фон сейчас бурлит: тут и новости про то, как большинство популярных приложений детектируют VPN, и выход утилиты RKNHardering, и методички по борьбе с обходами, и тревожные отчеты о свободе интернета в 2026 году. Но последней каплей стала статья про критическую уязвимость VLESS-клиентов, из-за которой «скоро все ваши VPN будут заблокированы».

Смахнув скупую мужскую слезу, вызванную этим богатым на эмоции потоком, я задумался: а насколько вообще сложно детектируется VPN на Android? Оказалось, что даже с использованием сплит-туннелирования у приложений остается вагон возможностей для детекта (хоть и не 100%, но все же).

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