#полезное
😊 Resaca — это библиотека для Jetpack Compose, позволяющая привязывать ViewModel или другие объекты к конкретным Composable функциям, обеспечивая их сохранение во время пересозданий и навигации! Это позволяет создавать более мелкие и переиспользуемые компоненты с собственной логикой, улучшая структуру и поддержку кода.
Гитхаб
👉 Новости 👉 База вопросов
Гитхаб
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
#полезное
👍 Purchases-KMP — это клиентская библиотека для системы отслеживания подписок и покупок RevenueCat, разработанная для Kotlin Multiplatform!
Она предоставляет обертку вокруг BillingClient, StoreKit и серверной части RevenueCat, упрощая реализацию внутриигровых подписок и покупок с валидацией квитанций и отслеживанием статусов.
Гитхаб
👉 Новости 👉 База вопросов
Она предоставляет обертку вокруг BillingClient, StoreKit и серверной части RevenueCat, упрощая реализацию внутриигровых подписок и покупок с валидацией квитанций и отслеживанием статусов.
Гитхаб
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #docker
🤔 Что такое Dockerfile?
Dockerfile - это текстовый файл, содержащий инструкции для создания Docker-образа. Он описывает шаги для установки зависимостей, настройки окружения и выполнения приложений, необходимых для работы контейнера.
👉 Новости 👉 База вопросов
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-библиотек.
Если тема интересна — ставьте реакции, и я расскажу подробнее, как создавать такие плагины и дам рекомендации как не стоит делать.
👉 Новости 👉 База вопросов
Если вы разрабатываете несколько приложений, то наверняка уже шарите какой-то общий код, вынося его в отдельные библиотеки или модули. Но не только общие модули могут быть полезны — можно ещё переиспользовать утилитарный код с помощью Gradle-плагинов.
Знаю, что многие, мягко говоря, не любят Gradle — и на то есть причины. Однако написание собственного небольшого плагина проще, чем кажется, особенно если делать это неправильно (привет afterEvaluate ).
Вот несколько идей для плагинов, которые могут быть полезны:
Если тема интересна — ставьте реакции, и я расскажу подробнее, как создавать такие плагины и дам рекомендации как не стоит делать.
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #docker
🤔 Как создать 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.
Читать
👉 Новости 👉 База вопросов
Ребята из Авито рассказывают про свой опыт внедрения 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-данными, позволяя создавать динамические и интерактивные интерфейсы.
Гитхаб
👉 Новости 👉 База вопросов
Он обладает возможностью отслеживания состояния, что обеспечивает автоматическую перерисовку при изменениях в дереве. Компонент поддерживает неограниченную вложенность узлов, ленивую загрузку данных и включает встроенный 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- образов. Он предоставляет центральный репозиторий, где разработчики могут найти, загружать и делиться образами, включая как публичные, так и приватные образы.
👉 Новости 👉 База вопросов
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 уже стал стабильным и его можно использовать в проде, но это всё ещё не будет лёгкой прогулкой, и технологии есть куда расти.
👉 Новости 👉 База вопросов
Действительно, стало гораздо проще адаптировать какой-нибудь простой Jetpack Compose-пример на iOS, буквально перенося файлы из одной папки в другую, но с реальными приложениями всё не так гладко. И вот какие проблемы я вижу на текущий момент:
Во Flutter, например, есть огромное количество библиотек на любой вкус и цвет, которые покрывают все платформенные API в общем коде: работу с разрешениями, камерой, геолокацией и другими. В CMP же в большинстве случаев придётся реализовывать это нативно, что требует хотя бы минимальных знаний платформы и языка.
Сейчас «из коробки» доступны только Material-виджеты, и, несмотря на то что у многих приложений своя дизайн-система, всё равно хотелось бы адаптировать часть виджетов под платформу. Например, Android-овский PullToRefresh выглядит максимально инородно на iOS и в целом плохо дружит с физикой скролла на iOS.
В анонсе сказано, что производительность CMP сравнима со SwiftUI и, судя по графикам, даже превосходит его. Но это всего лишь один бенчмарк ленивого списка. Если вы начнёте сравнивать приложение на SwiftUI и CMP на каком-нибудь iPhone 13, то невооружённым глазом увидите разницу не в пользу Compose. Очевидно, что проблема кроется в Skia, от которой Flutter и отказался из-за проблем с производительностью. Будем надеяться, что в будущем команда CMP тоже предпримет какие-то шаги в этом направлении.
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😇 MinaBox — это библиотека для Jetpack Compose, позволяющая отображать лениво загружаемые элементы в двумерной плоскости!
Она построена на основе LazyLayout и предоставляет методы для регистрации элементов и управления прокруткой. Библиотека поддерживает Android, iOS, Desktop (Windows, macOS, Linux) и WebAssembly (Wasm). Основное применение MinaBox — создание сложных интерфейсов, таких как таблицы с прокруткой в обоих направлениях или сетки с произвольным расположением элементов.
Гитхаб
👉 Новости 👉 База вопросов
Она построена на основе 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
Мощное решение для тестирования и разработки без лишней возни.
Гитхаб
👉 Новости 👉 База вопросов
Отличный инструмент для Android-разработчиков, который упрощает создание тестовых сред с помощью контейнеризации. Всё работает прямо в браузере через веб-интерфейс scrcpy-web — больше не нужно устанавливать дополнительное ПО.
Откройте интерфейс scrcpy-web и управляйте Android-эмулятором с любого устройства, где есть браузер. Эмулятор включает:
Мощное решение для тестирования и разработки без лишней возни.
Гитхаб
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from YeaHub
На этой неделе мы побили рекорд по количеству регистраций — и это важный для нас рубеж! 🚀 Мы не останавливаемся на достигнутом и готовим крутые обновления:
- Обновленный лендинг — станет еще информативнее и удобнее;
- Публичные страницы коллекций — делитесь своими подборками с сообществом;
- Избранное для вопросов — сохраняйте самое важное в один клик;
- Горячий режим 🔥 — для дополнительной мотивации;
- Мультипрофили — удобное переключение между аккаунтами;
- Новый сервис "Полезные ресурсы" — всё необходимое для развития в одном месте.
А еще мы будем еженедельно пополнять коллекции актуальными вопросами с собеседований по всем направлениям.
И это только начало! В планах — запуск 20+ новых сервисов для развития, нетворкинга и досуга. Оставайтесь с нами — будет ещё круче! 💪
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #docker
🤔 Что такое Docker image?
Docker image - это исполнимая и легковесная упаковка, которая включает в себя все необходимые компоненты для запуска приложения, включая код, библиотеки и системные зависимости. 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 и целым арсеналом отладочных инструментов.
Гитхаб
👉 Новости 👉 База вопросов
Инструмент не пытается заменить оригинальные клиенты, а лишь даёт беглый обзор трендов и умно перенаправляет в нужные приложения для детального изучения. В архитектуре скрывается любопытный эксперимент с Dagger-плагинами, Kotlin Coroutines и целым арсеналом отладочных инструментов.
Гитхаб
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
#полезное
😎 FlexibleBottomSheet — мощный и настраиваемый компонент для работы с нижними листами (bottom sheets) в Jetpack Compose, включая мультиплатформенную поддержку!
Он позволяет использовать сегментированные размеры, настраивать модальные и немодальные типы листов, а также обеспечивает взаимодействие с элементами позади листа, как в Google Maps. Библиотека поддерживает три уровня расширения (полное, промежуточное и слегка открытое состояние), а также гибкие параметры для управления состояниями и анимацией.
Гитхаб
👉 Новости 👉 База вопросов
Он позволяет использовать сегментированные размеры, настраивать модальные и немодальные типы листов, а также обеспечивает взаимодействие с элементами позади листа, как в 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 представлены в виде функций верхнего уровня, а не методов.
Гитхаб
👉 Новости 👉 База вопросов
Эти API в основном моделируются по аналогии с GLSL (OpenGL Shading Language), что облегчает перенос кода в шейдеры и обратно. Предоставляемые типы данных предназначены для использования в качестве значимых типов, а большинство API представлены в виде функций верхнего уровня, а не методов.
Гитхаб
Please open Telegram to view this post
VIEW IN TELEGRAM