Pantrix UI

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