Обновить

Мобильная разработка

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

Все пути ведут к MWS Tables, или Как я искал решение для учета ИТ-оборудования со взаимосвязями и интуитивным UI

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

Когда учет техники живет в «вечном Excel», это почти всегда заканчивается одинаково: разрозненные данные, ручные акты, сломанные формулы в онлайн-таблице, ошибки, взявшиеся «из ниоткуда», и потерянные часы, потраченные на поиск: где чей ноутбук, что выдали, что вернули и какой документ к этому относится. В результате страдает не только ИТ-отдел — без нормального реестра и связей между закупками, инвентарными единицами и актами легко получить хаос в документообороте.

Привет, меня зовут Евгений Смоленцев, я работаю программистом в АНО по развитию городской среды «МосводостокСтройТрест», которая занимается благоустройством улиц и сезонной инфраструктуры, капитальным ремонтом многоквартирных домов и объектов образования, строительством производственных баз, а также выполнением специализированных задач учредителя. В этом посте расскажу, как мы с помощью MWS Tables собрали учет оборудования в систему полного цикла — от закупки и присвоения инвентарного номера до выдачи сотруднику и возврата. Спойлер: мы сделали видимые взаимосвязи, удобные формы для внесения записей и генерацию актов по шаблону прямо из таблицы.

Читать далее

Удалил сервер из мессенджера. Как общаться по P2P в 2026 году без метаданных и Google Services. Личный опыт и KMP

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

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

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

В чем реальная уязвимость сигнальных серверов

Многие мессенджеры гордятся стойкостью шифрования - AES-ключи, обфускация трафика и борьба с DPI выглядят солидно. Но остается один критический нюанс: у них всё равно есть сервер.

Даже если его называют «сигнальным» и говорят, что он нужен только для установления связи, это всё равно точка сбора данных. Если данные где-то собираются, за ними рано или поздно придут. Будь то хакерская атака или официальный запрос - метаданные (кто, когда и с кем общался) могут рассказать о вас больше, чем само содержание сообщений.

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

Читать далее

Локальный плеер для IOS: Music is Player

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

Привет! Я разработчик iOS‑приложения Music Player в компании MediaRise. Хотел поделиться инженерной частью: как мы организовали импорт музыки из Files, автосканирование, защиту от дубликатов и стабильное воспроизведение.

Читать далее

Мобильная разработка за неделю #615 (12 — 18 января)

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

Возвращаюсь с первым дайджесте в этом году. В нем про SwiftLint в масштабах компании, Android и ICMP, стабильный Compose Hot Reload и следующие два года в области разработки программного обеспечения, японская игра о скачках, электроналиватор и многое другое. Заходите!

Читать далее

Создаём iOS-style Wheel Picker в Jetpack Compose. Часть 1

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

Представьте классический сценарий в мобильном приложении: пользователю нужно выбрать год рождения, час будильника или количество товаров в корзине. На iOS для таких случаев давно существует элегантное и интуитивное решение - Wheel Picker (или UIPickerView). Этот компонент стал неотъемлемой частью языка дизайна Apple. В этой статье я расскажу вам, как реализовать такой же компонент в Android.

Приготовьтесь, будет много математики!

Читать далее

Как подружить Android и ICMP: заметки разработчика

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

Разбираемся, как работать с ICMP в Android, не имея прав root. От отправки простого ping-пакета до разбора служебных ICMP-сообщений.

Читать далее

FixMark — собственное мобильное приложение, которое упростило нашу логистику

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

Привет, Хабр! Меня зовут Грищенков Евгений, я системный аналитик Fix Price. В этой статье расскажу о собственном приложении FixMark. Отгрузка в коробках уменьшает затраты на транспортную и складскую логистику. Для маркировки коробок используются общепринятые SSCC-коды (сокращение от Serial Shipping Container Code), которые облегчают отслеживание грузов и помогают автоматизировать логистические операции, позволяя идентифицировать грузы на всех этапах транспортировки. Фактически один SSCC-код агрегирует данные о штрих-кодах всех товаров внутри коробки, позволяя проводить операции со всем содержимым через одно сканирование.

Читать далее

Как проходить Leetcode-интервью: ритуал, который работает

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

Решил 434 задачи на Leetcode и прошёл все кодинг-интервью за последние 4 года — X, Google, Careem, TrustWallet, Yandex. Делюсь тем, что понял: какие мифы уже не работают, как готовиться, и главное — ритуал решения задачи, который оценивают интервьюеры.

Читать далее

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

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

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

В последнее время я вижу много рекомендаций о том, как успешно работать с клиентской базой и развивать клиентский опыт. Кажется, что в этой теме я могу быть полезным. Меня зовут Алексей Ласкин, я руководитель Центра компетенций по монетизации данных в команде РСХБ.Цифра, занимаюсь проектами по монетизации данных в цифровых каналах экосистемы «Я в агро» — Свое фермерство, Свое родное, Свое за городом, Свои финансы, Свой бизнес, Монеты.

Хочется поделиться тем, как развивается СVM (Customer Value Maximization) и какие тренды на него влияют: разработчикам это может помочь сформировать понимание целей и средств разработки, которые следует использовать при проектировании СVM-систем. Опыт банков, показателен в части объема данных, который мы можем использовать для формирования предложений.

Читать далее

Как укротить SwiftLint в масштабах компании

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

Всем привет! Меня зовут Артём Вичужанин. В разработке я больше пяти лет: начинал с десктопных приложений на Delphi и микропрограмм для контроллеров на C++, позже ушел в мобильную разработку. Сейчас в Naumen я отвечаю за разработку мобильных продуктов, и в рамках проектов регулярно сталкиваюсь с вопросами качества кода и автоматизации.

Именно в корпоративной разработке особенно остро чувствуется: чем больше проектов и команд, тем сложнее удерживать единый стиль кода.

В этой статье я делюсь опытом настройки SwiftLint сразу для нескольких репозиториев — так, чтобы кодстайл оставался единым и не расползался со временем.

Читать далее

Navigation3 + Koin в Compose Multiplatform

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

В этой статье я бы хотел поделиться своими наработками по тому, как можно удобно совмещать библиотеку Navigation3 и Koin в Compose Multiplatform проекте и какие подводные камни есть на текущий момент.

Читать далее

Flutter, Fuchsia, Zircon, ChromeOS, Aluminium OS, WGPU, Tensor Modem, RIL, SeL4, FIDL будущее Андроида и других ОС №2

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

В конце 2025 года техноблоги взорвались инсайдами: Google планирует выпустить премиальный ноутбук под брендом Pixel. Но работать он будет не на ChromeOS, как привычные «Хромбуки», и не на Windows.

Кодовое имя инициативы — Aluminium. Новость не обошла стороной и хабр.

Суть проекта как обычно для Google проста и жестока: ChromeOS как отдельная операционная система должна умереть. Будущее — это Android, который научился быть десктопом.

Но прежде чем говорить об Aluminium, нужно понять, почему Flutter стал критичным для всей стратегии Google. И здесь начинается история о том, как устаревший C API чуть не убил будущее кроссплатформенной разработки.

Читать далее

Работа с аудио в Android: опыт реализации DAF — техники терапии заикания

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

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

Возможно для кого-то это окажется полезным.

Читать далее

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

Как правильно оттестировать первый релиз Android приложения для выкладки в Google Play Market

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

Краткое руководство для прохождения тестирования вашего первого релиза в Google Play market.

Как многие наверное знают, Гугл требуетналичие 12 тестировщиков в течении 14 дней чтобы вы успешно прошли его проверку. Это у него кратко. «А можно подробней? Детали?».

Данная небольшая статья как раз и предоставляет чуть больше данных.

Что именно требует Google?

Читать далее

Приложение на qt. Дневник разработки. Начало

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

Добрый день!

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

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

Читать далее

Оптимизация и запуск нейронных сетей на React Native: кейс с травой

Уровень сложностиСложный
Время на прочтение26 мин
Охват и читатели9.8K

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

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

Читать далее

Flutter Live Templates (Сниппеты)

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

Те, кто хоть раз пробовал что-то сделать на Flutter, обычно начинали с того, что создавали новый Dart-файл и писали stfl, что сразу создавало шаблонный StatefulWidget с указанным именем для виджета и его состояния. В среде Flutter это называется Live Templates, но по сути — это сниппеты.

Помимо стандартных сниппетов stfl и stls, существуют и другие базовые шаблоны, которые уже установлены по умолчанию. А именно:

Читать далее

Анимация смены темы в Compose Multiplatform

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

Анимация смены темы в Android-версии Telegram на протяжении долгого времени вдохновляет разработчиков на попытки реверс-инжениринга этого красивого трюка: в сети немало подробных гайдов, как сделать подобную анимацию при помощи традиционных XML View и даже Flutter. Но реализаций этой элегантной (хоть и совершенно бесполезной) анимации на Jetpack Compose мне найти так и не удалось, что привело к созданию маленькой библиотеки для анимирования смены темы.

Вера в будущее KMP также подтолкнула меня к тому, чтобы сделать ее из коробки готовой к установке в Compose-Multiplatform проекты, с поддержкой всех основных платформ (Android, iOS, Desktop JVM, Web WASM+JS).

Хотя сама библиотека вышла крайне компактной, ее реализация оказалась довольно нетривиальной на мой субъективный взгляд и может быть интересна каждому, кто изучает Compose или ищет подобные решения для своего проекта.

На старте написания библиотеки сами собой возникли ряд требований, которым она должна была отвечать:

Читать далее

Мой дашборд

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

Дома у меня лежали несколько старых Android-устройств. Они работают, но давно не используются и просто лежат без дела.

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

Потом я понял, что для этого нужна веб-часть и мобильное приложение. Сделал веб-приложение на Analog и Android-клиент на Ionic Framework. В разработке активно помогал AI-ассистент из Qoder — он сильно ускорял работу и решал много задач сам.

Проект пока ещё в процессе, но я решил написать о нём пост. Возможно, кому-то пригодятся мои наработки.

Читать далее

Сравнение ИИ для участия в контесте по вайбкодигу

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

Рассказываю, как я делала приложение: «AI тамагочи» с помощью разных ИИ (ChatGPT, Claude, Perplexity и Cursor).

Читать далее