😨Главное за сегодня:
🇺🇸США (крипто-#ETF):
- Заявка Bitwise на запуск #XRP-#ETFпопала на сайт SEC
- притоки/оттоки #BTC/#ETH #ETF
🍿#FTT FTX выставили на аукцион 22,3 млн заблокированных #WLD (~38 млн $) со скидкой от 40% до 75%
💰#WLD#AI OpenAI закрыли раунд финансирования на сумму 6,5 млрд $ при оценке >150 млрд $
🇷🇺#BTCCEO BitRiver: Российские майнеры могут выйти в лидеры, оставив США позади, на горизонте 2-3 лет
🆕 Upbit листит#W (Wormhole) 🚀
💰 Трейдер превратил 368$ в 2 млн $ на #HIPPO (sudeng) всего за 3 дня 🚀
🥳#APT Franklin Templeton добавили блокчейн Aptos для поддержки токенизированного фонда денежного рынка
😨#TONПавел Дуров уточняет: Telegram может раскрывать властям IP-адреса и номера телефонов преступников с 2018 года
🔮 Апелляционный суд постановил, что рынок прогнозов Kalshi может продолжать работу и заключать контракты, разрешающие делать ставки на выборы
🙅♂ Kraken прекращает поддержку Monero (#XMR) в Европейской экономической зоне
🗣#BTCQCP Capital: Влияние ситуации на Ближнем Востоке носит краткосрочный характер, готовность рынка покупать рискованные активы остается сильной
📈#SUI#SCA Общая сумма кредитования Scallop превысила 100 млрд $
🥊 COPA и Unified Patents начали кампанию против криптовалютных «патентных троллей»
🙋♂#EIGEN#ZRO LayerZero и Eigen Labs представили децентрализованную верификационную сеть CryptoEconomic (DVN) Framework
🤝Партнёрства:
- #LINK Taurus и Chainlink сотрудничают для стимулирования внедрения токенизированных активов #RWA
- #AVA Ava Protocol интегривались с Soneium от Sony
🕵️♂️Активность китов и SmartMoney:
- Джастин Сан, вероятно, продал все свои #EIGEN
- участник ICO Ethereum перевёл 6000 #ETH (~14,71 млн $) на Kraken
- кит, который получил >32 млн $ прибыли от #ETH с сентября 2023 года, перевёл на Binance 1500 ETH
- Animoca Brands внесли на Binance 8 млн #PIXEL
- Ceffu вывели 3 372 #BTC (211,33 млн $) с Binance за последние 2 дня
📊Графики и отчёты:
- #DOGEдостиг 7-месячного максимума по активности адресов и 4-месячного максимума по транзакциям китов 🐶
- наблюдается всплеск перемещения #BTC на OTC площадки, на которых в настоящее время находится ~410 000 BTC
- недельный объем торгов DEX на #SOLпревзошел#ETH впервые за 43 дня
- #ARBUniswap: Arbitrum - первый L2, объем свопов которого превысил 200 млрд $ 📈
- ТОП токенов по рыночной капитализации, выпущенных в Q3 2024 года
- ТОП проектов по размытой рыночной капитализации (FDV), запущенных в Q3
- ТОП блокчейнов по росту TVL в третьем квартале 2024 года
- ТОП лаунчпадов по объему привлеченных средств в Q3 2024 года
- отчёт Glassnode
✏️События на завтра:
🔓Разлок: Decentralized Games (#DG) - 2,38% of M.Cap ($113,5m)
🆕#ASI#FET Coinbase International добавит поддержку фьючерсов на Artificial Superintelligence Alliance (ASI)
🍿#AXL Анонс от Axelar
🇪🇺 Services/Composite PMI (сент) - 11:00 МСК
- проминфляция PPI (авг) - 12:00 МСК
- минутки с прошлого заседания ЕЦБ - 14:30 МСК
🇺🇸 Initial Jobless Claims - 15:30 МСК
- S&P Services/Composite PMI (сент) - 16:45 МСК
- ISM Services PMI (сент) - 17:00 МСК
- Factory Orders (авг) - 17:00 МСК
🏝🤖 На сайте Android Developers обновили материалы по Kotlin Multiplatform:
👉 Обновили главную страницу
👉 Появился базовый курс по KMP (бесплатный)
👉 Обновленные руководство по использованию Jetpack библиотека с поддержкой KMP
#android#kmp
📹Android Developers Backstage 215. KMP. Have your code and eat it too
Software Engineers Dustin Lam и Yigit Boyar присоединяются к ведущему Tor Norbye, чтобы обсудить Kotlin Multiplatform (KMP).
0:00 - Введение
0:29 - Что такое KMP: не новый продукт, а Kotlin с новыми возможностями
3:20 - Зачем нужен KMP: преимущества и цели
6:17 - KMP vs. другие кроссплатформенные фреймворки
6:41 - Общая бизнес-логика — основной сценарий использования
9:18 - Практическое внедрение: превращение Android-приложения в KMP
13:15 - Работа с платформо-специфичными зависимостями
28:56 - Поддержка библиотек в Kotlin Multiplatform
35:56 - Developer Experience: инструменты и интеграция
40:16 - Совместимость с iOS: как добиться взаимодействия
42:51 - KMP в действии: как Google использует эту технологию
47:17 - Долгосрочное видение и потенциал KMP
51:30 - Консистентность поведения vs. нативная производительность
55:32 - Попробуйте KMP и присоединяйтесь к разработке!
#android#kmp
Reanimator - простоя библиотека для Jetpack ViewModel (с поддержкой KMP) для работы с состоянием. Подробный разбор в статье (EN,11м) или альтернативной ссылке
@Serializable
data class MyUiState(
// Persistent
val data: List<String> = emptyList(),
val selectedItem: String? = null,
// Transient
val isLoading: Boolean = false,
val error: String? = null
)
class MyViewModel(private val savedStateHandle: SavedStateHandle) : ViewModel() {
// Define which properties are transient
private val transientProps = listOf("isLoading", "error")
// Declare your state flow - Reanimator handles the rest!
private val _uiState by savedStateHandle.getMutableStateFlow(
defaultValue = MyUiState(), // Initial/default state
coroutineScope = viewModelScope, // Scope for saving changes
transientProperties = transientProps // What NOT to save
// key = "custom_state_key" // Optional: custom key
)
val uiState: StateFlow<MyUiState> = _uiState.asStateFlow()
// ... rest of your ViewModel logic ...
fun updateData(newData: List<String>) {
// Just update the state - Reanimator saves persistent parts automatically
_uiState.update { it.copy(data = newData, isLoading = false) }
}
}
#android#kmp
🚀Вышел Jetpack Window Manager 1.4 - библиотека для работы с разными форматами устройства и несколькими окнами с поддержкой KMP
Что нового в свежей версии:
👉 Улучшения Activity Embedding
👉 Улучшения API WindowMetrics
👉 Улучшили API для тестирования
#jetpack#kmp
📹Compose/iOS готов к продакшену? Прямой эфир с ответами на вопросы
Когда: четверг, 8 мая, 18:30 (GMT+3)
Буквально вчера вышел Compose iOS Stable и конечно же открывает возможности Android разработчиками по написанию мобильных приложений под обе платформы. Но всё ли так сладко, как заявляет JetBrains? Будем разбираться в этом с экспертом кто уже познал прелести продакшена!
👨💻 Эксперт - Никита, фуллстек Kotlin разработчик, автор проектов FlowMVI и respawn.pro. При анонсе Compose iOS Stable, его приложение было в официальном анонсе 🔥
👨💻 И еще одни эксперт - Чикишев Тимур, Senior Android разработчик в KTS. Начал пробовать Compose iOS еще до официального релиза. Успел адаптировать Android приложение с Compose на iOS, буквально на этой неделе сделали релиз
Задавайте свои вопросы в комментариях к посту, чтобы они были заданы на эфире
#android#compose#kmp
Вышел Coil 3.1.0 - популярный загрузчик картинок с поддержкой KMP
👉Улучшили производительность AsyncImage: скорость работы стала лучше на 25-40%, а потребление памяти - на 35-48%
👉 FakeImage теперь deprecated
👉 Появился ColorImage - полезен для возвращения фейковых значений в тестах и для Compose превью
👉 coil-compose-core больше не зависит от Dispatchers.Main.immedate, что позволило исправить баги в работе Paparazzi и Roborazzi
🛠 Множество других исправлений и улучшений API
#kmp#android#compose
🤯 Те кто использовал Jetpack Paging 3 знают насколько он может справиться только с базовыми сценариямми. Шаг влево или вправо - уже боль!
Сегодня хочу познакомить вас с альтернативой — библиотекой 🐱Paginator. Это KMP-решение для пагинации, которое решает те самые проблемы, где Paging 3 начинает "буксовать".
Paginator построен на отличной модели от Jetpack Paging 3: страница — это адресуемая ячейка в кэше, кэш — обычная структура данных, а навигация — обычные методы.
1️⃣✅ Адресуемые страницы
Прямые методы goNextPage(), goPreviousPage() и jump(Bookmark). Deeplink на сообщение из пуша решается одной строкой.
2️⃣✅ Мутации по запросу
MutablePaginator предоставляет CRUD-операции: replace { it.id == 42 }, removeWhere { it.deleted }. Один лайк меняет один элемент без инвалидации всей страницы.
3️⃣✅ Сохраняемое состояние
Кэш — обычная структура данных, которую можно сериализовать через kotlinx.serialization. Методы serializeToJson() и restoreFromJson() решают проблему Process Death без плясок с бубном.
4️⃣✅ Библиотека, а не фреймворк
Написан на чистом Kotlin без платформенных зависимостей и живёт в commonMain. Логика пагинации становится частью общего доменного слоя KMP, не копируется между платформами и не имеет двух реализаций.
5️⃣✅ Курсорная пагинация "из коробки"
Отдельный класс CursorPaginator с единой моделью состояний, транзакций и сериализации.
Paginator — это не обёртка над Paging 3. Это другая модель, переосмысливающая ключевые типы. Обёртка просто не смогла бы дать ни мутации элемента, ни сериализации кэша.
🔗Оригинальная статья на Хабре
🐱Репозиторий Paginator
#Android#AndroidDev#KMP
🤯Команда Anvil решила прекратить развитие проекта в пользу другого решения
Anvil - Kotlin плагина для расширения возможностей Dagger 2 и упрощения работы с ним решили прекратить развивать. Коллега автором решения сделал Metro и компания будет переходить на него и участвовать в его развитии.
Metro - это compile-time DI фреймворк с поддержкой KMP, который вдохновлялся Dagger, Anvil, Kotlin-Inject.
#di#kmp