YOL HARİTASI
Neyin yapıldığı, sırada ne olduğu.
Her madde bir tasarım önerisiyle başlar: ne için olduğu, API'sinin bir taslağı, tartılan seçenekler ve hâlâ açık sorular. Kod, öneri kabul edilince gelir. Her madde geleceği sürümü söyler; planlanan bir sürüm bir plandır, söz değil.
Yayımlandı
7
İlk sürüm 0.1.0'da.
Kütüphane
0.1.0
Material 3'e bir köprü
Her tema renklerini, yazısını ve şekillerini ötekine verir, iki yönde.
Belgeler
0.1.0
Bir analitik örneği
Bileşenlerin olayları bir analitik ürününe bağlı, bir izleme planıyla.
Kütüphane
0.1.0
Test yardımcıları
com.pantrixui:testing: etikete göre bulmak, PantrixTestTheme ve platformun servislerinin dublörleri.
Kütüphane
0.1.0
Tanılama
Çalışan bir ekranda yinelenen etiketler, okunmayan renkler, sıkışmış hedefler ve boş adlar.
Araçlar
0.1.0
detekt kuralları
Kütüphanenin kuralları ve bir uygulamanın tuttukları, com.pantrixui:detekt-rules olarak.
Belgeler
0.1.0
Değişiklik günlüğü, katkı ve güvenlik
Bir değişikliğin nasıl geldiği, ne taşıdığı ve bir açığın nasıl bildirildiği.
Yapılıyor
1
Şu an yapılıyor.
Sırada
1
0.2.0 için planlandı, başlamayı bekliyor.
Sonra
5
Karar verildi ya da tartılıyor; henüz sürüm yok.
Araçlar
Tartılıyor
JSON olarak tasarım tokenları
Bir markanın görünüşünün yazıldığı tek dosya; Kotlin, Swift ve CSS ondan üretilir.
Bileşenler
Tartılıyor
Yeni bileşenler
Slider, Stepper, ListItem, EmptyState, doğrusal bir ilerleme, FAB, Drawer, KeyValue.
Araçlar
Tartılıyor
Bir BOM, önizlemeler ve ölçümler
Her yayın için tek sürüm, bir önizleme modülü ve ölçülmüş başarım.
Sırada · 0.2.0, planlandı · Sunucu güdümlü UI
Bir sunucunun tarif ettiği ekranlar, Pantrix'le güvenle çizilir
Bir formu, bir kampanya kartını ya da bir ayar sayfasını yeni bir sürüm çıkarmadan, uygulamanın kendi bileşenleriyle değiştir. Tarif, uygulamanın denetlediği veridir; asla çalıştırdığı kod değil.
Sunucudan
Bir taslak: biçim henüz tasarlanmadı
{
"screen": "offers",
"body": [
{ "component": "Card",
"image": "asset://campaign/delivery",
"tag": "Pazar biter",
"title": "Her siparişte ücretsiz teslimat",
"text": "Pazar gecesine kadar 40 € üzeri siparişlerde.",
"action": { "button": "Alışverişe başla", "navigate": "catalogue" } },
{ "component": "Button", "variant": "Outline",
"text": "Şimdi değil", "action": { "dismiss": true } }
]
}
// shop.example imzalı, çizilmeden önce denetlenir
denetlenir, sonra çizilir
✓ imzalı
✓ izinli
✓ yalnızca veri
Göndereni bellidir
Uygulama bir tarifin nereden geldiğini çizmeden önce denetler; şifreleme önce altı hedefin hepsinde, tarayıcının Wasm'ında ve JavaScript'inde de ölçülür.
Kod çalıştırmaz
Bir tarif metin, sayı, renk ve liste taşır. Bir düğmeye basmak, uygulamanın karar verdiği adlı bir eylemdir: bir gezinme, bir istek, bir durum değişikliği.
Yalnızca uygulamanın izin verdiği
Bileşenler ve adresler uygulamanın kendi listesinden gelir. Tarif dışarıdan bir girdidir: derinliği, uzunluğu ve boyutu sınırlıdır; okumak asla çökmez.
Adımlar
1.
Şifrelemeyi altı hedefin hepsinde ölçmek
2.
Bir tasarım önerisi ve sorularının yanıtları
3.
Modüller, her biri testleriyle
4.
Demoda bir sayfa
5.
Asistanların ve araçların gerekenleri
6.
Rehber
7.
Yayın, API dökümleri ve README
Asistanlar için, düşünülenler
Tarifin JSON Şeması, pantrix-ui.json'dan üretilerek; MCP sunucusunda da iki araç:
validate_screen bir tarifi şemaya ve uygulamanın listesine karşı denetler
get_sdui_component bir bileşenin tarifte neyi kabul ettiğini söyler
Tek tasarım sistemi, üç kütüphane
Projenin yazıldığı Pantrix'i al
Bir Compose Multiplatform projesi bugünkü kütüphaneyi alır. Yerel bir Android projesi Jetpack Compose için Pantrix'i, yerel bir iOS projesi de SwiftUI için Pantrix'i alacak. Üçü aynı kütüphanedir: aynı adlarla aynı bileşenler, aynı tokenlar ve hazır ayarlar, aynı etiketler. Değişen, dil ve araç takımıdır.
Bir Compose Multiplatform projesi
Kullanılabilir · 0.1.0
Pantrix UI
Bugünkü kütüphane: her platform için tek bir Kotlin kod tabanı.
Android
iOS
Masaüstü
Web
commonMain · Kotlin
Bugün
PantrixTheme(preset = PantrixPreset) {
PantrixTextArea(
state = note,
label = stringResource(Res.string.note),
maxLength = 120,
tagKey = "courierNote"
)
}
Yerel bir Android projesi
Sonra
Jetpack Compose için Pantrix
Yalnızca Android'de çalışan bir uygulama için, Google'ın Jetpack Compose kütüphaneleri üzerinde yeniden yazılan aynı kütüphane.
Android
app · Kotlin
Bir taslak
PantrixTheme(preset = PantrixPreset) {
PantrixTextArea(
state = note,
label = stringResource(R.string.note),
maxLength = 120,
tagKey = "courierNote"
)
}
Yerel bir iOS projesi
Sonra
SwiftUI için Pantrix
Swift'te, SwiftUI görünümleri olarak yeniden yazılan aynı kütüphane.
iOS
Checkout.swift · Swift
Bir taslak
PantrixTheme(preset: .pantrix) {
PantrixTextArea(
"Kuryeye not",
text: $note,
maxLength: 120
)
.tagKey("courierNote")
}
Ne aynı, ne farklı
Compose Multiplatform
Jetpack Compose
SwiftUI
Bileşenler
Aynı · her bileşen aynı adla: PantrixTextArea, PantrixButton, PantrixDatePicker…
Görünüş
Aynı · aynı tokenlar ve hazır ayarlar, Pantrix'inki de
Etiketler
Aynı · üçünde de TextArea_courierNote; böylece tek bir Maestro akışı Android ve iOS uygulamasını sınar
Erişilebilirlik
Aynı · her platformun kendisi: TalkBack, VoiceOver, klavye, dokunma hedefleri
Belgeler
Aynı · tek site ve tek MCP sunucusu, her sayfa her kütüphanenin koduyla
Dil ve araç takımı
Kotlin, Compose Multiplatform
Kotlin, Jetpack Compose
Swift, SwiftUI
Platformlar
Android, iOS, masaüstü, web
Android
iOS
Tartılan, tek bir token kaynağı:
pantrix.tokens.json
→
PantrixPreset.kt
PantrixPreset.swift
pantrix.css
Sürümler
0.1.0 · ilk sürüm
Bütün kütüphane
Altı hedefte 100 bileşen, uyarlanabilir düzenler ve katlanan ekranlar, üç dil, test yardımcıları, tanılama, detekt kuralları, Material 3 köprüsü ve asistanlar için belgeler. Bu web sitesi de onunla gelir.
0.2.0 · planlandı
Sunucu güdümlü UI
Bir sunucunun tarif ettiği ekranlar, Pantrix'in bileşenleriyle denetlenip çizilir.
Sonra
Jetpack Compose ve SwiftUI
Yalnızca Android ve yalnızca iOS için kütüphane, her biri kendi projesinde; JSON olarak tasarım tokenları onlarla birlikte tartılıyor.
Apache License 2.0
·
Türkçe