AvitoTech
19.5K subscribers
1.66K photos
61 videos
1.56K links
Рассказываем, что у Авито под капотом, делимся инженерной экспертизой и зовём на митапы.

По всем вопросам: @direct_avitotech

Сайт: https://avito.tech
Хабр: habr.com/ru/company/avito
Гитхаб: github.com/avito-tech

Регистрация в РКН: https://clc.to/FOxC1A
Download Telegram
Итак, экспертное собеседование в Android system design.

Интервьюер — Сергей Боиштян. Обсуждали адаптацию system design под android-разработчика, проектировали библиотеку, рисовали «квадратики и стрелочки».

Смотрите! Там с подробным фидбеком, разбором и ответами на вопросы кандидата.

#android_avitotech #avitoteam
🔥17👍2🙏2👎1
Андрей Берюхов, наш старший Android-инженер, спикер и ментор Android Academy, в одной из лекций для академии рассказывал про нюансы и возможности миграции UI на Jetpack Compose.

Материал оказался настолько полезным и актуальным, что мы переложили его в Хабрастатью🗂

Получился такой подробный гайд по частичной и полной миграции, её стратегиям, архитектуре и дизайн-системе.

4 причины мигрировать:
1️⃣ Становится меньше строк кода
2️⃣ Сокращается время сборки
3️⃣ Повышается производительность при запуске приложения
4️⃣ Уменьшается размер APK

🕐Полезные материалы по теме🕚

📺 Полная лекция Jetpack Compose: Migration of existing app
🤖 Quick Start по миграции на Jetpack Compose
🤖 Кодлаба Compose migration live code-along. Android dev summit 2021
🤖 Таблица совместимости компилятора Compose и Kotlin
🤖 Альтернативные сборки для старых версий Kotlin
🤖 Статья о том, зачем полностью переходить на Compose
📺 Все лекции Android Academy 2023

#Android_avitotech #habr_avitotech #статья_avitotech
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥165👍2
Сергей Боиштян, software engineer в команде Speed и CI/CD терапевт в отделении инструментов для сборки и тестирования Android приложения Авито, выделяет четыре частые болезни сборок:

🦠 обновлянка;
🦠 дефицит железа;
🦠 тестовый диабет;
🦠 кодовая диарея.

К каким осложнениям они приводят, а главное, как лечить, Сергей рассказывает в статье.
Сохраняйте себе рецепт. А если вам только спросить, проходите без очереди в комментарии.

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

Для этого в команде Speed есть Система здравоохранения для сборки:

зона ответственности.
Команда ограждает остальных от проблем и является источником экспертизы скорости и стабильности CI/CD;

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

кабинет диагностики.
Погружение в тяжелые случаи и новые болезни. Обсуждение, каких инструментов, метрик, алертов и доработок документации не хватает.

#Android_avitotech #статья_avitotech #habr_avitotech
🔥20👍6👎1😢1🏆1
❗️Line height в Android TextView: где не сходится с Figma, как мешает pixel-perfect, и как это решить

Если вы тоже верстаете экраны по принципу pixel-perfect, то наверняка замечали, что в Android и Figma по-разному работает параметр текста Line height. Это зачастую мешает разработчикам при прохождении дизайн-ревью.

Команда Avito Android Design System разобралась в этой проблеме с помощью весьма непопулярных и на первый взгляд непонятных параметров firstBaselineToTopHeight и lastBaselineToBottomHeight. За что отвечают эти параметры и как они помогают решить проблему, читайте в статье.

#Android_avitotech #статья_avitotech
Please open Telegram to view this post
VIEW IN TELEGRAM
8🔥5👍1
⚡️Как продлить жизнь приложению? Как пережить force-stop и запустить процесс после скачивания? Что со всем этим делают коллеги из Китая?

🤖Матвей Плохов, android-разработчик в кластере Real Estate, готов поделиться секретом бессмертия. Никакой алхимии, только Android-разработка в докладе Матвея 1 июня на Mobius 2024.

#avitoteam #Android_avitotech
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12👍1
🤖 Провели эксперимент с профилем Baseline и ускорили запуск приложения на Android на 15%

Baseline Profile собирается локально во время разработки. Тесты для его генерации затрагивают критичный путь пользователя.

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

💻 Подробнее о том, как мы тестировали профиль и автоматизировали его сборку — в хабрастатье Даниля Гатиатуллина, нашего инженера юнита Performance.

#Android_avitotech #habr_avitotech
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥103👍1
Факт1️⃣: Позволяет быстро развернуть масштабируемую инфраструктуру для автотестов Android.

Факт2️⃣: Для тех, у кого нет своего железа и кто не готов платить за его аренду, есть сервис, где можно запускать свои тесты в облаке.

Факт3️⃣: Для запуска нужен подходящий сервер с Docker Compose, на котором можно развернуть контейнеры с Emcee и Artifactory.

Все три — про наш инструмент Emcee. С его помощью можно быстро и эффективно запускать iOS- и Android-тесты, а еще ускорять time-to-market. О том, как это работает на практике, рассказал Денис Веренцов, Android-инженер команды Emcee в свежей статье на Хабре.

P.S. Кстати, если уже пробовали Emcee в деле, делитесь впечатлениями в комментариях.

#Android_avitotech #habr_avitotech
Please open Telegram to view this post
VIEW IN TELEGRAM
8👍8🔥5👎1
Как вам шапки в нашем приложении к Чёрной пятнице?

Их создавала команда MT&S с помощью CoordinatorLayout. А как именно рассказал наш Android-разработчик Никита Пятаков в большом гайде по работе с контейнером.

Читайте, ставьте лайки и делайте красивые функциональные шапки🤖

#Android_avitotech #habr_avitotech
Please open Telegram to view this post
VIEW IN TELEGRAM
9🔥6👍4🥴3👎2