Обновить

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

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

Как настроить сериализацию Kotlin Any с поддержкой Parcelable и Serializable в Android

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

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

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

Узнать подробности

Что происходит с подписочной моделью в приложениях: уроки, тренды и ориентиры на 2026 год

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

Перевод статьи Лорелея Уитмен, RevenueCat

Ключевые выводы из крупнейшего в мире набора данных о подписочных приложениях

Краткое содержание

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

Каждый год наш отчёт «Состояние подписочных приложений» ставит целью понять, что меняется в индустрии: что нового, что ушло в прошлое и что нас ждёт. В этом году наш набор данных снова вырос: более 115 000 приложений, представляющих более 16 миллиардов долларов выручки. И мы проанализировали данные по всем 115 тысячам из них.

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

Если перефразировать слова Дэвида Барнарда: «Есть много приложений, которые зарабатывают много денег».

Но если у вас (как это ни удивительно) нет времени читать каждую страницу полного отчета, то этот краткий обзор для вас. Начнем!

Читать далее

Как разработать устройство с нуля. Прибор измерения ёмкости конденсаторов

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

В статье проектируется с нуля мобильное устройство для измерение емкости на микроконтроллере ATmega8.

Читать далее

Widgetbook: мост между сore командой, дизайнерами и продуктовыми командами

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

Привет, Хабр! Я Александр, занимаюсь Flutter разработкой продукта Свой бизнес и Дизайн-системы в команде РСХБ.Цифра.  РСХБ это не только банк топ 5* по размеру активов, но и огромная экосистема Своё со множеством мобильных приложений разной тематики: банкинг, туризм, жильё, маркетплейс фермерских продуктов, поиск работы в агропромышленном комплексе и другие . 

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

Читать далее

Ребрендинг глазами разработчика: как мы переходили к единому кластеру «КИОН»

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

Привет, Хабр! Меня зовут Андрей Юрин, я мобильный разработчик в онлайн-кинотеатре «КИОН». Недавно у нас произошел ребрендинг, который коснулся всех платформ, но ресурсов на весь идейный план не хватало. Было решено все делать в мини-команде супергероев из дизайнеров и разработчиков. Я был в зоне отвественности за Android TV и хочу поделиться, с какими проблемами пришлось столкнуться и как проходит ребрендинг в большой компании.

Читать далее

NodaLogic платформа бизнес-логики, построенная специально под AI-генерацию

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

Всем привет! Меня зовут Дмитрий Воронцов и я хочу кратко рассказать о своей новой low-code платформе NodaLogic, построении решений с помощью узлов(нодов) и свое видение будущего. Я автор мобильного фреймворка SimpleUI которому скоро исполняется 7 лет и в этой статье будут некоторые пересечения с ним – я хочу рассказать, зачем я сделал отдельную архитектуру, а не стал продолжать SimpleUI.

7 лет назад, когда я начинал Simple я хотел сделать LowCode фреймворк на котором разработчик может быстро разработать мобильное решение, как дополнение к своей учетной системе. Тогда еще не было LLM.  Но ориентиры во все времена одинаковые – чтобы решение было легко поддерживать и развивать, масштабировать – оно должно быть простым, компактным, читаемым. Объем кода может быть и не точный показатель, но когда на один и тот же функционал требуется в 10 (а то и в 100) раз больше/меньше строчек это сигнал. Этот ориентир у меня остался и для новой системы, как важнейший. Ведь не важно, что теперь разработчику не нужно писать, но ему нужно «читать решение», анализировать что ему нагенерила  нейросеть, чтобы направлять ее. И понятно, что можно взять любой стек и язык программирования и сгенерировать решение на нем, но будет ли при этом достигнут тот уровень простоты и читаемости как в LowCode фреймворке?

Платформа позволяет делать клиент-серверные решения с мобильными самостоятельными оффлайн/онлайн фронтами-приложениями (Android) веб-клиентами и серверами. Естественно, единая семантика на веб и на мобильную платформу. Также можно делать и чисто мобильные фронты, мобильные приложения без сервера.  

Читать далее

От костылей к биекции: как я писал генератор судоку на JS

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

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

Я работаю учителем математики и информатики в солнечном Таиланде. Во время школьных каникул, вместо регулярных путешествий по Азии я решил развлечь себя изучением синтаксиса JavaScript.

Когда-то, мы с моей замечательной (но ныне бывшей) женой фанатели от нестандартных судоку со знаками «больше-меньше», мы сами печатали себе уникальные сетки, а иногда, я даже рисовал их руками на основе готовых шаблонов из интернета.

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

Читать далее

Строим перспективу по изображению

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

Преобразование Хафа, оператор Собеля и немного линейной алгебры: как я добавил в приложение автоматическое построение перспективы по изображению.

Читать далее

Стадии принятия ИИ в разработке: почему команда саботирует его внедрение и что с этим делать

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

Сейчас в IT забавная ситуация. Одни компании отчитываются о кратном ускорении с ИИ и экономии миллионов рублей. Другие потратили бюджет на лицензии, обучение и евангелизм — и получили команду, которая тихо ненавидит Copilot и пишет код руками, как в 2019-м. Разница между первыми и вторыми не в технологии. Технология одна и та же. Разница — в людях и в том, как с их сопротивлением работают. Или не работают.

Привет, Хабр. Мы — Сергей Калинов и Андрей Макар-Уваров, руководители бизнес-анализа и фронтенд-разработки в Surf. Несколько лет внедряем ИИ на реальных проектах и видим, что сопротивление ему проходит по вполне узнаваемым стадиям Кюблер–Росса. Разберём, почему разработчики так реагируют.

Читать далее

Flutter Widget Previewer: разработка UI без запуска приложения

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

Я разрабатываю приложения на Flutter уже много лет, и то, как он развивается, не перестает меня удивлять. Сегодня Flutter Widget Previewer — это уже не эксперимент, а нормальный инструмент для проектирования UI: он позволяет видеть, как виджеты отрисовываются в реальном времени, без запуска приложения целиком.

В этой статье разберем, что такое Flutter Widget Previewer, как им пользоваться и как этот инструмент помогает ускорить разработку интерфейсов. Заодно поговорим о нескольких особенностях, о которых стоит помнить.

Читать далее

Модернизация и развитие зрелых продуктов на Kotlin Multiplatform: опыт компаний и эффект для бизнеса

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

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

Поддержка двух нативных приложений в таких условиях может быть дорогой в финансовом плане и сложной в скорости вывода новых функциональностей. Один из способов модернизировать продукт и снизить расходы – постепенно перейти на Kotlin Multiplatform.

В этой статье технический директор Александр Кияйкин и iOS-разработчик Мария Нестерова из CleverPumpkin вместе с экспертами X5 Tech, AvitoTech и MAGNIT OMNI разбирают, как компании со зрелыми цифровыми продуктами использует KMP, какие риски учитывают и какой видят от этого эффект.

Читать далее

iOS network frameworks и HTTP TCP Server внутри приложения

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

Привет. В iOS разработке работа с сетью является одной из ключевых задач. Для этого существует целый арсенал инструментов: от высокоуровневого URLSession до работы с низкоуровневыми BSD сокетами.

В этой статье мы разберем список доступных инструментов, напишем и запустим сервер внутри iOS приложения, используя самый низкоуровневых инструмент (BSD sockets). И закрепим это небольшим проектом, который будет использовать наш сервер. Им будет небольшая админка, с помощью которой можно будет загружать файлы из файловой директории приложения через веб браузер (с других устройств в локальной сети).

Читать далее

SMS в MikroTik: Читай меня полностью

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

Наверно, все владельцы роутеров MikroTik знают, что они декодируют все SMS по стандарту 7-bit вне зависимости от того, как изначально было закодировано сообщение. Как оказалось, даже при декодировании 7-bit MikroTik использует не все 128 символов из стандартного алфавита (GSM 7-bit Default Alphabet).

А ещё вместо одного длинного SMS роутер покажет вам его части по отдельности, иногда с неполными дубликатами. Как же тогда нормально прочитать любое сообщение, отправленное на роутер? Надо стать протоссом и построить MotherSMS.

Построить

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

Мобильная разработка за неделю #624 (16 — 22 марта)

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

В новом выпуске отладка iOS-приложений на практике и решение для установки сторонних приложений на Android от Google, Remote Compose и Copy-On-Write, эффекты рисования и градиентного рендеринга, неверная реализация MVVM, рынок труда для джунов в 2026 году и многое другое. Заходите!

Читать далее

BP Tracker: считываем давление с тонометра камерой iPhone. Часть 1 — выбор стека и первый экран

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

Многие приложения для здоровья в России перестали нормально работать. Omron — одно из них. А давление мерить надо каждый день. Поэтому я решил сделать своё iOS-приложение, которое через камеру считывает показания с любого тонометра, сохраняет их и строит графики динамики.

Я Senior CV-инженер — компьютерное зрение моя основная работа. Так что OCR с дисплея тонометра технически не должен был стать проблемой. Но как iOS-разработчик я — полный ноль. Xcode открыл впервые. Swift видел мельком. Это честный рассказ о том, как это выглядит изнутри.

И да, я делаю open source приложение за свободу здоровья от политики — и при этом только под iOS. Ирония не ускользнула. Но это open source — найдётся кто-нибудь с Android-девайсом и свободным вечером 🙂

Читать далее

ИИ-агенты и Flutter: как сделать интеграционные тесты частью процесса разработки

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

Привет, хабровчане! Меня зовут Александр и я Flutter-разработчик. В этой статье хочу рассказать о том как я подружил ИИ-агентов с интеграционными тестами Flutter, какой инструмент пришлось для этого написать и что вообще из этого вышло. Летс гоу.

Читать далее

Автоматическая генерация UI-настроек: от типа данных к готовому интерфейсу

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

Меня зовут Илья, я мобильный разработчик в Naumen. Моя основная специализация — iOS-разработка. Я занимаюсь развитием мобильного клиента платформы Naumen Service Management Platform, а также Chat SDK в рамках Naumen Contact Center.

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

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

Читать далее

Как безопасно хранить и открывать пользовательские файлы локально в Android

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

Приходилось ли вам браться за задачу, из-за которой прошлый разработчик успел выгореть и сменить компанию? Что ж, мне удалось с такой столкнуться — c задачей обеспечения безопасного локального хранения файлов, которые пользователь загружает в приложение, например, общаясь с технической поддержкой в чате. Обо всех деталях и во всех подробностях я и расскажу в данной статье.

Узнать подробности

Я перестал пользоваться Anki и сделал VibeLing – своё приложение для изучения языков

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

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

В итоге я сделал своё приложение, где попытался закрыть все эти боли. За 5 месяцев его скачали 1000+ человек.

Читать далее

Отладка iOS-приложений на практике: 3 реальных бага

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

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

Читать далее