Обновить

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

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

Выход iOS 26. Почему нативная разработка — это преимущество и необходимость

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

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

Читать далее

Технический гайд по сторис ч.2: багфиксы, оптимизация, новые фичи и +350% к переходам

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

Привет! Меня зовут Владислав Фальзан, я работаю android-разработчиком в М2. Наша команда мобильной разработки развивает приложение — онлайн-платформу для решения вопросов с недвижимостью. Основные пользователи приложения — физические лица (B2C) и риелторы (B2B2C). Эта статья — продолжение технического гайда для android-разработчиков, которые хотят реализовать и внедрить полный цикл сторис у себя в приложении с использованием: Compose, MVVM, Coroutines flow и правил чистой архитектуры.

Читать далее

Flutter + нативные iOS виджеты: любовь с первого Method Channel

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

Как создать нативные iOS виджеты для Flutter приложения: Widget Extension, Method Channel для обмена данными, Timeline Provider для обновлений и SwiftUI верстка.

Пошаговый гайд с примерами кода на русском языке. Рассматриваем настройку App Groups, работу с UserDefaults и стратегии обновления виджетов.

Без лишних библиотек, только нативные возможности iOS и стандартные механизмы Flutter.

Читать далее

Android. Starting Kivy App and Service on bootup. API 35

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

Эта заметка является дополнением к статье Android. Starting Kivy App and Service on bootup, в которой запускал сервисом kivy приложение на API 22 Android 5. Теперь будем запускать на последних версиях Android. C API 26 Android 8 и по текущий API 35 Android 15 который есть у меня, постигли изменения, которые необходимо внести для автостарта сервиса. Проверял работу на API 22...35, телефоны: Highscreen power five, Nokia 8, Xiaomi Redmi Note 14.

Читать далее

Мобильная разработка за неделю #599 (18 — 24 августа)

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

В этом выпуске несколько технических разборов Max, отказ от MVVM и использование Retrofit с корутинами, магия анимаций RecyclerView и генерация UI Kit с использованием ИИ, опыт работы с Protobuf на реальном проекте, COBOL в 2025, вяжущая фасолина в топе App Store и многое другое. Заходите!

Читать далее

Тренажер французских числительных на Jetpack Compose

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

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

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

Читать далее

Что можно узнать о Max из AndroidManifest

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

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

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

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

Читать далее

Как RecyclerView создает магию анимаций: архитектура ItemAnimator под капотом

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

RecyclerView умеет превращать обычные операции с данными в плавные анимации. Когда вы добавляете элемент в список, остальные элементы плавно расступаются. При удалении — схлопываются. Эта магия происходит благодаря ItemAnimator — механизму, который я сегодня разберу до последнего винтика.

В этой статье мы погрузимся в архитектуру системы анимаций RecyclerView, проследим путь от вызова notifyItemInserted() до финальной анимации на экране.

Читать далее

Технический разбор Max: что внутри APK

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

Сейчас мессенджер Max «очень классно ловит даже на парковке» 🙃
Стало интересно: а что же за технологии стоят за этим чудом? Скачал APK (весит ~114 MB) и полез внутрь.

Читать далее

Как мы готовимся к новым версиям iOS

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

Привет! Меня зовут Антон Долганов, я старший iOS-разработчик в Контуре. Большую часть времени я работаю над инфраструктурными модулями, чтобы наши приложения были быстрыми, стабильными и легко развивались.

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

Читать далее

Clean Arch + Cubit + Reactor

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

Clean + Cubit + Reactor

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

Задача — как синхронизировать несколько независимых Cubit‑ов, работающих с одними и теми же данными, имеющих разную логику и при этом не связывать их напрямую и не пробрасывать события через UI.

Читать далее

Мобильная разработка за неделю #598 (11 июля — 17 августа)

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

В этом выпуске создаем тепловые карты и делаем элегантные и настраиваемые подсказки, делаем $100K на iOS-приложении и тратим все на исправление ошибок и выгорание, оцениваем мобильный рынок с Sensor Tower, объясняем, почему разработчики в России не освоили ИИ, ждем «момент BlackBerry» для Apple и многое другое. Заходите!

Читать далее

Flutter 3.35 — Что нового во Flutter?

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

Добро пожаловать в ежеквартальный релиз Flutter 3.35! Это обновление призвано повысить вашу продуктивность и включает в себя стабильную версию горячей перезагрузки с сохранением состояния в веб-версии и экспериментальный запуск предпросмотра виджетов! Благодаря усилиям нашего сообщества, Flutter 3.35 включает в себя 1108 коммитов от 168 уникальных участников, 39 из которых присоединились к нам впервые. Давайте узнаем, что нового!

Читать далее

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

Как избежать кошмара параллелизма в IoT: автоматы вместо потоков и корутин

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

В статье рассматривается библиотека на C++, которая предназначена для реализации технологии параллельного автоматного программирования (АП), отвечающей концепции среды ВКПа (подробнее о ней см. [1]). Для полного понимания материала рекомендуется ознакомиться с основами теории АП, представленной в статьях [2, 3, 4], Взаимосвязь машины Тьюринга с конечными автоматами (КА) подробно рассмотрена в [5]. Вопросы применения корутин в контексте автоматного программирования анализируются в статьях [6–9]. Но в минимальном варианте достаточно даже общего представления о модели конечного автомата и принципах объектного программирования.

Читать далее

Заменит ли WSA эмулятор Android Studio?

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

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

Кроме того, не стоит забывать, что иногда приложение может быть запущено в режиме изменяемого размера окна. Конечно, мы можем запретить подобное поведение в Manifest, но тогда мы получим не самый удобный опыт использования в desktop mode.

Встроенный в Android Studio эмулятор позволяет создавать resizable эмулятор. Но пользоваться им мне показалось не очень удобным. Кроме того, если вы страдаете от нехватки ОЗУ, пользоваться встроенным эмулятором становиться трудно. В моём случае имеем машину с 8 Гб оперативной памяти на борту, и работа эмулятора сопровождается постоянными фризами и зависаниями.

Однако недавно я нашёл решение — Windows Subsystem For Android (WSA). И несмотря на то, что поддержка проекта совсем скоро прекращается, всё работает довольно стабильно.

Читать далее

Простыми словами для начинающих Unity-разработчиков учим принципы KISS, DRY, YAGNI и BDUF через аналогии из жизни

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

Большинство статей о принципах разработки написаны сложным языком и отпугивают новичков. В этом материале KISS, DRY, YAGNI и BDUF объясняются через бытовые аналогии с примерами на Unity C#. Плюс рассказываем, когда эти принципы стоит нарушать.

Читать далее

Регистрируете ПО? Не торопитесь…

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

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

Читать далее

TAO Bubbles: элегантные и настраиваемые подсказки для ваших Jetpack Compose приложений

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

Каждый Android‑разработчик сталкивается с задачей обучения пользователей новым функциям или помощи в навигации по интерфейсу. Традиционные всплывающие окна или сообщения могут быть навязчивыми. Конечно же есть способ элегантно подсвечивать элементы UI и предоставлять контекстную помощь.
Встречайте TAO Bubbles — легковесную библиотеку для Jetpack Compose, созданную для отображения настраиваемых «пузырей», «подсказок» или «тултипов», которые могут указывать на конкретные UI‑компоненты.TAO Bubbles прекрасно подходит для создания пошаговых руководств, демонстрации новых возможностей или предоставления контекстно‑зависимой справки прямо в вашем приложении.

Читать далее

Android обновление API SDK до 35 версии в сжатые сроки, в большом легаси-проекте

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

Все мы (разработчики Android-приложений), не так давно получили письмо вида:
Редко подобные письма становятся проблемой, однако при определенных условиях - это может существенно потрепать вам нервы.

Костыль-решение

Стартап за 100 дней. Неделя 5 и 6. Можно ли сделать продукт в одиночку?

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

Привет, я Дима и хочу сделать стартап за 100 дней, а именно нескучное приложение для похудения. У меня за плечами опыт создания приложения с 20 МЛН установок и номинация «Приложение года» от Google. Смогу ли я повторить успех — покажет время, а пока буду делиться процессом создания, инструментами и подходами, которые сам использую.

Читать далее