arkivanov/Decompose
چیه؟ Decompose یک کتابخانه Kotlin Multiplatform هست که به تو امکان میده تا کامپوننتهای منطق تجاری (BLoC) ایجاد کنی که به چرخه حیات (lifecycle) حساس هستند و همراه با قابلیت مسیریابی (routing) و رابط کاربری قابل جابجایی (pluggable UI).
این یعنی میتونی منطق برنامهات رو یکجا بنویسی و اون رو توی اندروید (با Jetpack Compose)، iOS (با SwiftUI)، وب (با React) و دیگر پلتفرمها استفاده کنی.
کاربرد:
این کتابخانه برای ساخت اپلیکیشنهای چندسکویی (multiplatform) طراحی شده تا تو بتونی:
- منطق کسبوکار رو از UI جدا کنی
- مدیریت ناوبری (navigation) رو به صورت چندسکویی پیادهسازی کنی
- بدون نیاز به بازنویسی، UIهای مختلف رو به یک منطق متصل کنی
در چه شرایطی بهتره استفاده شود؟
اگر داری یک پروژه Multiplatform میسازی و میخوای همزمان روی اندروید، iOS و وب کار کنی، Decompose گزینه عالیایه.
همچنین اگر به دنبال یک معماری تمیز مثل MVI یا BLoC هستی و میخوای ناوبری پیچیده داشته باشی، این ابزار خیلی کمککنندهست.
چند مثال از موارد استفاده:
- ساخت یک صفحه تنظیمات که هم توی اندروید و هم توی iOS با همون منطق کار کنه
- مدیریت یک فرآیند چندمرحلهای مثل ثبتنام در پلتفرمهای مختلف
- اشتراکگذاری کامپوننتهای UI مثل لیستها یا فرمها بین وب و موبایل
- ##Multiplatform
- ##Kotlin
- ##BLoC
- ##Navigation
- ##JetpackCompose
- ##SwiftUI
- ##React
- ##MVI
- ##Decompose
- ##CrossPlatform
