Обновить

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

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

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

Уровень сложностиСложный
Время на прочтение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.7K

Продолжаем погружение в мир функционального программирования! Тема новой статьи — функциональные типы данных и их структуры. Из неё вы узнаете о принципе неизменности данных, о понятии 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 российские организации были вынуждены отойти от привычных всем репозиториев, предоставив злоумышленникам больше возможностей для обмана пользователей: загрузка и обновление приложений по внешним ссылкам даже для банковских клиентов стали привычными. Более того, пользователи ищут более удобную альтернативу известным приложениям

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

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

Читать далее

Поведенческие паттерны проектирования в примерах на Swift для самых маленьких

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

Всем привет! Зачастую чтобы в чем то разобраться полезнее один раз увидеть конкретный пример чем несколько раз прочитать заумное описание.Решил написать ряд небольших статей для начинающих, в которых дать краткое описание основных паттернов проектирования и привести лаконичные примеры их использования. Данная статья, как можно догадаться из названия =), посвящена поведенческим паттернам.

Читать далее

Трудности обслуживания приложений под Android

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

Недавно наткнулся на новость о том, что количество приложений в Google Play Store сократилось на 47%.

Я сам энтузиаст разработки под Android и последние 5 лет работал над альтернативой для Google Play Music и Podcast под названием MusicSync. Так что, будучи близким к теме человеком, мне захотелось поделиться своим опытом обслуживания приложений и заодно пояснить, почему меня эта новость нисколько не удивила.

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

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

Читать далее

КАША в голове, КАША в коде — первые шаги к порядку

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

7 советов для начинающих программистов

Заметил? Многие, кто только начал изучать программирование, сразу ныряют в сложные штуки и пытаются прыгнуть выше головы.

Я через это проходил.

И чтобы не сгореть на старте, не чувствовать себя потерянным и не бросить все на середине, я собрал 7 советов, которые действительно помогают.

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

Читать далее

Flutter + Jules (настройка контейнера для background AI Agent)

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

На этом Google IO google показал новый инструмент разработки - https://jules.google.com

В чем плюсы: пока бесплатный, работает на gemini, и это AI Agent.

Что это значит (пример):
Часто бывает проблема, что кол-во модулей в проекте или библиотек которые хотелось бы сделать, превышает кол-во которое можно поддерживать. Особенно если ведешь open source библиотеку.

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

Чтобы начать, обычно можно использовать небольшой промпт чтобы предсоздать план по которому Jules будет частично следовать (на самом деле она пересоздаст план, но имея рефренсы ей будет проще):

Читать далее

Не хотите поговорить о Kotlin Contracts?

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

Привет! Меня зовут Виталий. Я — Android‑разработчик в Альфа‑Банке. За время собеседований я заметил одну любопытную вещь: даже опытные котлиноводы частенько не в курсе такой мощной фичи, как Kotlin Contracts.

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

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

Читать далее

PWA vs сторы: что делать, если нужно вернуться в App Store и Google Play?

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

Как упаковать веб-приложение в нативную обёртку, пройти модерацию и снова стать доступным в App Store и Google Play — без дублирования разработки.

Летим читать