Templating HTML type-safe di Zig dengan zt
Judul asli: Type-safe HTML templating in Zig
Mengapa Ini Penting
Pendekatan compile-time templating di Zig bisa jadi referensi baru untuk web backend performa tinggi.
Lukáš Lalinský merilis zt, library templating HTML untuk Zig yang type-safe, bebas alokasi memori, dan otomatis escape XSS, terinspirasi dari Templ untuk Go.
Lalinský, pengembang library zio dan Dusty, membangun zt sebagai solusi templating HTML di Zig yang selama ini tidak ia temukan di tempat lain. Empat syarat utamanya: type-safe dengan pengecekan di compile time, tanpa alokasi memori saat runtime, aman dari XSS secara default, dan sintaks yang tetap terasa seperti menulis HTML biasa.
Template zt ditulis dengan ekstensi khusus menggunakan kata kunci `templ`, lalu di-transpile menjadi kode Zig saat proses `zig build`. Hasilnya bisa langsung diimpor dari kode aplikasi. Karena template dapat mengimpor kode aplikasi juga, semua parameter bisa diberi tipe data penuh — jika ada yang salah, compiler Zig langsung memberi tahu.
Output template ditulis langsung ke `std.Io.Writer`, sehingga developer bebas memilih: kirim langsung ke socket atau tampung dulu di buffer. Tidak ada state perantara. Lalinský mengakui terinspirasi dari Ziex dan Templ (Go), khususnya cara integrasi kode logic ke dalam template. Dengan pendekatan ini, ia juga membuka kemungkinan membangun SPA tanpa JavaScript menggunakan htmx atau Datastar.