Minimal ve hızlı
Tam HTML sunucudan. React runtime yok, hydration şelalesi yok — yalnızca bir içerik sayfasının ihtiyaç duyduğu baytlar.
Bir isteğin yolculuğu
Kara kutu yok. Her adım okunabilir, değiştirilebilir ve tek başına anlaşılabilir.
Express 5 güvenlik başlıklarını, yönlendirmeleri ve statik dosyaları belirli bir sırayla işler. Akış görünür ve belgeli; gizli sihir yok.
HIT ise hazır sayfa anında döner. TTL'e yaklaşınca arka planda yenileme başlar, ziyaretçi yine HIT alır; TTL sonrası mevcut HTML STALE gider ve yeniden üretim arkada koşar.
Düz bir async controller görünümü, veriyi ve metadata'yı döndürür. Okuması kolay, framework töreni yok.
EJS gövdeyi ve layout'u eksiksiz HTML'e dönüştürür. Küçük fonksiyon bileşenleri sayfalarda ve fragment'larda aynı şekilde kullanılabilir.
Tarayıcı yalnızca görünen island'ın modülünü indirir ve davranışı bağlar. JavaScript hiç gelmese bile içerik okunabilir kalır.
Island sözleşmesi
Sunucu görünümü tamamlar. Island küçük bir davranış katmanı ekler. Bağlantı kopsa bile içerik yerinde kalır.
<div
data-island="pricing-calculator"
data-island-props='{"currency":"USD"}'
>
<!-- the pricing table HTML came from the server -->
<table data-seats-table>...</table>
</div>
import { on, qs } from "jskelet/client";
export function mount(element, props) {
const input = qs(element, "[data-seats]");
return on(input, "input", () => {
// The table markup came from the server;
// the island only updates the number.
paint(element, Number(input.value), props.currency);
});
}
Karşılığı
Tam HTML sunucudan. React runtime yok, hydration şelalesi yok — yalnızca bir içerik sayfasının ihtiyaç duyduğu baytlar.
Menü, sayaç veya grafik kendi island'ında yaşar. Modülü yalnızca görünür olunca iner.
Düz async controller, EJS şablon ve küçük bir API. Tören olmadan okunur, drama olmadan değiştirilir.