Простой вопрос по Kotlin Coroutines или как не потеряться в измерениях

Простой вопрос по Kotlin Coroutines для начинающих!
Проверь свои знания в этой небольшой статье.
Если у тебя есть свои интересные вопросы, буду рад увидеть их в комментариях :)

Пишем под самую популярную мобильную ОС

Простой вопрос по Kotlin Coroutines для начинающих!
Проверь свои знания в этой небольшой статье.
Если у тебя есть свои интересные вопросы, буду рад увидеть их в комментариях :)

В крупных проектах уделяется большое внимание деталям: дизайнеры, аналитики и продуктовые менеджеры продумывают все до мелочей, чтобы максимально улучшить пользовательский опыт. В дизайне такой важной деталью становится pixel-perfect-вёрстка. Разработчики реализуют тонкости дизайна, но иногда происходит расхождение платформенного рендеринга Android TextView и Figma Text.

Корпорация Google несколько дней назад выпустила вторую тестовую версию ОС Android 15. Естественно, в ней много интересного, и для апробации новинки компания предлагает специальную программу. Правда, далеко не все устройства поддерживаются сейчас, речь идёт только о гаджетах от Google, а именно Pixel 6/6a/6 Pro, Pixel 7/7a/7 Pro, Pixel 8/8a/8 Pro, Pixel Fold и Pixel Tablet. Но давайте посмотрим, что там предлагают разработчики. Самое интересное — под катом.

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

Реализация Lazy Dependency Holder (Продвинутая ленивая инициализация зависимостей) для больших команд.

UI-автотесты под Android — отличный инструмент, который позволяет кратно сократить время на проверку разрабатываемых фич и свести к минимуму участие в ручном регрессионном тестировании инженеров по обеспечению качества. Но работать с UI-тестами надо правильно — иначе все может прийти к ситуации, при которой автотесты становятся нестабильными, а их результаты не вызывают доверие.
Меня зовут Эмилия Куцарева. Я — руководитель команды автоматизации тестирования в Одноклассниках (VK). В этой статье я расскажу о нашем подходе к работе с Android UI-автотестами: как устроен запрет мерджа, как смогли стабилизировать тесты, как настроили параметризацию запуска.

А привет, Хабр. У меня для тебя есть история длиной в шесть лет. История о том, как я учился делать свои собственные игры без навыков программирования и что из этого вышло. Почему так долго и почему так делать не стоит. Настоящий ориджинал контент, от А до Я. Где такое найдешь сейчас, а? Тут, правильно.
Я постарался достать самое интересное из того, что со мной произошло. И про игры, и про гранты. Упаковать это всё в простой и понятный текст со своими иллюстрациями, естественно. Не страшно? Ну тогда давай, бери большую кружку, наполняй кофеином и погнали.

Привет, на связи Кирилл Антонов, коммерческий директор hitch. Мы занимаемся аутстафом IT‑специалистов — выводим разработчиков (и не только) на проекты отечественных корпораций. Непрерывно следим за тем, как меняются потребности крупнейших IT‑компаний и поведение соискателей.
Раз в несколько месяцев буду публиковать «срезы» — заметки о том, кто сейчас особенно востребован на отечественном рынке (а значит, кому больше всего платят).


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

Поговорим сегодня про context receivers — фиче Kotlin, про которую я узнал давно, но смог найти применение лишь пару месяцев назад. Расскажу о том, что такое context receivers, где их можно использовать, и, конечно же, про «успешный успех» — минус 60% самописного DI в OzonID SDK. Но обо всём по порядку.

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

Текущий информационный мир полон не только возможностей, но и ограничений. Если вы работает в B2B и B2G, то не раз встречались с NDA от заказчика. Я расскажу о своем опыте в сфере аутсорсинг‑разработки: как выгодно пользоваться этим документом.


Я — Денис, Middle Android-разработчик в «Лайв Тайпинге». В этой статье я расскажу о современном подходе организации зависимостей в Android. Вы узнаете как использовать version catalog и convention plugin в вашем проекте.

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

Наверняка, многие программисты хоть когда-нибудь, в свободное время, программировали что-нибудь для себя или своих нужд. Делали, так называемые, Pet-проекты. Хотелось бы поделиться со всеми своим опытом...


flow и channelFlow, в которых часто подчёркивается, что channelFlow по сути использует Channel. Но что это на самом деле значит для мобильных разработчиков? Когда это различие действительно имеет значение? Можно ли добиться такого же поведения с помощью flow без использования Channel, и какие уникальные возможности предлагает ChannelFlow, которых нельзя достичь с помощью обычного Flow?Channel. Концептуально Channel и Flow служат разным целям. Каналы (Channels) облегчают взаимодействие между корутинами, в то время как потоки (Flows) больше направлены на эффективное производство и распределение данных.ChannelFlow использует Channel для своих операций, что делает его мощным инструментом в сценариях, включающих сложную обработку данных или требующих одновременного выброса данных из нескольких корутин. Однако что же это такое?
Всем привет, меня зовут Артемий, я работаю старшим Android-разработчиком в команде пользовательского профиля в RuStore. Мой опыт в индустрии уже 8 лет. За это время я успел поработать в разных проектах и компаниях. У меня был опыт работы в проекте, в котором было свыше 300 модулей и больше 60 Android-разработчиков. Такие условия заставляют задуматься о масштабируемости на принципиально ином уровне.
Сегодня я расскажу о способах обеспечения масштабируемости проекта и как этому может навредить неправильное восприятие Чистой Архитектуры (далее — ЧА). Предупреждаю сразу, это лонгрид в двух частях!