Jetpack Compose için Agent-to-UI oluşturucu (A2UI)

Jetpack Compose agent-to-UI (A2UI) oluşturucu, A2UI protokolünün bir uygulamasını sağlar. Bu sayede yapay zeka temsilcileri, rastgele kod yürütmeden yerel Compose bileşenlerini oluşturabilen zengin ve etkileşimli kullanıcı arayüzleri oluşturabilir. Bu kitaplık, A2UI JSON protokolünü Compose temel öğeleriyle eşlerken idiomatik durum yönetimine uyar ve Compose Snapshot durum sistemine dayalı ayrıntılı tepkisellik sağlar.

Compose A2UI oluşturucu kitaplığı aşağıdaki özellikleri sunar:

  • Yüksek performanslı tepkisellik (androidx.a2ui.compose:compose-runtime): Compose Snapshot durum sisteminden yararlanarak ayrıntılı kullanıcı arayüzü güncellemeleri sunar. Böylece yalnızca akış aracısı güncellemelerinden veya kullanıcı etkileşimlerinden etkilenen belirli bileşenlerin yeniden oluşturulması sağlanır.
  • Esnek bileşen API'leri ve özelleştirme (androidx.a2ui.compose:compose-ui): JSON protokolü şemalarını yerel Compose kullanıcı arayüzünüze eşleyen bileşen uygulamaları kataloglarını tanımlamak için yapılandırılmış bir kalıp sağlar. Bu sayede, aşamalı oluşturmayı, alt bileşenlerin özel yükleme durumlarını, animasyonlu geçişleri ve verileri temsilciye geri gönderebilen iki yönlü veri bağlamalarını destekleyen bileşenler oluşturabilirsiniz.
  • Tasarım sisteminden bağımsız çekirdek: Çalışma zamanı ve kullanıcı arayüzü oluşturma katmanlarını belirli bir tasarım sisteminden bağımsız tutarak uygulamanızın tasarım sistemi için özel kataloglar oluşturmanıza veya sağlanan Temel Katalog'u kullanmanıza olanak tanır.
  • Yapay zeka halüsinasyonlarının sorunsuz şekilde işlenmesi (androidx.a2ui:a2ui-model ve androidx.a2ui:a2ui-engine): Durum modellerine ulaşmadan önce hatalı biçimlendirilmiş yükleri yakalamak için şema doğrulaması, bileşen hata durumları aracılığıyla sorunsuz hata işleme ve kendi kendini düzeltme için bir aracıya otomatik hata raporlama sağlar.
  • Yerleşik Temel Katalog (androidx.compose.material3:material3-a2ui): Compose oluşturucunun üzerinde aşamalı oluşturma ve Materyal temalandırmayı destekleyen, Materyal 3 bileşenlerini kullanan kullanıma hazır bir Temel Katalog uygulaması sağlar.

Üst düzey mimari

Her A2UI arayüzü bir bileşen kataloğu tarafından desteklenir. Katalog, bir aracının rastgele kullanıcı arayüzü kodu oluşturması veya tescil edilmemiş bileşenler icat etmesi yerine, aracıya sunulan belirli kullanıcı arayüzü öğelerini, özellikleri ve işlevleri tanımlayan bir sözleşme görevi görür. Katalog, bileşenleri bildirir. Aracı, kullanıcı arayüzleri oluşturmak için bu bileşenleri kullanır.

Bu modeli desteklemek için Compose A2UI oluşturucu, temel, tasarım sisteminden bağımsız oluşturma motorunu daha önce açıklanan Jetpack yapılarındaki somut katalog uygulamalarından ayırır ve androidx.a2ui.compose:compose-ui-testing içinde özel test API'leri sağlar.

Protokol gelişimi ve API uyumluluğu

Compose A2UI oluşturucu şu anda A2UI spesifikasyonunun 0.9.1 sürümünü desteklemektedir.

Kullanıcı arayüzü (androidx.a2ui.compose:compose-ui) ve çalışma zamanı katmanları (androidx.a2ui.compose:compose-runtime), uygulamalarınız ve bileşen kataloglarınız için bir API yüzeyi sağlarken temel alınan veri katmanı (androidx.a2ui:a2ui-model ve androidx.a2ui:a2ui-engine), protokole özgü sürüm ayrıştırmasını ve mesaj işlemeyi yönetir. Bu kitaplıklar AndroidX'in bir parçası olduğundan katı ikili uyumluluk kuralları geçerlidir. Örneğin, genel API kararlı 1.0.0 sürümüne ulaştıktan sonra sınıflar ve arayüzler gibi genel API yüzeylerinde uyumluluğu bozan değişiklikler yapılmaz.

Compose A2UI oluşturucu, protokol evrimini desteklemek için aşağıdaki stratejileri kullanır.

Kullanıcı arayüzü ve çalışma zamanı oluşturucu API'lerini geliştirme

A2UI protokolü gelişirken veya yeni özellikler eklenirken oluşturucu API'leri, aşağıdaki yaklaşımlarla bu değişiklikleri destekler:

  • API'de değişiklik yapmadan eklenenler: Yeni bir özellik kullanıma sunulduğunda, varsayılan bir uygulamayla birlikte temel herkese açık arayüzün (ör. A2uiComponent veya A2uiCatalog) bir parçası haline gelir. Bu sayede uygulamanızın bileşenleri derlenmeye ve değiştirilmeden çalışmaya devam edebilir.
  • Kullanımdan kaldırılan değişiklikler, eski arayüzlerin desteğinin sonlandırılmasına neden olur: Gelecekteki bir protokol güncellemesi uyumsuz bir değişiklik içerirse eski uyumsuz arayüzlerin (ör. A2uiComponent) desteği sonlandırılır ve yeni arayüzler (ör. A2uiComponentV2) kullanıma sunulup desteklenir.

Sürüm kataloğu ve bileşen şemaları

Katalog şeması tanımı belirli bir protokol sürümüyle ilişkilendirilir. Protokol geliştiğinde katalog tanımı da buna göre gelişir ve sürümü ilerler. Bu "sonraki" sürüm için bileşen uygulamaları, güncellenen oluşturucu API'lerini kullanabilir.

Sorunsuz geçişlere yardımcı olmak için istemciniz, yetenek görüşmesi aşamasında aracının aldığı birden fazla desteklenen katalog sürümü bildirebilir.