RepositoryKotlinNLNetherlands
SE

sebaslogen/resaca

Compose Multiplatform library to scope ViewModels to a Composable, surviving configuration changes and navigation

651stars
16forks
0issues
1views

Thành tựu nổi bật

Những danh hiệu mới nhất của dự án

1
TINIX TRENDING·Chủ đề: viewmodel

#1 Repository Của Tuần

1
TINIX TRENDING·Chủ đề: compose-multiplatform-library

#1 Repository Của Tuần

1
TINIX TRENDING·Chủ đề: hilt-dependency-injection

#1 Repository Của Tuần

🍹 Resaca — ViewModel theo phạm vi Composable

Resaca cung cấp cách đơn giản để giữ một ViewModel trong bộ nhớ trong suốt vòng đời của một hàm @Composable.

Resaca là một thư viện Compose Multiplatform nhỏ gọn (dưới 5Kb), hỗ trợ Android, iOS, Desktop JVM và Web. Nó cho phép bạn tạo và quản lý ViewModel hoặc bất kỳ đối tượng nào gán liền với một Composable cụ thể, giữ nguyên chúng qua recomposition, thay đổi cấu hình và cả khi Fragment hoặc điểm đến Compose Navigation được đưa vào backstack.

✨ Điểm nổi bật

  • rememberScoped: ghi nhớ bất kỳ đối tượng nào (trừ ViewModel) trong vòng đời của một Composable.
  • viewModelScoped: gán một ViewModel vào phạm vi của một Composable.
  • Hỗ trợ dependency injection: tích hợp với Koin và Metro thông qua các hàm như viewModelScoped và metroViewModelScoped.
  • Hỗ trợ key: cho phép tạo nhiều ViewModel cùng loại với dữ liệu khác nhau trong cùng một Composable.
  • Tự động dọn dẹp: giải phóng tài nguyên khi Composable không cò� rìa.
  • Nhẹ và đa nền tảng: hỗ trợ Android, iOS, Desktop và Web với kích thước nhỏ hơn 5Kb.

💡 Vì sao đáng chú ý

Compose cho phép xây dựng giao diện người dùng linh hoạt và có thể tái sử dụng như những khối Lego. Tuy nhiên, ViewModel truyền thống chỉ có thể được gán phạm vi ở mức độ màn hình hoặc lớn hơn, khiến việc tái sử dụng logic nghiệp vụ trở nên khó khăn. Resaca giải quyết vấn đề này bằng cách cho phép gán ViewModel vào từng Composable nhỏ, giúp các thành phần giao diện và logic nghiệp vụ được kết nối một cách tinh vi và có thể tái sử dụng trên nhiều màn hình khác nhau.


#Kotlin #ComposeMultiplatform #Android #ViewModel #Architecture #TiniX

Similar Projects

Discover other similar projects and AI models.

RepositoryKotlin
gkd-kit/gkd

基于无障碍,高级选择器,订阅规则的自定义屏幕点击安卓应用 | An Android APP with custom screen tapping based on Accessibility, Advanced Selectors, and Subscription Rules

43.3k
Oct 20, 2026
RepositoryKotlin
open-ani/animeko

集找番、追番、看番的一站式弹幕追番平台,云收藏同步 (Bangumi),离线缓存,BitTorrent,弹幕云过滤。100% Kotlin/Compose Multiplatform

21.2k
Oct 24, 2026
RepositoryKotlin
amir1376/ab-download-manager

A Download Manager that speeds up your downloads

18.8k
Oct 15, 2026
RepositoryKotlin
coil-kt/coil

Image loading for Android and Compose Multiplatform.

12.0k
Oct 25, 2026
RepositoryKotlin
AkshayChordiya/News

A sample News 🗞 app built using Modern Android Development [Architecture Components, Coroutines, Retrofit, Room, Kotlin, Dagger]

844
Nov 3, 2020
RepositoryDart
flutter/flutter

Flutter makes it easy and fast to build beautiful apps for mobile and beyond

180.4k
Oct 26, 2026
RepositoryKotlin
lysine-dev/okhttp

A meticulous HTTP client for the JVM, Android, and GraalVM.

47.1k
Oct 22, 2026
RepositoryKotlin
android/architecture-samples

A collection of samples to discuss and showcase different architectural tools and patterns for Android apps.

45.9k
Oct 20, 2026
RepositoryKotlin
JunkFood02/Seal

🦭 Video/Audio Downloader for Android, based on yt-dlp

30.1k
Sep 25, 2026