Обновить

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

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

Flutter + Cursor: настройка background agent

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

Если вы предпочитаете использовать Jules (Google AI Agent), пожалуйста посмотрите эту статью.

Краткая история — недавно Cursor добавил возможность запускать AI Агентов с помощью которых можно работать с задачами на фоне, точно в таком же окружении, как на своем компьютере.

Поскольку агент запускается в ubuntu контейнере, то лучше всего его настроить заранее.

Начнем!

Читать далее

Ликбез по UseCase’ам Android: от базовых реализаций до мультипровайдерных и многомодульных систем — Часть 2

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

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

Читать далее

Зумерам стало сложнее находить работу в IT. Во всем виноват AI?

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

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

Но рынок изменился — зумерам находить первую работу стало гораздо сложнее. Раньше новички учились на рутине — багфиксы, простая верстка, юнит-тесты, ручная аналитика. Сегодня эти задачи отдают AI. Компании реже вкладываются в рост молодых, предпочитая оптимизацию процессов: здесь меньше рисков и затрат, выше скорость. Это удобно бизнесу, но для тех, кто только начинает карьеру, вход стал намного сложнее. 

Меня зовут Татьяна Горбацевич, я тимлид рекрутинга в KODE. В статье расскажу о том, как меняется рынок, за что ценят зумеров и что делать, если вы только начинаете карьеру.

Читать далее

Я написал свой VPN-клиент для Android. Зачем, если их сотни, и что скрывается под капотом?

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

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

Эта статья — мой личный "бортовой журнал". Я не претендую на создание самого безопасного решения, это скорее история о пути, граблях и открытиях для тех, кто тоже решит заглянуть под капот VPN-технологий на Android.

Так родилась идея этого проекта — создать свой, пусть и простой, VPN-клиент. Это не попытка сделать коммерческий продукт, а скорее исследовательское погружение, мой личный "челлендж" и способ разложить всё по полочкам.

Заглянуть под капот

Рулим светодиодом по UDP и ESP8266

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

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

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

Читать далее

Ликбез по UseCase’ам Android: от базовых реализаций до мультипровайдерных и многомодульных систем — Часть 1

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

Чистая архитектура — не просто модный термин, а способ держать код в узде по мере роста Android-приложения. В этой статье — подробный разбор того, как выстроить работу с UseCase’ами: от базовой интеграции в ViewModel до сложных кейсов с несколькими провайдерами и платежными системами. Разберёмся, как применять принципы SOLID на практике, не скатываясь в оверинжиниринг — и при этом не жертвовать гибкостью архитектуры.

Читать далее

Хроника изменений API фоновой работы в Android

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

Привет! Меня зовут Алексей, я работаю Android-разработчиком в Облаке Mail. Наше приложение выполняет важную задачу — хранит воспоминания пользователей. Для этого необходимо уметь правильно работать с файлами в фоне, чтобы не только надёжно хранить те самые воспоминания, но и быстро их загружать, редактировать и делиться. В этой статье я расскажу о том, как мы пришли к нашим современным методам фоновой работы в Android.

Читать далее

Функциональное программирование в Android. Теория категорий и DI

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

Кульминация цикла о функциональщине в Android! Сегодня изучаем чистые функции — ещё один важный принцип функционального программирования.

Учтём контекст и познакомимся с сопутствующими терминами, раскрывающими суть чистых функций. А ещё обсудим место концепции Dependencies Injection в функциональном программировании. В общем, вперёд за новыми знаниями!

Читать далее

Как Android-разработчик в iOS погружался: мой опыт внедрения Kotlin Multiplatform

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

Привет, Хабр! Меня зовут Артем Клименко, я Lead Android-разработчик в МТС Web Services, занимаюсь продуктом Membrana Kids.

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

Читать далее

Интеграция Flutter Mobile SDK в ОС Аврора

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

Аврора — это отечественная мобильная ОС, развиваемая компанией «Открытая мобильная платформа». Она построена на базе Linux и унаследовала часть решений от Sailfish OS, но за последние годы превратилась в самостоятельную, зрелую платформу. Пятая версия, вышедшая в 2024 году, ориентирована не только на корпоративный сектор, но и на массового пользователя. В ней — переработанный интерфейс, поддержка планшетов, 64-битная архитектура, повышенная устойчивость и растущая экосистема приложений.

И вот в эту экосистему мы решили встроить наш Flutter Mobile SDK. В этой статье мы — тимлид Mobile SDK в 2ГИС Александр Максимовский и Flutter-разработчик @Sameri11 Михаил Новосельцев — расскажем про технические детали адаптации.

Читать далее

Часть 2. GoForm — как не страдать с формами во Flutter

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

Устали от бесконечных TextEditingController и GlobalKey? Замучили проблемы с асинхронной валидацией? Добро пожаловать в мир GoForm — библиотеки, которая наконец-то превратит создание форм из пытки в удовольствие!

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

Читать далее

Стартап за 100 дней. Неделя первая. Аналитика

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

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

Читать далее

Отревьюируй себя сам! (памятка начинающим)

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

«Работает - не трогай» - самый опасный принцип, который передается между разработчиками быстрее, чем баги через копипасту.
Да, код может запускаться. Да, он даже может делать то, что нужно. Но вопрос в другом - можно ли с ним работать? Понять, поправить, развить, не впадая в экзистенциальный кризис.
Эта памятка не про чистоту ради чистоты. Она про то, чтобы через неделю ты сам себе не писал комменты со словами «кто это вообще придумал». "Отревьюируй" себя пока это не сделал кто-то другой.

Читать далее

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

Настраиваем CI/CD Android-проекта, часть 3. Автоматизация публикации версий в Play Store

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

Всем привет, меня зовут Кирилл и я Android-разработчик в Scanny. В прошлых статьях мы разобрали, как будет выглядеть наш CI/CD, научились запускать статический анализатор кода, выполнять Android (Marathon Labs и Firebase Test Lab) и Unit-тестирование, собирать различные Build Flavors и отправлять их в нашу Telegram-группу.

В этой статье мы настроим публикацию свежих версий в Play Market на примере Gradle Play Publisher и Fastlane, а так же поработаем с Gitlab Tag'ами.

Так же улучшим наш CI/CD, собрав свой Docker-образ со всем необходимым окружением.

Читать далее

Лучшие российские low-code платформы 2025. Исследование Фонда Сколково и аналитического центра TAdviser

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

Российский рынок low-code платформ активно развивается и насчитывает более 50 программных продуктов. Интерес к ним проявляет, в основном, крупный бизнес. Часто корпорации развивают собственные центры разработки, но нередко прибегают и к помощи вендоров, поскольку растет потребность в поиске современных универсальных решений для разработки высоконагруженных корпоративных систем. Как результат, возрастает интерес к low-code платформам (Low-Code Application Platforms, LCAP).

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

В проекте Фонда «Сколково» и аналитического центра TAdviser, о котором речь пойдет далее, предпринята попытка оценить уровень зрелости российского рынка low-code платформ с точки зрения функциональной готовности решений к запросам заказчиков. В рамках исследования были изучены две точки зрения на рынок – со стороны пользователей и со стороны разработчиков.

Исследование включает в себя три этапа:

1.      Глубинные интервью с конечными пользователями.

2.      Опрос разработчиков.

3.      Экспертная оценка.

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

Читать далее

Сервер управления боксом и станцией дрона: архитектура и принципы работы

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

Сервер обеспечивает удалённое управление устройствами, подключёнными по WebSocket. На этапе тестирования к нему также подключено веб-приложение, через которое пользователь может управлять устройствами.

Читать далее

Эффекты в Jetpack Compose, лежащие на поверхности

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

Всем привет! Меня зовут Владимир, и я мобильный разработчик в компании «Финам». В своих проектах мы активно используем Jetpack Compose, в котором, несмотря на растущую популярность, получение некоторых визуальных эффектов до сих пор не так очевидно, как хотелось бы. В этой статье рассмотрен один из способов «наложения» различных эффектов рендеринга на уже готовый контент.

Читать далее

Профайл-виджет для игр

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

Привет! Хочу рассказать о небольшом виджете профилирования на ImGUI для игр. Под катом можно узнать о функционале и реализации. А так же заполучить сорцы!

Читать далее

Что не пишут в документации Kotlin Contracts: тёмные закоулки и пасхалки

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

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

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

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

Читать далее

2D-скролл во Flutter

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

Да кто такой этот ваш 2D-скролл? Зачем он нужен, если ты не делаешь аналог excel? На самом деле, двунаправленная прокрутка нужна в огромном количестве сценариев использования мобильных приложений, в виде таблицы можно представить самые разные сущности — как, например, наш видеоредактор. 

Есть только одна маленькая проблема: видеоредактор Yappy кроссплатформенный, написан на Flutter, а до недавнего времени команда фреймворка предлагала только один способ реализовать 2D-скролл — очень не производительный. В статье рассказываю, в чём была была загвоздка, что есть во Flutter сейчас и каких впечатляющих результатов можно добиться собственной реализацией. 

Читать далее