Обновить
159.17

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

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

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

Современная магия. Капля росы

Уровень сложностиПростой
Время на прочтение10 мин
Количество просмотров662

Бывало ли у кого‑нибудь так, что начинаете реализовывать одну идею, а она плавно преобразовывается в другую, а затем ещё в одну, и вот, у вас на выходе уже совершенно свежая история, только лишь отдалённо напоминающая начальную задумку. Думаю, наверняка, бывало!

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

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

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

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

Читать далее

Почему моё Android-приложение крашится?

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

Привет! Меня зовут Абакар, я работаю главным техническим лидером разработки в Альфа-Банке.

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

Сегодня мы с вами разберёмся, почему это происходит и какие механизмы лежат в основе такого поведения. Итак, в путь!

Читать далее

Что такое FHIR: основные концепции

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров738

Fast Healthcare Interoperability Resources (FHIR) - это прокотол для обмена медицинскими данными. Стандарт очень объемный, одних только ресурсов более полутора сотен, и цель данной статьи - дать стартовую точку для его изучения.

Это первый из запланированной серии постов посвященных FHIR технологиям, далее планирую добавить статьи с шагами регистрации и подключения к EPIC EHR, загрузки FHIR данных, их использования для формирования карты пациента и особенностями использования FHIR данных в AI чат-ботах.

Читать далее

Техническое собеседование: как его провести и правильно оценить кандидата?

Время на прочтение8 мин
Количество просмотров3.3K

Рекрутеры пишут тексты вакансий и отбирают резюме с помощью нейросетей, кандидаты готовят ответы и даже решают задачи с подсказками ИИ, а многие ИТ-компании в 2025 году снова стали проводить интервью офлайн. В этой новой реальности старые подходы к собеседованиям теряют эффективность: проверка теории «по учебнику» или стандартный список вопросов не дают объективной картины. Сегодня важно уметь видеть за готовыми ответами реальные навыки, ход мысли и то, насколько человек подходит под конкретный проект.

Привет, Хабр! Меня зовут Никита Королев, я ведущий разработчик мобильных приложений в IBS. Я регулярно провожу собеседования и сегодня хочу поделиться своим видением того, как делать это эффективно для компании и без нервотрепки для обеих сторон.

Читать далее

Можно ли сделать мобильный интерфейс без человека. Эксперимент с ИИ. Часть 2

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

Сегодня UI в продукте — не просто красивая картинка. Это полноценный драйвер роста компании в борьбе за первенство. И не получается относиться к этому как «просто запили мне нормальный UI». Каждый элемент стоит денег и ресурсов разработчиков и дизайнеров. 

В первой части статьи мы посмотрели, как ИИ помогает менять скорость релизов с помощью Claude 4.5 и влиять на результаты бизнеса. А теперь давайте разберёмся, как это сделать с другими инструментами.

Читать дальше

B2B-платформа для ВЭД: от double-blind маркетплейса до платёжного клиринга

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров539

Строим B2B-платформу для международной торговли (ВЭД), где решаем сразу несколько болей

⚠️ Важно: Платформа не банк и не платёжная система. Все реальные выплаты выполняются лицензированными операторами (банки/НКО/EMI).

Мы — интерфейс и оркестратор.

Читать далее

Kick для QA-инженеров

Уровень сложностиСредний
Время на прочтение15 мин
Количество просмотров568

Kick (Kotlin Inspection & Control Kit) – это кроссплатформенный модульный набор инструментов отладки, встроенный прямо в приложение. Он позволяет отображать нужные переменные в плавающем окне, инспектировать логи, сетевой трафик, базы данных SQLite/Room, файловую систему и т.д. Kick фактически заменяет множество разрозненных утилит единым решением: больше не нужно переключаться между разными программами или консолью – все необходимые средства собраны в одном интерфейсе. Это снижает сложность диагностики: тестировщик получает полный обзор состояния приложения на Android, iOS и Desktop из одного окна.

Читать далее

Сделай удобно: подборка UI/UX-кейсов из цифровых и нецифровых продуктов (#22)

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

Продолжаю изучать различные UI/UX/CX кейсы в мобильных приложениях, веб-сайтах и в реальном мире. Дизайнерам и менеджерам по продукту, чтобы вдохновиться и добавить в заметки.

Под катом: Uber, Райф, Цифра банк.

Читать далее

Мобильная разработка за неделю #605 (29 сентября — 5 октября)

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

В новом дайджесте OCR-сервер на iPhone и разработчики против регистрации Google, скрытые угрозы Room и golden-тесты во Flutter, Kotlett и динамические обновления без релизов и BDUI, мобильный интерфейс без человека, приложения, вышедшие в августе, и заработавшие больше $50К и многое другое. Заходите!

Читать далее

Swift Codable

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров664

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

На этой неделе мы поговорим ещё об одном встроенном типе Swift - Codable. Думаю, все, кто писал клиент-серверные приложения, сталкивались с этим протоколом: он позволяет преобразовывать наши структуры в бинарные данные и обратно. Однако, полагаю, немногие задумывались, как этот привычный механизм работает под капотом. Сегодня я постараюсь рассказать об этом.

Читать далее

Построение KMP SDK: инсайты и подводные камни из нашего опыта

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров540

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

Кратко напомним про контекст и продукт: Instories — мобильный видеоредактор для маркетологов, SMM-специалистов и блогеров. Контекст проекта: желание получить ряд SDK (мы называем их Kit-ами, по сути это разные сборки SDK для разных продуктов, со своими ресурсами, фичами и дизайн системой) для наших уже существующих приложений, которые содержали бы в себе коробочные фичи (и бизнес-логику, и UI), готовые к подключению, а также были бы легко расширяемыми и переиспользуемыми для разных приложений компании.

Читать далее

Как я писал свою звонилку для видеозвонков

Время на прочтение4 мин
Количество просмотров11K

Я написал свою альтернативу звонкам в WhatsApp и Telegram — полноценный Android-клиент на WebRTC с поддержкой P2P-аудио и видео, STUN/TURN, сигналингом и собственным UI.

Забудьте про «корпоративные мессенджеры»: проект JOPA Call (👉 «Just One Peer App») работает напрямую, без лишних посредников.

Реализовано: peer-to-peer соединения, fallback через TURN, мини-preview окна камеры, управление потоками и адаптивное видео.

Макс и его «супераппы» могут курить в сторонке — теперь у меня есть свой звонок-клиент, который не зависит от гигантов.

Читать далее

Внедрение пуш-уведомлений в React Native: от Firebase до кастомных модулей

Время на прочтение23 мин
Количество просмотров1.7K

Привет, Хабр! Меня зовут Георгий, и я тимлид команды платформы в компании Купер. Мы специализируемся на разработке IT-приложений для маркетинга и бизнеса, включая кроссплатформенные мобильные решения на базе React Native. В этой статье я хочу поделиться опытом работы с пуш-уведомлениями. Расскажу, с чего мы начинали, какие проблемы встретили и к чему пришли на текущий момент. Все примеры возьму из свежего проекта, исходники которого доступны на GitHub — ссылку оставлю в конце.

Читать далее

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

Как инженерная боль вдохновила на создание мобильного приложения — клиента Modbus TCP

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

Практические сложности настройки устройств Modbus TCP/RTU в промышленной среде и легкое решение через мобильное приложение.

Читать далее

Компенсация сетевой задержки: как зародилась технология rollback netcode

Время на прочтение5 мин
Количество просмотров1.5K

Как сообщил мне GPT5, технология компенсации сетевой задержки в играх, также известная как «откат сетевого кода» (rollback netcode) впервые была применена в игре «Super Street Fighter II Turbo HD Remix» (2008). Но это не так: именно такой механизм я реализовал в «Pathway to Glory» (Nokia N-Gage, 2004) и «Warhammer 20K: Squad Command (PSP, NDS, 2007)». В этой статье кратко рассказано, как данная технология работает...

Читать далее

Flutter-дайджест сентября

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

Привет, друзья! 🌐

Сентябрь оказался по-настоящему горячим месяцем для Flutter-разработчиков — громкие релизы, свежие статьи на Хабре, видеоразборы с YouTube и целая россыпь полезных пакетов. На нашем канале FlutterPulse мы собрали всё самое интересное в одном месте, чтобы вы ничего не пропустили.

Читать далее

Отделяем мух от Kotlett. Динамические обновления без релизов и BDUI

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

Привет, Хабр! Меня зовут Александр Наумов, я руковожу разработкой мобильной платформы в VK Tech и Mail. В VK занимаюсь мобилками уже более десяти лет, и в этой статье я поделюсь с вами нашей внутренней кухней: как мы ищем инженерные решения, какого класса задачи мы решаем. Хочу поделиться нашей новой разработкой, которая, как мне кажется, может быть полезна сообществу.

Читать далее

Погружаемся в недра Retrofit

Уровень сложностиСложный
Время на прочтение7 мин
Количество просмотров2.8K

Покопаемся в исходниках Retrofit, чтобы открыть завесу тайны, как же он всё-таки работает с корутинами и почему я не ловлю краш, даже когда при вызове метода из Service не переключаю диспатчер на Dispatchers.IO.

Читать далее

Укрощаем Android UI-тесты на Compose: как Page Object спас нас от рутины

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

Привет, Хабр! Вы когда-нибудь тратили слишком много драгоценного времени на поиск нужного testTag в иерархии Compose Screen? А потом ещё полдня чинили тесты после каждого чиха в UI? Или, может быть, несколько недель ждали, пока в дизайн-систему добавят недостающий тег или семантику, чтобы вообще начать писать свой UI-тест? Если вы хоть на один вопрос ответили «Да», эта статья для вас. Давайте навсегда покончим с этой рутиной и займемся более креативными задачами!

Цель статьи — НЕ представить очередной фреймворк написания UI-тестов для приложений на Android, а упростить их написание с помощью всем знакомого Page Object. Мы будем прятать рутину поиска нужных компонентов и одновременно повышать устойчивость тестов к изменениям. Всё для того, чтобы тесты стали удобнее, надёжнее и проще поддерживались.

Меня зовут Дмитрий Омельченко, я Android-разработчик в Райффайзенбанке. Несколько лет назад мы с командой начали внедрять автоматизацию тестирования в приложение online-банка, и за это реализовали несколько интересных решений, об одном из которых хочу вам рассказать.

Читать далее

Книга: «Kotlin Multiplatform на практике»

Время на прочтение5 мин
Количество просмотров6.9K

Привет, Хаброжители! Хотите писать код один раз и запускать его на Android и iOS, сохранив нативное качество и производительность?

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

Особое внимание уделено использованию нативного и общего кода в кросс-платформенном приложении, применению expect/actual, тестированию с Kotest, оптимизации разработки с помощью KSP, плагинов компилятора и ИИ-ассистентов. Вы узнаете, как создавать и публиковать собственные KMP-библиотеки, а также получите краткий справочник по Kotlin и Swift, чтобы уверенно ориентироваться в обеих экосистемах.

Читать далее

Вклад авторов