Как стать автором
Обновить
101.09

Разработка мобильных приложений *

Android, iOS, Windows Phone и прочие

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

Как устроен сборщик метрик Android-проекта

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров1.2K

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

Работая над продуктом, мы поняли, что необходимо оценивать его техническое качество: считать размер SDK, тестового покрытия, скорость сборки и многое другое. Нам был нужен сборщик метрик качества кода. 

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

Читать далее
Всего голосов 9: ↑9 и ↓0+21
Комментарии2

Новости

Создание уведомлений на языке Kotlin

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

Как создать всплывающие уведомления в мобильном приложения, привязанные ко времени? Читаю документацию и разбираю код.

Читать далее
Всего голосов 3: ↑2 и ↓1+3
Комментарии1

Koin: как сделать свой DI за 10 минут

Время на прочтение19 мин
Количество просмотров4.2K

Привет, меня зовут Иван Курак, я Android-разработчик приложения Ozon Job. В этой статье мы реализуем свой механизм, на котором построен Koin. Тем самым мы пройдём путь, который проходили его авторы при решении проблемы построения собственного DI.

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

Дополнительная (но от того не менее важная) цель статьи — показать, что базовый механизм, на котором построен Koin, не такой уж и страшный :)

Тестовый текст
Всего голосов 14: ↑14 и ↓0+20
Комментарии6

Мобильная разработка за неделю #557 (23 — 29 сентября)

Время на прочтение4 мин
Количество просмотров914
В этом выпуске сетчатые градиенты и курощение виджетов, сломанная Android-разработка и инструментирование байт-кода Java во имя великого блага, единая биометрическая система во Flutter-приложении, портирование игр на Аврору, видеозвонки с Лили и многое другое. Подключайтесь!

Подписывайтесь на наш Telegram-канал Mobile Insights, где еще больше материалов для мобильных разработчиков. А в IT Insights — много об интересном коде и технологиях.

Читать дальше →
Всего голосов 5: ↑5 и ↓0+10
Комментарии0

Истории

Превращаем планшет в терминал самообслуживания: осваиваем режим Kiosk в KNOX сервисах

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

Что такое киоск? Это ограничение набора приложений, которые доступны пользователю. Иными словами — замена лаунчера по умолчанию. Когда доступно только одно приложение, нельзя открыть браузер, другие приложения и даже залезть в настройки. Вообще ничего не доступно. Это как защита от нецелевого использования, так и от дурака…

Давайте сделаем киоск режим для нашего приложения на планшете. Через сервис KNOX Configure это делается быстро и без программирования. Ниже расскажу об этом на примере сервиса для бронирования переговорных.

Читать далее
Всего голосов 10: ↑9 и ↓1+13
Комментарии15

Как энтузиасты на мобильную систему «Аврора» портировали игры

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

Компьютерные игры давно вошли в нашу жизнь. Переносные устройства для игр тоже существуют давно. И, конечно же, с появлением мобильных телефонов, КПК и других носимых устройств игры проникли и на них. С развитием смартфонов (смеси КПК и мобильного телефона) игры на них становились всё более требовательными и графически интересными. Индустрия игр настолько развилась, что игры типа Genshin Impact или Fortnite отлично работают на смартфонах, а Doom (часто благодаря Raspberry Pi) запускают даже на тостере или кишечной палочке. Однако сейчас разговор пойдёт скорее об энтузиастах и других ОС.

За последние два года несколько российских компаний, разрабатывающих операционные системы (ОС), получили кратный рост благодаря уходу западных компаний и курсу на импортозамещение. Одна из таких компаний,Открытая мобильная платформа, разработчик мобильной операционной системы «Аврора» совместно с организацией развития видеоигровой индустрии (РВИ), весной 2024 года провела свою первую конференцию для создателей мобильных игр, где были продемонстрированы игры на отечественной мобильной операционной системе. Именно этот факт сподвиг меня пообщаться со специалистами компании, узнать, как портировали игры, какие тайтлы вообще работают на российской мобильной системе, и написать этот материал. Приятного чтения!

Читать далее
Всего голосов 24: ↑18 и ↓6+20
Комментарии28

Как мы сделали приложение для партнёрской платформы, с которым любой может зарабатывать на туризме. Кейс Travelpayouts

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров582

Хотели бы вы иметь готовое приложение, которое можно адаптировать под свой бренд за пару кликов? Мы его уже сделали!

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

Так появилось приложение White Label App — шаблон нативного приложения для поиска и бронирования авиабилетов и отелей по всему миру с обширными возможностями конфигурации. Он исполнен в двух вариантах: основной – White Label App — приложение с готовыми функциональными модулями, и White Label SDK — набор готовых экранов, которые можно встроить в собственное приложение. Любой из форматов можно кастомизировать под разные стилистики брендов. А ещё это решение будет гораздо дешевле и быстрее разработки собственного приложения для тревел-бизнеса.  

Подробнее про форматы:

Читать далее
Всего голосов 11: ↑9 и ↓2+11
Комментарии1

Лента Мёбиуса мобильной разработки: что расскажут на Mobius 2024 Autumn

Время на прочтение15 мин
Количество просмотров579

Что общего у мобильной разработки с лентой Мёбиуса? С первого взгляда видишь две стороны: вот же они, Android и iOS. А потом присматриваешься — и замечаешь, что одно может плавно переходить в другое.

Вот смотрите. Мы скоро проведём конференцию Mobius. Казалось бы, хабрапост с описаниями докладов логично поделить на две части, чтобы любому разработчику было удобно читать именно о «своей» платформе.

Но будет, например, доклад про корутины в Kotlin. Этот язык привычен в мире Android, однако с Kotlin Multiplatform выходит за рамки платформы. И кому тогда стоит знать про такой доклад: Android-разработчикам или всем?

Ещё есть доклады про Flutter. Они интересны только флаттеристам, или нативные разработчики с обеих сторон тоже следят «что там происходит»? И есть другие «кроссплатформенные» темы, не привязанные строго к платформе. Их в посте где лучше поставить, в начале или конце?

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

Программа Mobius 2024 Autumn
Всего голосов 5: ↑5 и ↓0+12
Комментарии1

Пишем свой генератор ID для мобильных приложений

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

Привет, меня зовут Андрей Богомолов, я Android-разработчик в команде Performance приложения Wildberries. 

Однажды, работая с кодом, я обратил внимание на использование UUID в UI и задумался об его влиянии на производительность. Тесты показали, что собственное решение может быть значительно быстрее стандартной реализации UUID в Java.

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

Читать далее
Всего голосов 16: ↑9 и ↓7+6
Комментарии38

Как мы перенесли web-сервис в Телеграм Mini Apps

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров8.5K

До лета 2023 года перед разработчиками Точка.Нетворк стояла проблема: CJM становился сложным, и это затрудняло работу над продуктом. В итоге мы придумали решение — полностью отказались от веба и сосредоточили развитие платформы только в Mini Apps от Телеграма. Без этого было бы невозможно развивать продукт дальше.

В статье расскажу, как и почему мы отказались от веб-версии Точка.Нетворк — локального сообщества предпринимателей — и переместились в Телеграм.

Читать далее
Всего голосов 27: ↑27 и ↓0+38
Комментарии4

Мобильная разработка за неделю #556 (16 — 22 сентября)

Время на прочтение4 мин
Количество просмотров1.2K
В нашем новом дайджесте виджеты iOS 18 и шаблоны проектирования SwiftUI, Flappy Bird на Си для Android и заблуждение UseCase, магия ссылок, нативный Swift на Android, крадем впрок как художники и многое другое. Подключайтесь!

Подписывайтесь на наш Telegram-канал Mobile Insights, где еще больше материалов для мобильных разработчиков. А в IT Insights — много об интересном коде и технологиях.

Читать дальше →
Всего голосов 3: ↑3 и ↓0+8
Комментарии0

Взаимодействие с клавиатурой в Compose: особенности и подводные камни

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

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

На связи Глеб Гутник, мобильный разработчик из компании xStack. В этой статье мы рассмотрим, как можно эффективно кастомизировать взаимодействие с клавиатурой в Jetpack Compose и Compose Multiplatform для создания комфортного UX.

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

На Android для этого предусмотрен флаг android:windowSoftInputMode="adjustResize", но он сжимает окно приложения без учета анимации клавиатуры, поэтому пользователь видит пустое поле долю секунды, пока клавиатура открывается:

Читать далее
Всего голосов 8: ↑8 и ↓0+12
Комментарии0

МИТАП: собираем комбо вредных советов про карьеру мобильного разработчика

Время на прочтение1 мин
Количество просмотров1.1K

Расскажем, почему изоляция от коллег и руководителя – это база, и в чем польза cтагнации.


Нет в жизни разработчика более надоедливого архетипа коллеги, чем “неравнодушный советчик”, который спешит причинить добро вне зависимости от твоего желания и последствий этого причинения. Причем, каждый второй обязательно собрал целое комбо из этих квазиполезных рекомендаций и готов делиться ими при каждом удобном случае. Мы нашли целых четверых таких советчиков и решили предоставить им трибуну для причинения добра в особо крупных размерах!



26 сентября мы проведем онлайн-митап “10+ вредных советов мобильному разработчику: как точно завалить проект и карьеру”. На нем опытные лиды и разрабы расскажут, какие действия обязательно затормозят твой промоушн и подожгут любой релиз.
Читать дальше →
Всего голосов 16: ↑14 и ↓2+16
Комментарии1

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

27 августа – 7 октября
Премия digital-кейсов «Проксима»
МоскваОнлайн
3 – 18 октября
Kokoc Hackathon 2024
Онлайн
10 – 11 октября
HR IT & Team Lead конференция «Битва за IT-таланты»
МоскваОнлайн
25 октября
Конференция по росту продуктов EGC’24
МоскваОнлайн
7 – 8 ноября
Конференция byteoilgas_conf 2024
МоскваОнлайн
7 – 8 ноября
Конференция «Матемаркетинг»
МоскваОнлайн

Реализация push-уведомлений из web в мобильное приложение для новичков

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

Всем привет! Меня зовут Лида Анисимова, я backend разработчик продукта — платформы мотивации сотрудников Тил Эйчар. В этой статье хочу рассказать о нашем опыте реализации push-уведомлений. Если вы, как и я полгода назад, ничего не знаете о том, как работают push-уведомления — эта статья для вас. Расскажу о том, с какими трудностями мы столкнулись, покажу, как отправить первый push и какие данные вам могут понадобиться.

Читать далее
Всего голосов 5: ↑5 и ↓0+10
Комментарии2

Ещё одна статья про макросы. Часть 2

Время на прочтение20 мин
Количество просмотров1K

Продолжаем предыдущую статью — вместе с Серёжей, Flutter Developer Surf, мы пройдём путём разработчика, который только начал изучать макросы, и разберём оставшиеся интересные (и негативные, да!) примеры.

Читать дальше
Всего голосов 6: ↑5 и ↓1+8
Комментарии0

Как мы разработали приложение для знакомств в Telegram

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

С уходом Tinder из России и Беларуси открылась довольно широкая ниша для приложений специализирующихся на знакомствах. Некоторые из таких приложений пошли в жестокую монетизацию, высасывая из пришедших бедолаг деньги, не рассчитывая на длительный успех, некоторые заняли свою нишу и ведут себя более скромно. Однако по нашему субъективному мнению не все пользователи тиндер нашли для себя замену и все еще жаждут новых знакомств. Поэтому мы решили ворваться в этот рынок и сделать доступное для всех приложение, где каждый смог бы найти для себя кого‑то интересного. Сейчас все расскажем подробнее.

Читать далее
Всего голосов 11: ↑5 и ↓6+3
Комментарии20

Ещё одна статья про макросы. Часть 1

Время на прочтение12 мин
Количество просмотров3.3K

Про макросы в Dart написали уже кучу статей, в этой и следующей — минимум теории и максимум практики и рассуждений.

Вместе с Серёжей, Flutter Developer Surf, мы пройдём путём разработчика, который только начал изучать макросы, и придумаем, как упростить жизнь с помощью макросов, как формировать и проверять гипотезы, как радоваться результатам или разбираться, что пошло не так.

Читать дальше
Всего голосов 14: ↑13 и ↓1+16
Комментарии6

Что такое AndroidManifest.xml, его структура и важность

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

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

В данной статье мы подробно рассмотрим структуру и значение AndroidManifest.xml, а также его значимость. Информация взята у преподавателя по Android-разработке из онлайн-университета Urban.

Структура AndroidManifest.xml

Давайте начнем с анализа структуры AndroidManifest.xml:

Читать далее
Всего голосов 10: ↑3 и ↓70
Комментарии4

Что можно улучшить в приложении? Часть 3. Крадем как художники у Впрок

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

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

Читать далее
Всего голосов 1: ↑1 и ↓0+3
Комментарии0

Как следить за состоянием мобильного приложения?

Уровень сложностиСредний
Время на прочтение16 мин
Количество просмотров2.3K

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

Согласитесь, было бы здорово узнавать о проблемах раньше, чем пользователи начнут жаловаться в поддержку. Сегодня я расскажу, как мы в Циан создавали Техническую Мобильную Аналитику (ТьМА) и получили возможность в любой момент времени ответить на вопрос: «Всё ли в порядке с приложением?»

Читать далее
Всего голосов 19: ↑19 и ↓0+27
Комментарии4
1
23 ...

Вклад авторов

Работа

Swift разработчик
43 вакансии
iOS разработчик
25 вакансий