Обновить
512K+

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

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

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

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

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

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

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

Читать далее

Новости

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

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

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

Под капот Anubis

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

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

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

Что внутри?

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

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

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

Читать далее

Как я с помощью автоматизации выиграл iPhone от McDonald’s

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

Несколько лет назад сеть McDonald проводила промо-акцию, в которой через простую мини-игру можно было выиграть iPhone. Называлась эта игра «FriesHit» и была доступна в мобильном приложении McDonald’s (бельгийская версия). Это просто примитивная тапалка, целью которой являлось занять первую строчку таблицы лидеров, чтобы заполучить заветный iPhone (или Samsung S10, если вы окажетесь на втором месте; но кому он нужен).

Каждый день таблица лидеров аннулировалась, то есть компания ежедневно отдавала iPhone X занявшему первое место (как я понял, это происходило целый месяц). Естественно, в игре есть свой подвох — чтобы набрать победные очки, нужно соревноваться с другими игроками. Хитрость в том, что для покупки жизней в игре вы тратите «баллы лояльности». Кто не знает, эти баллы вам начисляют за покупку товаров в сети (типа потратьте €1 в ресторане McDonald's и получите 10 баллов).

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

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

Читать далее

FiT календарь тренировок — финал трилогии пет-проекта

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

Год назад я опубликовал первую статью про разработку приложения календаря тренировок. Спустя 5 месяцев опубликовал рассказ о 10 обновлениях. Сейчас время финала истории - ещё 7 обновлений за 7 месяцев.

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

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

Исходный код

Приложение в RuStore

Веб-версия

Frontend: Typescript, Vitest, Vite, Vue, Tanstack Query, Vue I18n, Tauri

Backend: Typescript, Vitest, Esbuild, Fastify, Mongoose, MongoDB, Swagger

Читать далее

Kotlin без «воды»: новая книга для тех, кто хочет изучить язык на практике

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

Некоторые языки программирования начинают по-настоящему ценить тогда, когда разработчик замечает: значительная часть усилий уходит на решение задачи, а не на борьбу с инструментом. Экосистема Java — хороший пример такого накопленного трения. Она несет в себе наследие решений, принятых десятилетия назад, притом они не обязательно плохие — просто раньше не учитывались те сценарии, которые сегодня стали повседневностью: интенсивная работа с асинхронностью, быстрые итерации, требования к читаемости и поддерживаемости кода. Kotlin возник как попытка аккуратно убрать часть этого трения, не разрушая существующую инфраструктуру. Речь здесь идет о другом уровне комфорта при решении привычных задач — от базовых конструкций до построения полноценных сервисов. Именно этому посвящена только что вышедшая в издательстве «БХВ» книга Елены Ван Энгелен – Масловой «Kotlin. Краткий курс».

Что внутри?

ИИ аватар: как создать в Telegram Mini App: React, Django, HeyGen API и генерация видео

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

Завернул AI-генерацию ИИ аватаров в Telegram Mini App: загружаешь фото, пишешь текст — бот присылает видео, где аватар произносит этот текст. Стек: React 19 + Django + Celery + HeyGen API. Рассказываю про авторизацию через initData, поллинг асинхронных задач, и почему подключение T-Bank Acquiring по 54-ФЗ заняло больше времени, чем вся остальная интеграция.

Читать далее

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

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

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

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

Читать далее

Что «убило» BlackBerry

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

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

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