#android_development

2025-05-13

Мастерство фокусов на Compose 2: как работает запрос фокуса

Привет! Меня зовут Костя, я Android-разработчик в онлайн-кинотеатре PREMIER. В процессе работы над проектом PREMIER для AndroidTV я столкнулся с тем, что в Jetpack Compose механизм фокусов — достаточно сложная и неочевидная тема. А информации в интернете об этом очень мало, особенно о специфичных сценариев вроде ТВ-приложений или устройств без сенсорного ввода. Поэтому я решил разобрать тему фокусов в Compose максимально подробно, чтобы помочь разработчикам лучше понять этот механизм и избежать типичных ошибок. В первой статье на эту тему мы уже разобрали базовую структуру фокусировки в Compose. Теперь пришло время углубиться в технические детали: что именно происходит, когда вызывается requestFocus() , как Compose выбирает элемент для фокусировки и какие изменения были внесены в Compose 1.8, чтобы улучшить этот процесс. Если вы работаете с приложениями под Android TV, кастомными компонентами или просто хотите лучше понимать, как работает система фокусов, эта статья для вас.

habr.com/ru/companies/habr_rut

#android_tv #androidtv #compose #jetpack_compose #focus #android_development #android

2025-04-30

Халява приходит в программирование

Недавно прогремел пост Артура Думчева (@arturdumchev), как халява якобы уходит из программирования. Можете ознакомиться с ним, чтиво достойное. Особенно комментарии. У меня сегодня день рождения: 39 лет. С 2003 года я работаю разработчиком, и сейчас делаю кое-что для ИИ. Интуиция подсказывает, что халява только начинается , мои чюваки. Сейчас — лучшее время быть разработчиком. Давайте начнем с точно того же определения, как было у Артёма: «для меня халява — это гарантированный результат за вложенные усилия. Логика повествования требует такого определения, дальше всё будет ясно». А дальше ясно, что из неверно поставленного условия может следовать что угодно. Читать далее!

habr.com/ru/companies/bar/arti

#бекенд #мобильная_разработка #android_development #ios_development #llm #вайбкодинг #промптинжиниринг #ответственность #архитектура #computer_science

2025-04-29

Мастерство фокусов на Compose

Привет! Меня зовут Костя, я Android-разработчик в онлайн-кинотеатре PREMIER. Среди прочего у нас есть приложение для Android TV. Работая над ним, я столкнулся с тем, что система фокусов в Jetpack Compose устроена сложнее, чем кажется на первый взгляд. Поскольку для ТВ-приложений и устройств без сенсорного управления работа с фокусом играет ключевую роль в навигации, мне понадобилось детально разобраться в теме. Результатами делюсь в статье.

habr.com/ru/companies/habr_rut

#android_tv #androidtv #compose #jetpack_compose #focus #android_development #android

2025-04-27

Халява уходит из программирования

Для меня халява — гарантированный результат за вложенные усилия. Логика повествования требует такого определения, дальше всё будет ясно. Халяве учили и учат в школе. Сделай домашнее по алгебре, выучи стихотворение, научись решать линейные уравнения — и получишь пятерку. Любовь получать пятерки сыграла злую шутку со многими, ведь в жизни вне учебных заведений халявы практически нет. Слово «легко» ниже по статье тоже означает гарантированный результат за усилия, но подразумевается «легко, если умеешь работать с собственной мотивацией».

habr.com/ru/articles/904754/

#бекенд #мобильная_разработка #android_development #ios_development #llm #вайбкодинг #промптинжиниринг #ответственность #архитектура #computer_science

2025-04-23

Интеграция JavaScript в нативные мобильные приложения для криптотрейдинга: нестандартный опыт и технические решения

23–24 апреля в Москве проходит Blockchain Forum — одно из ключевых событий в мире блокчейна и криптотехнологий. На форуме изучаем тренды, делимся опытом и слушаем коллег, набираемся насмотренности. Мы в CleverPumpkin разрабатываем и развиваем мобильные приложения, в том числе для криптовалютных сервисов, и хорошо понимаем с какими техническими вызовами сталкиваются команды. В этой статье мы делимся совместным опытом с командой EVEDEX, где мы интегрировали SDK на TypeScript, изначально предназначенный для веба, в нативные приложения , чтобы сохранить единую бизнес‑логику между платформами. Это решение дало массу преимуществ — но и принесло немало сложностей.

habr.com/ru/companies/cleverpu

#мобильные_приложения #криптовалютные_биржи #разработка_мобильных_приложений #android_development #ios_development #криптобиржи #blockchain #typescript

2025-04-18

На работе записывали экран, требовали 2 отчёта в день и контролировали, что я ем

Я Android-разработчик. Два года назад я попал в ловушку микроменеджмента. Мой руководитель требовал ежедневные планы, контролировал каждое действие и даже фиксировал продолжительность моих обеденных перерывов. Расскажу, как я распознал проблему, дошел до точки кипения и нашел выход из этой ситуации.

habr.com/ru/articles/901820/

#карьера_итспециалиста #микроменеджмент #микроменеджер #руководство #руководитель #андроид #андройд #android_development #android #менеджмент

2025-04-17

Разработали мобильное приложение для криптобиржи EVEDEX — функциональное решение для быстрой и безопасной торговли

Создать мобильное приложение для криптобиржи — всегда вызов. Особенно, если биржа сочетает в себе принципы DEX и CEX, предлагает встроенные кошельки, смарт-аккаунты и управление средствами без посредников. Мы в CleverPumpkin взялись за этот челлендж и разработали EVEDEX — удобное и безопасное приложение для криптотрейдинга.

habr.com/ru/companies/cleverpu

#разработка_приложений #криптовалютные_биржи #ios_development #android_development #мобильные_приложения #криптобиржи

2025-04-08

Приложение для Android: Справочник по DC-DC микросхемам с функцией подбора по параметрам и типовыми схемами включения

В одном из комментариев к статье о приложении SMD CODES habr.com/ru/articles/858392/ было предложено сделать отдельное приложение о микросхемах питания DC-DC (импульсные преобразователи напряжения). В мире электроники и проектирования устройств DC-DC преобразователи играют ключевую роль. Они позволяют эффективно преобразовывать напряжение, что особенно важно для портативных устройств и бытовой технике. Однако, выбор подходящей микросхемы DC-DC преобразователя может быть сложной задачей, особенно для начинающих инженеров. Именно для таких случаев было разработано новое приложение для Android — мощный справочник по DC-DC микросхемам с функцией подбора по параметрам. Основные функции приложения

habr.com/ru/articles/898940/

#dcdc #ремонт_техники #ремонт_ноутбуков #ремонт_бп #электроника #электроника_для_начинающих #smd_пайка #smdcode #источники_питания #android_development

2025-03-13

Сравнение Dagger 2, Dagger Hilt и Koin

В этой статье мне хотелось бы разобрать вопрос, которым часто задаются начинающие и молодые разработчики мобильных приложений под Android. Многие мобильные разработчики слышали о таких широко известных инструментах внедрения зависимостей (DI), как Koin и Dagger. Они решают одну задачу — управление зависимостями, но делают это по-разному. Но в чём же их принципиальная разница, в чём их отличия, их плюсы и минусы, и какой из этих инструментов выбрать при разработке нового проекта (и в зависимости от его сложности и требований)? Обо всём об этом постараюсь кратко изложить далее и дам рекомендации по выбору для новых проектов.

habr.com/ru/articles/890462/

#dagger_2 #hilt #koin #kotlin #dependency_injection #android_development

2025-02-24

Как оживает смартфон: Android на старте

Наши с вами телефоны включались бессчетное количество раз. Возможно, вы прямо сейчас запустили смартфон, чтобы прочитать эту статью. Ну а для тех, кто занимается разработкой, процесс включения устройств — обычная часть работы, которая повторяется десятки раз в день. Что же на самом деле происходит в момент загрузки? Какие этапы преодолевает система от простого нажатия кнопки включения до появления интерфейса? И как устройство готовится к полноценной работе? Давайте разберёмся, что скрывается под капотом Android и проследим процесс его запуска. Не пропустим ни шагу! Читать дальше

habr.com/ru/companies/surfstud

#android #запуск_устройства #разработка_мобильных_приложений #android_development #androidразработка

2025-02-23

R8: Шакалья работа (уменьшение apk через правки R8)

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

habr.com/ru/articles/885006/

#r8 #android #минификация #android_development #android_studio #agp #d8 #apk #dex

2025-02-20

Kotlin Coroutines под капотом: CoroutineContext и CoroutineScope

Structured Concurrency это одна из главных фишек Kotlin Coroutines, позволяющая оперировать иерархиями корутин через единый интерфейс, благодаря такой организации можно легко отменить сразу все корутины, имея ссылку только на самый высокоуровневый объект. В этой статье я разберу две базовые штуки на основе которых строится Structured Concurrency - CoroutineContext и CoroutineScope. Поехали!

habr.com/ru/articles/883588/

#android #android_development #kotlin #kotlin_coroutines #kotlin_coroutines_internals #algorithms #coroutines #coroutines_internals #data_structures

2025-02-19

Анализ Android-фич на доступность и внедрение accessibility в процесс разработки

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

habr.com/ru/companies/vk/artic

#android #android_development #accessibility #доступность

2025-02-13

Тайны рейтингов: как добиться стабильно высокого рейтинга Android-приложения?

По данным исследований ( Data.ai , Sensor Tower , Statista ), Android-приложения имеют на 10-30 % более низкие оценки, чем iOS-аналоги. Например, приложение может получить 4,5 на iOS и 3,5-4,0 на Android. Меня зовут Анастасия Симонова, я Android-разработчик в команде Домклик. Поделюсь нюансами разработки под Android и предложу некоторые решения для избежания проблем в будущем. Готовы? Приступим!

habr.com/ru/companies/domclick

#android #android_development #android_apps

2025-01-12

Топ-5 популярных вопросов на Android собеседовании [2025]

Cобеседования в IT - это всегда вызов и Android тут, конечно же, не исключение. Для успешного прохождения интервью в крупные и востребованные компании современный Android-разработик должен держать в голове огромное количетсво областей: от "базы" в виде Computer Science (структуры данных, алгоритмы) и навыков проектирования (архитектура, паттерны, System Design) до знания Java, Kotlin и, разумеется Android SDK . Добавим сюда и популярные фреймворки и библиотеки (которые к тому же устаревают каждые пару лет!) вроде RxJava и Kotlin Coroutines и получается совсем уж, на первый взгляд, неподъемный багаж необходимых знаний... К счастью, многие вопросы пересекаются между компаниями, так что наработав некоторую "базу" из них вы сильно повысите свои шансы на положительный результат и заветный оффер :) Давайте разберем ТОП-5 вопросов , с которыми можно столкнуться в крупных компаниях на российском рынке, поехали!

habr.com/ru/articles/873088/

#android #андроид #андроид_разработка #android_development #собеседование #собеседование_вопросы

2025-01-10

Морфинг геометрических фигур с SDF в фрагментных шейдерах GLSL и визуализацией на Jetpack Compose

Создание динамичных визуальных эффектов для мобильных приложений требует от разработчиков не только творческого подхода, но и соблюдения требований к производительности. Одной из наиболее эффективных техник для реализации плавных переходов и трансформаций объектов является использование шейдеров, которые позволяют выполнять сложные параллельные вычисления на GPU. Это не только обеспечивает плавность анимаций, но также может снизить нагрузку на CPU, делегируя ресурсоемкие задачи графическому процессору в определенных сценариях, что особенно важно для мобильных устройств с ограниченными ресурсами. В данной статье будет рассмотрен пример реализации плавной анимации морфинга геометрических фигур с использованием SDF (Signed Distance Functions) и GLSL для графического рендеринга.

habr.com/ru/articles/872728/

#glsl #shaders #opengl #opengl_es_20 #shader #signed_distance_fields #andorid #android_development #jetpack_compose

2024-12-22

Как мы раскрыли внутреннюю архитектуру Flutter и затащили его на собственную платформу

Если вы разрабатываете мобильные приложения, то почти наверняка сталкивались с Flutter — мегапопулярным открытым фреймворком от Google. Наша команда Mobile SDK and Applications Development, конечно, тоже захотела использовать Flutter при создании приложений для KasperskyOS — собственной микроядерной операционной системы «Лаборатории Касперского» — но был нюанс… Особенности архитектуры KasperskyOS задают условия, при которых мы не можем пойти проторенными дорожками и свободно интегрировать фреймворк на своей платформе. Подсмотреть решения где-то вовне мы не можем тоже — таких кейсов в индустрии просто не было. А сам Google практически не раскрывает внутреннюю архитектуру Flutter. Так что интеграцию требовалось выстраивать с нуля. И мы залезли под капот Flutter и нашли решения, которые, с одной стороны, были бы удобны разработчикам, а с другой — устраивали бы нас с точки зрения безопасности и производительности. Если вы тоже разрабатываете приложения, где требуется разбираться во внутренней архитектуре Flutter, статья точно будет вам полезна — ныряйте под кат!

habr.com/ru/companies/kaspersk

#flutter #operating_system #microkernels #crossplatform_mobile_programming #mobile_development #kasperskyos #wayland #разработка_приложений #android #android_development #ос #операционные_системы #операционная_система

2024-12-09

Зачем покупать, когда можно… или как я собирал систему мониторинга фильтра воды и что из этого вышло

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

habr.com/ru/companies/timeweb/

#diyпроекты #esp32 #arduino #homeassistant #c++ #android_development #timeweb_статьи

2024-11-09

Адаптеры в Android: «сервируем» данные красиво

В Android разработке адаптер — это компонент, который служит мостом между источником данных (например, списком элементов) и элементом пользовательского интерфейса (например, списком или сеткой). Он преобразует каждый элемент данных в визуальное представление, которое пользователь видит на экране. Представьте, что вы находитесь в ресторане, а кухня — это ваш источник данных, который готовит разные блюда. Адаптер в этой аналогии — это официант, который берет каждое блюдо из кухни и красиво подает его на стол. Вы не видите сырые ингредиенты или беспорядок на кухне, вы видите только красиво оформленное блюдо. Так же и в Android: адаптер превращает сырые данные в удобный для пользователя формат. Погнали вглубь!

habr.com/ru/articles/857242/

#android_development #adapters

2024-10-25

View. Строительный блок Android приложений

Всем привет! Я — Дарья Касьяненко, эксперт Центра непрерывного образования факультета компьютерных наук НИУ ВШЭ. Сейчас мир Android‑разработки активно меняется, но многие из используемых технологий остаются актуальными, и их стоит знать каждому начинающему разработчику. Мой коллега Даниел Цуркан, эксперт и преподаватель курса «Android‑разработчик на Kotlin» Центра непрерывного образования ФКН, подробно расскажет о компонентах View и ViewGroup, которые лежат в основе построения пользовательских интерфейсов Android‑приложений. Эта статья станет полезной как для тех, кто только начинает свой путь в Android‑разработке, так и для junior‑разработчиков, которые хотят углубиться в детали создания интерфейсов на базе View и ViewGroup. В статье разберем ключевые особенности, с которыми сталкиваются разработчики при создании пользовательских интерфейсов с использованием View, рассмотрим актуальность этого подхода для разработки визуальной части Android‑приложений, а в качестве наглядного примера — создадим экран авторизации пользователя.

habr.com/ru/articles/853348/

#android #android_development #разработка_под_android #разработка_мобильных_приложений #view

Client Info

Server: https://mastodon.social
Version: 2025.04
Repository: https://github.com/cyevgeniy/lmst