Обновить

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

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

Статья 2: Подробнее про MVVM

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

Серия статей с очередным разбором MV* шаблонов, но с интересными деталями
Даже опытные разработчики смогут найти что-то новое для себя

Это вторая статья из серии,
в которой подробно разбираем MVVM
и является ли класс ViewModel от Google, сущностью ViewModel из шаблона

Статья 2: Подробнее про MVVM
- 🔨 Функции обратного вызова (Callback)
- 🛠 Паттерн Наблюдатель (Observer)
- 📜 MVVM (ViewModel)
- 🔨 Привязка данных (Data Binding)

Найти новое

Как чек-лист на внутреннем портале убил 70% вопросов о релизах — без автоматизации и бюджета

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

Знакома ли вам ситуация, когда ключевые шаги релиза живут только в головах команды? Когда понять, что именно сейчас происходит с проектом — задача для ясновидящего с магическим шаром и кофейной гущей? Команда iOS-разработки в ПСБ столкнулась с этим и нашла решение.

Привет, Хабр! Я Александр Дровняшин, iOS-разработчик в ПСБ (и ответственный за выпуск приложения на iOS). И сегодня я расскажу, как простые чек-листы в Confluence резко повысили прозрачность нашего релизного процесса и помогли оперативно и просто собирать обратную связь.

Читать далее

Продолжение статьи универсальный бокс для дрона

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

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

Читать далее

NoDPI4Android. Решаем проблему «деградации» YouTube теперь и на Android

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

Салют, Хабр! На связи снова я, Aragorn, со своим проектом по терроризированию Роскомпозора. В прошлый раз я рассказывал о NoDPI - утилите для "раздеградирования" YouTube и установил личный рекорд - 400 звезд на GitHub и блокировка статьи РКН через три дня после публикации.

Многие мои знакомые и люди в комментариях просили сделать версию под Android и Android TV. Я не очень дружу с Джавой и с Джавой под андроид в особенности, и поэтому такая перспектива меня не очень прельщала, но у меня был опыт написания android-приложений на python и kivy, который я и решил применить. После нескольких дней (и ночей) напряженного труда и танцев с бубном, мне наконец удалось создать NoDPI for Android, который практически не имеет аналогов. Именно о нем я и хочу сегодня рассказать. Надеюсь, статья будет вам полезна и интересна. Поехали!

Читать далее

Flutter Дайджест – Июнь 2025

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

Привет, Flutter-разработчики! 👋

Я автор телеграм-канал FlutterPulse! Месяц выдался жарким — и не только из-за погоды ☀️ Мы запустили новую рубрику, пересобрали формат пакетов и собрали для вас крутую подборку новостей, гайдов и видео. Поехали! 👇

Читать далее

Статья 1: Введение в MV шаблоны

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

Серия статей с очередным разбором MV* шаблонов, но с интересными деталями
Даже опытные разработчики смогут найти что-то новое для себя

Это первая статья из серии, которая является подводкой к самому интересному
Вспоминаем что такое MVC и MVP

Статья 1: Введение в MV шаблоны
- 📜 M‑V-подставь_свое
- 📜 MVC (Controller)
- 📜 MVP (Presenter)
- 🛠 Паттерн Команда (Command)
- 📜 MVP (Moxy)

Вспомнить былое

Универсальный бокс для дрона

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

Предисловие

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

Продолжение следует.

Ныряем в холодные потоки Kotlin Flow

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

Лето — лучшее время для сплава. Поэтому, если вы пока не в отпуске, давайте устроим короткий сплав по асинхронным потокам данных в Kotlin.

Читать далее

Работа с формами во Flutter

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

Работа с формами — неотъемлемая часть любого Flutter-приложения. В этой статье я расскажу о том, как создавать формы с помощью стандартных инструментов (Form, TextFormField, GlobalKey) и какие подводные камни возникают при их масштабировании.

Читать далее

Apple Foundation Models Framework: обзор и первые шаги

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

На конференции разработчиков WWDC 2025 Apple представили Foundation Models framework — встроенную в устройства LLM, работающую локально и без доступа к интернету. Модель не увеличивает размер приложения, имеет три миллиона параметров и, по словам Apple, оптимизирована для выполнения специфических задач, таких как обобщение, информирование и классификация, однако не подходит для продвинутых рассуждений. У модели также есть ограничения на контент, описанные на сайте Apple.

Читать далее

Интеграция ChatGPT в Java: распознаём автомобиль по фото

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

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

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

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

Читать далее

Файлы под контролем: наш путь к эффективной организации данных на примере одного проекта

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

Рано или поздно любой разработчик мобильных приложений сталкивается с необходимостью внедрения в приложение работы с файлами. В этой статье я хочу рассказать о нашем опыте взаимодействия с файловой системой в рамках разработки приложения «Автоматизированная система управления мобильными бригадами».

Читать далее

Незаметное ограничение Android 15

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

Сейчас Android 15 активно появляется у пользователей. И, как мне кажется, одна его особенность для многих могла остаться незамеченной и даже в документации в описании behavior-changes она в конце, а в Features and Changes list и вовсе забыта.

Читать далее

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

Расширяем возможности VK DeviceHub: как мы добавляли поддержку iOS для собственной фермы мобильных устройств

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

Привет, Хабр. Меня зовут Даниил Смирнов. Я руководитель команды Android Core R&D в VK.

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

Читать далее

Настраиваем CI/CD Android-проекта, часть 2. Запуск Android-тестов

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

Всем привет, меня зовут Кирилл и я Android-разработчик в Scanny.

В прошлой статье, мы описали то, как будет выглядеть наш CI/CD, научились запускать статический анализатор кода, выполнять Unit-тестирование, собирать различные Build Flavors и отправлять их в нашу Telegram-группу.

В этой статье я покажу, как можно подключить и запустить Android-тесты в рамках CI/CD на примере Marathon Labs и Firebase Test Lab.

Читать далее

Ошибки ИИ, которые спасают вашу работу: как нейросети генерируют баги

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

Пока менеджеры мечтают о мире, где можно просто шепнуть ChatGPT «сделай мне Uber, но подешевле» — и вуаля, готовый продакшен, разработчики делятся на два лагеря: одни паникуют, другие спокойно встраивают Copilot в рабочий процесс и смеются над его гениальными архитектурными решениями.

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

Я Илья Некрасов, Android Team Lead KODE. В этой статье предлагаю разобраться, почему бизнес так любит идею «разработки без разработчиков» и почему она не работает. 

Читать далее

Функциональное программирование в Android. Cтруктуры данных и State Machine

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

Продолжаем погружение в мир функционального программирования! Тема новой статьи — функциональные типы данных и их структуры. Из неё вы узнаете о принципе неизменности данных, о понятии State Machine и о способах его применения в программировании.

А ещё мы исследуем функциональную библиотеку Kotlin Arrow, обсудим поддержку Null, поток данных и функциональную обработку ошибок, а также начнём проектировать Data и Domain слои демонстрационного приложения. В общем, скучать не придётся!

Читать далее

AIDL в React Native в 2025 году

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

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

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

Читать далее

Пора слезать с иглы обновлений: как мы перешли на кросс-платформенную дизайн-систему и перестали ждать iOS и Android

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

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

Читать далее

Intent, WebView и биометрия: как безобидные функции становятся инструментами хакеров

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

Из-за экономических санкций и удаления приложений из App Store и Google Play российские организации были вынуждены отойти от привычных всем репозиториев, предоставив злоумышленникам больше возможностей для обмана пользователей: загрузка и обновление приложений по внешним ссылкам даже для банковских клиентов стали привычными. Более того, пользователи ищут более удобную альтернативу известным приложениям

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

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

Читать далее