Kompoz belgeleri
Kompoz, C++20 için Jetpack Compose tarzında deklaratif bir arayüz kütüphanesidir; Material 3 bileşenleriyle gelir ve tek kod tabanından Linux, Windows, Android ve web'de çalışır.
Compose'u biliyorsanız Kompoz'u da biliyorsunuz: aynı düşünme biçimi (composable fonksiyonlar, durum, recomposition, modifier'lar), C++'ın izin verdiği yerde aynı isimler ve Compose'unkiler gibi görünen ve davranan Material 3 bileşenleri. Sürüm 0.1.1, Apache Lisansı 2.0 ile lisanslıdır.

void Counter() {
auto count = remember([] { return mutableStateOf(0); });
Column(Modifier().padding(16), {.verticalArrangement = Arrangement::spacedBy(8)}, [&] {
Text("Count: " + std::to_string(count.get()), {.font = typography().titleLarge});
Button([count] { count.set(count.get() + 1); }, [] { Text("Add"); });
});
}
Application kompoz::createApplication(int, char**) {
return {.title = "Demo", .content = [] { MaterialTheme(lightColorScheme(), Counter); }};
}Başlarken
- Kurulum: Kompoz'u derleyin, kendi CMake projenize ekleyin ve her platformda çalıştırın.
- Eğitim: tek satır metinden bir Material listesine, ilk uygulamayı adım adım kurun.
- Compose'dan gelenler için: Kotlin'deki Compose'un C++'a nasıl karşılık geldiği, bir bakışta.
Temeller
- Kompoz'da düşünmek: deklaratif arayüz, composable fonksiyonlar ve recomposition.
- Durum: gözlemlenebilir durum,
remember,rememberSaveable, durumu yukarı taşıma ve durum tutucular. - Yaşam döngüsü ve kimlik: çağrıların bir compiler plugin olmadan nasıl tanındığı ve neyin onları atlattığı.
- Yan etkiler: coroutine'ler,
LaunchedEffect,DisposableEffectve diğer efekt API'leri. - Aşamalar: kompozisyon, yerleşim ve çizim; her birini nasıl ucuz tutacağınız.
- CompositionLocal: değerleri ağaçta aşağı aktarmak ve yerleşik local'ler.
Tasarım
- Modifier'lar: composable'ları süslemek, sıranın neden önemli olduğu ve kendi modifier'ınızı yazmak.
- Yerleşimler:
Column,Row,Box, akan yerleşimler,FlexBox,Gridve uyarlanabilir yerleşimler. - Özel yerleşimler:
Layout, kısıtlar, intrinsic'ler veSubcomposeLayout. - Listeler ve ızgaralar: tembel listeler ve ızgaralar, pager'lar, carousel'ler ve iç içe kaydırma.
- Material bileşenleri: Material 3 bileşenlerinde bir tur.
- Tema: renk şemaları, koyu tema, dinamik renk, tipografi ve tasarım sistemleri.
- Metin: metne stil vermek, fontlar, seçim ve metin alanları.
- Grafik:
Canvas, fırçalar, path'ler, şekiller, gölgeler, resimler ve vektörler. - Animasyon: animasyonlu değerler, görünürlük, içerik, geçişler ve paylaşılan öğeler.
- Hareketler ve girdi: tıklamalar, sürüklemeler, iki parmakla yakınlaştırma, klavye, odak ve sürükle-bırak.
Uygulama
- Mimari: tek yönlü veri akışı,
ViewModel'ler, flow'lar ve kaydedilen durum. - Gezinme: ekranlar, geri yığını, tür güvenli rotalar ve derin bağlantılar.
- Kaynaklar: varlıklar (asset'ler), kütüphanenin sistem dilindeki metinleri ve platform servisleri.
- Erişilebilirlik: semantik, ekran okuyucular, dokunma hedefleri ve klavye.
- Test: sanal saatle, pencere açmadan arayüz testleri.
- Araçlar: önizlemeler, kaydedince yeniden derleme, betikle ekran görüntüleri ve profil çıkarma.
Başvuru
- API durumu: her Compose API'si ve Kompoz'daki durumu, ayrıca geliştirme günlüğü.



Daha fazlasını görmek için