Android Mobile | YeaHub
431 subscribers
332 photos
21 videos
597 links
Теория, подготовка к интервью и курсы для Android разработчиков

YeaHub — это платформа для IT-специалистов, объединяющая обучение, карьерный рост, развитие и сообщество единомышленников.

Платформа: https://yeahub.ru

Для связи: @ruslan_kuyanets
Download Telegram
#полезное
😊 Resaca — это библиотека для Jetpack Compose, позволяющая привязывать ViewModel или другие объекты к конкретным Composable функциям, обеспечивая их сохранение во время пересозданий и навигации! Это позволяет создавать более мелкие и переиспользуемые компоненты с собственной логикой, улучшая структуру и поддержку кода.
Гитхаб

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
#полезное
👍 Purchases-KMP — это клиентская библиотека для системы отслеживания подписок и покупок RevenueCat, разработанная для Kotlin Multiplatform!

Она предоставляет обертку вокруг BillingClient, StoreKit и серверной части RevenueCat, упрощая реализацию внутриигровых подписок и покупок с валидацией квитанций и отслеживанием статусов.
Гитхаб

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #docker
🤔 Что такое Dockerfile?

Dockerfile - это текстовый файл, содержащий инструкции для создания Docker-образа. Он описывает шаги для установки зависимостей, настройки окружения и выполнения приложений, необходимых для работы контейнера.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😬 Premo — это библиотека, которая упрощает создание и совместное использование презентационного слоя в приложениях для Android, iOS и веба! Её основная цель — позволить разработчикам сосредоточиться на написании логики, устраняя необходимость решения повторяющихся задач, связанных с пользовательским интерфейсом.
Гитхаб

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
#полезное
🛞 ZoomImage — это библиотека, разработанная специально для Compose Multiplatform и Android View, обеспечивающая удобное масштабирование и просмотр изображений с использованием жестов!

Она поддерживает такие функции, как масштабирование, панорамирование, позиционирование, вращение и субдискретизацию сверхбольших изображений.
Ссылка клик

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2
#полезное
👨‍💻 Маст-хэв кастомные Gradle-плагины

Если вы разрабатываете несколько приложений, то наверняка уже шарите какой-то общий код, вынося его в отдельные библиотеки или модули. Но не только общие модули могут быть полезны — можно ещё переиспользовать утилитарный код с помощью Gradle-плагинов.

Знаю, что многие, мягко говоря, не любят Gradle — и на то есть причины. Однако написание собственного небольшого плагина проще, чем кажется, особенно если делать это неправильно (привет afterEvaluate ).

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

1⃣ Version Catalog — очень простой плагин, который помогает удобно переиспользовать версии зависимостей между проектами.
2⃣ Code Style — обёртка над Detekt с настроенными дефолтными и кастомными правилами.
3⃣ Git Hook — запуск тестов и проверки кода при коммите, проверка сообщения коммита и прочее.
4⃣ Vault — плагин для получения секретов из защищённого хранилища при первоначальной настройке проекта.
5⃣ Publish — плагин для упрощения публикации собственных плагинов, каталога версий, Android и KMP-библиотек.

Если тема интересна — ставьте реакции, и я расскажу подробнее, как создавать такие плагины и дам рекомендации как не стоит делать.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #docker
🤔 Как создать Docker контейнер из образа?

Чтобы создать Docker контейнер, необходимо использовать команду docker run, указывая имя образа. Например, docker run myimage: tag создаст и запустит контейнер на основе указанного образа.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😎 Edge-to-edge в Android: опыт внедрения и рекомендации по тестированию

Ребята из Авито рассказывают про свой опыт внедрения edge-to-edge в мобильное приложение Avito.
Читать

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
#полезное
😊 Bonsai — это компонент для создания древовидных структур (Tree View) в Jetpack Compose!

Он обладает возможностью отслеживания состояния, что обеспечивает автоматическую перерисовку при изменениях в дереве. Компонент поддерживает неограниченную вложенность узлов, ленивую загрузку данных и включает встроенный DSL для удобного построения деревьев. Дополнительно, Bonsai предоставляет интеграцию с файловой системой и JSON-данными, позволяя создавать динамические и интерактивные интерфейсы.
Гитхаб

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2
#полезное
👍 FlexibleBottomSheet — мощный и настраиваемый компонент для работы с нижними листами (bottom sheets) в Jetpack Compose, включая мультиплатформенную поддержку!

🟠 Он позволяет использовать сегментированные размеры, настраивать модальные и немодальные типы листов, а также обеспечивает взаимодействие с элементами позади листа, как в Google Maps. Библиотека поддерживает три уровня расширения (полное, промежуточное и слегка открытое состояние), а также гибкие параметры для управления состояниями и анимацией.
Гитхаб

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2
#Собес #docker
🤔 Что такое Docker Hub?

Docker Hub - это облачный сервис для хранения и распространения Docker- образов. Он предоставляет центральный репозиторий, где разработчики могут найти, загружать и делиться образами, включая как публичные, так и приватные образы.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
📞 Наверное, только ленивый не написал о том, что Compose Multiplatform для iOS стал Stable. Но что это значит? Действительно ли все болячки пофиксили, и можно с лёгкостью портировать любое Android-приложение на iOS?

Действительно, стало гораздо проще адаптировать какой-нибудь простой Jetpack Compose-пример на iOS, буквально перенося файлы из одной папки в другую, но с реальными приложениями всё не так гладко. И вот какие проблемы я вижу на текущий момент:

🟠Мало библиотек, которые полностью избавляют от написания платформенного кода

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

🟠Отсутствуют адаптивные виджеты для платформ

Сейчас «из коробки» доступны только Material-виджеты, и, несмотря на то что у многих приложений своя дизайн-система, всё равно хотелось бы адаптировать часть виджетов под платформу. Например, Android-овский PullToRefresh выглядит максимально инородно на iOS и в целом плохо дружит с физикой скролла на iOS.

🟠Производительность

В анонсе сказано, что производительность CMP сравнима со SwiftUI и, судя по графикам, даже превосходит его. Но это всего лишь один бенчмарк ленивого списка. Если вы начнёте сравнивать приложение на SwiftUI и CMP на каком-нибудь iPhone 13, то невооружённым глазом увидите разницу не в пользу Compose. Очевидно, что проблема кроется в Skia, от которой Flutter и отказался из-за проблем с производительностью. Будем надеяться, что в будущем команда CMP тоже предпримет какие-то шаги в этом направлении.

🚩Подводя итог, хочется сказать: круто, что CMP уже стал стабильным и его можно использовать в проде, но это всё ещё не будет лёгкой прогулкой, и технологии есть куда расти.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😇 ​MinaBox — это библиотека для Jetpack Compose, позволяющая отображать лениво загружаемые элементы в двумерной плоскости!

Она построена на основе LazyLayout и предоставляет методы для регистрации элементов и управления прокруткой. Библиотека поддерживает Android, iOS, Desktop (Windows, macOS, Linux) и WebAssembly (Wasm). Основное применение MinaBox — создание сложных интерфейсов, таких как таблицы с прокруткой в обоих направлениях или сетки с произвольным расположением элементов.
Гитхаб

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
🛞 Dockerify Android: эмулятор Android в Docker

Отличный инструмент для Android-разработчиков, который упрощает создание тестовых сред с помощью контейнеризации. Всё работает прямо в браузере через веб-интерфейс scrcpy-web — больше не нужно устанавливать дополнительное ПО.

Откройте интерфейс scrcpy-web и управляйте Android-эмулятором с любого устройства, где есть браузер. Эмулятор включает:

🟠 Root-доступ по умолчанию
🟠 Предустановленные PICO GAPPS
🟠 Зеркалирование экрана
🟠 Ускоренную производительность благодаря KVM

Мощное решение для тестирования и разработки без лишней возни.
Гитхаб

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from YeaHub
🥳 В YeaHub теперь 2040 пользователей!

На этой неделе мы побили рекорд по количеству регистраций — и это важный для нас рубеж! 🚀 Мы не останавливаемся на достигнутом и готовим крутые обновления:

- Обновленный лендинг — станет еще информативнее и удобнее;
- Публичные страницы коллекций — делитесь своими подборками с сообществом;
- Избранное для вопросов — сохраняйте самое важное в один клик;
- Горячий режим 🔥 — для дополнительной мотивации;
- Мультипрофили — удобное переключение между аккаунтами;
- Новый сервис "Полезные ресурсы" — всё необходимое для развития в одном месте.

А еще мы будем еженедельно пополнять коллекции актуальными вопросами с собеседований по всем направлениям.

И это только начало! В планах — запуск 20+ новых сервисов для развития, нетворкинга и досуга. Оставайтесь с нами — будет ещё круче! 💪

👍 Обучайтесь, общайтесь, растите вместе с https://yeahub.ru
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #docker
🤔 Что такое Docker image?

Docker image - это исполнимая и легковесная упаковка, которая включает в себя все необходимые компоненты для запуска приложения, включая код, библиотеки и системные зависимости. Docker image используется для создания контейнеров.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😊 CatchUp — минималистичный агрегатор контента для Android-разработчиков. Этот необычный проект позволяет быстро просматривать свежие материалы с Hacker News, Reddit, GitHub и других платформ, не углубляясь в каждое приложение отдельно.

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

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
#полезное
😎 FlexibleBottomSheet — мощный и настраиваемый компонент для работы с нижними листами (bottom sheets) в Jetpack Compose, включая мультиплатформенную поддержку!

Он позволяет использовать сегментированные размеры, настраивать модальные и немодальные типы листов, а также обеспечивает взаимодействие с элементами позади листа, как в Google Maps. Библиотека поддерживает три уровня расширения (полное, промежуточное и слегка открытое состояние), а также гибкие параметры для управления состояниями и анимацией.
Гитхаб

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😵‍💫 kotlin-math — набор API в Kotlin, предназначенных для упрощения выполнения математических операций, связанных с графикой!

Эти API в основном моделируются по аналогии с GLSL (OpenGL Shading Language), что облегчает перенос кода в шейдеры и обратно. Предоставляемые типы данных предназначены для использования в качестве значимых типов, а большинство API представлены в виде функций верхнего уровня, а не методов.
Гитхаб

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM