Android Broadcast
13.8K subscribers
3.13K photos
225 videos
9 files
5.31K links
Подборка новостей и статей для Android разработчиков.

Связь с автором @android_broadcast_bot
Реклама @android_broadcast_bot
Download Telegram
#Library #Network #Socket #NIO

AsyncSocket - Asynchronous socket (client+server) continues communications

Библиотека, которая простит ваще взаимодействие с сокетами и сделает это эффективно. Она построен на основе Java NIO API, что позволяет выполнять ей I/O операции неблокирующим потоки способом.
#StrictMode #Library

StrictModeCompat

StrictMode в Android помогает находить различные проблемы в приложениях: выполнение I/O операций на главном потоке, незакрытые БД, неподходящие ресурсы и прочее.

Проблема в том, что это API очень фрагментировано и обновляется от версии к версии, и конфигурировать его для корректной работы на любой версии Android неудобно.

Для того чтобы эффективно использовать это API, я разработал библиотеку StrictModeCompat, которая позволяет не переживать есть ли API на текущей версии Android или нет - все что можно будет включить из того что вы захотели, будет включено.

Библиотека поддерживает Android 4.0+, Java 7 и имеет Kotlin DSL для удобной конфигурации.
#Rx #Library #RxJava

Rxify: Retry with Exponential Backoff in RxJava

Библиотека для всех любителей RxJava, которая позволяет повторять выполнение Observable, при появление ошибке с экспоненциальным таймаутом повторения.

Rxify Github Repo
#Network #Library

netWatch

Небольшая библиотека, которая проверяет наличие доступа в интернет. Именно интернет, а не наличие Wi-Fi или мобильной сети.

Библиотека имеет следующие функции:
👉 Уведомление об изменение состояния подключения к интернету
👉 Отображение системного кастомизуремого уведомления при измненения состояния подключения к интернету
👉 Делать ping по указанному IP адресу, чтобы проверить возможность подключения
#OkHttp #Library

OkHttp 3.14.2

Вышел OkHttp 3.14.2 в котором произошло исправление багов при работе с HTTP/2 и исправлены NullPointerException
#Rx #Kotlin #Library

Reaktive — Настоящий RxKotlin на чистом Kotlin

Как бы я не любил #Coroutine, Rx подход решил много проблем в свое время: callback hell, предоставил удобный стиль работы с потоками данных (функциональный) и упростил работу с многопоточными приложениями.

Я уверен, что большинство Android программистов знают #Rx подход по библиотеки RxJava, но она о Java 😞. Написали RxKotlin, но она является набором расширений для #RxJava и работает только c Kotlin/JVM.

В сообществе уже давно обсуждали написание Rx библиотеки на чистом Kotlin. Это бы дало:
👉 Поддержку работы на множестве платформ (Kotlin Multiplatform Projects)
👉 Учет системы типов Kotlin, а значит поддержку null safety
👉 Корректную поддержку Generic из Kotlin
👉 Убрать зависимости от каких либо сторонних Rx библиотек
👉 Сделать архитектуру и API с использованием всех возможностей языка Kotlin

Ребята из Badoo решили не ждать и написать решение сами. Встречайте библиотеку Reaktive. Библиотека пока находится в Alpha статусе (возможны изменения API) и разработка новых фичей продолжается.
#Library #Hack

Only

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

Но бывают случаи, когда менеджер заставлял делать затычку, обычно в виде boolean флага, которая будет блокировать выполнение действий множество раз ☹️. Что делать если таких кнопок в вашем приложении много?

Библиотека Only предоставляет простое API, которое позволяет выполнять действия строго не более указанного вами количества раз.
#Library #Security #Network

Certificate Transparency for Android

Хотите сделать защиту сетевого слоя более надежной и обезопасить от себя атак от "man-in-the-middle" ? Тогда вы можете использовать библиотеку, которая позволит вам реализовать Certificate Transparency, которая позволяет определить, что SSL сертификат не был подменен злоумышленником.

Библиотека поддерживает OkHttp, Volley, HttpURLConnection
#Kotlin #Binary #Compatibility #Library

Бинарная совместимость Reaktive: как мы её обеспечиваем

Разработка библиотек - не самое простое занятие. Ты не можешь получить отчет об ошибке в Crashlytics, твои пользователи (программисты) не всегда могут оставить внятный фидбек, а еще тебе надо обеспечивать обратную совместимость.

Обратную совместимость обычно разделяют на 2 вида: API и Binary. Первая довольная проста - все что написано на старой версии библиотеки, должно запускаться и на новой.

С Binary совместимость все сложнее. В статье один из авторов библиотеки Reaktive разбирает, что именно такое Binary совместимость и как ее обеспечивают на примере этой библиотеки.
#Tooling #Library

Android Ecosystem Cheat Sheet 2020

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

unfurl - библиотека, которая позволяет получить метаданные для соц. сетей по ссылке. Это позволит вам показать красивое превью
Forwarded from Kotlin Broadcast
#library

Ktorfit - реализация аля Retrofit, только полностью на Kotlin с поддержкой Js, Jvm, Android, iOS, Linux. Вместо OkHttp под капотом Ktor, а Java Dynamic Proxy заменил на KSP.

Кстати, у меня на канале вышло видео как работает Retrofit
#library

Вышел Coil 2.0

Библиотека для загрузки картинок, построенная поверх Kotlin и Coroutines обзавелась новой мажорной версией.

Что нового:
👉 Поддержка Jetpack Compose через AsyncImage
👉 Публичное API для работы с дисковым кэшем
👉 Теперь поддерживается Android 5.0+ (API 21)
👉 Рефакторинг API для управления этапами загрузки картинок
👉 Отключена генерация проверок на non null, что уменьшило размер библиотеки
👉 Множество переделок, улучшений API и обновлений зависимостей
#library

Знакомьтесь: библиотека TiRecycler

Подход, который используются для RecyclerView, в Тинькофф. Хоть вы можете адаптировать Compose, но к сожалению пока LazyList не такой эффективный, а также не обладает всеми возможностями. Вам может вполне пригодится!
Forwarded from Kotlin Broadcast
#library

Библиотека Koin Annotations 1.0 стабильна

Koin Annotations - это надстройка над Koin, которая позволяет не использовать вам описание модулей в DSL, а работать с аннотациями. Модули будут генерироваться за вас, вам надо будет только их подключать. Путь Dagger в Koin, вопросы в том как эффективно будет работать генерация кода при внесении изменение в артефакты графов
Вышел Dagger 2.43
👉 Багфикс

Hilt
👉 Потенциальный breaking change
👉 Миграция на Android SDK 31 (Android 12) и AGP 7.0+

#dagger #library
Обновили API desugaring в Android
👉 Появилась поддержка java.nio API. Часть API работает только на Android 8.0 + и помечено специальным аннотациями
👉 Обновили java.time до API из Android 13
👉 Обновили java.util.stream до API до Android 13
Forwarded from Kotlin Broadcast (Кирилл Розов)
Вышел Coil 2.6.0:
👉 Оптимизации для лучшей работы с Compose
🛠️ Исправление багов
👉 Kotlin 1.9.22 и обновление других зависимостей

#coroutines #library