Skip to content
Bahasa Indonesia
Kembali ke direktori

astro.build

200 OK

Cara Astro mengubah konten menjadi HTML dan menambahkan interaksi secara selektif

Developer ToolsTailwind CSS
Jawaban langsung

Astro sangat cocok untuk situs web berbasis konten yang perlu menyajikan HTML berguna sebelum JavaScript browser berjalan. Pilihan yang membedakannya adalah hydration selektif: tim dapat mempertahankan sebagian besar halaman tetap statis sambil mengaktifkan masing-masing komponen, meskipun aplikasi yang sangat interaktif mungkin tidak memperoleh banyak manfaat dari batas tersebut.

Terakhir diperiksa:

Konsep utama

  • Penyampaian yang mengutamakan HTML: Astro merender konten halaman sebagai HTML dan secara default tidak mengirim JavaScript sisi klien.

  • Hydration selektif: Hanya komponen yang secara eksplisit ditandai untuk hydration di browser yang menerima JavaScript yang diperlukan untuk interaksi.

  • Island independen: Komponen interaktif menjalani hydration secara terpisah dan dapat menggunakan prioritas pemuatan yang sesuai dengan saat pengunjung membutuhkannya.

  • Beragam pendekatan UI: Astro mendukung React, Preact, Svelte, Vue, Solid, HTMX, web components, dan pendekatan lainnya.

  • Content collections dengan tipe: Content collections mengatur dan memvalidasi konten Markdown dengan keamanan tipe TypeScript.

  • Kecocokan untuk konten: Astro paling selaras secara langsung dengan situs tempat membaca dan menavigasi konten menjadi aktivitas utama pengguna.

Compare the subject with other published sites in the same category.

All alternatives

Cara Astro mengubah konten menjadi HTML dan menambahkan interaksi secara selektif

Apa itu Astro?

Astro adalah framework web sumber terbuka untuk membangun situs web berbasis konten. Astro merender konten halaman sebagai HTML dan secara default tidak mengirim JavaScript sisi klien, sekaligus memungkinkan pengembang menambahkan komponen yang menjalani hydration secara independen ketika interaksi browser diperlukan.

Pendekatan ini cocok untuk blog, dokumentasi, situs pemasaran, portofolio, halaman arahan, situs komunitas, dan pengalaman e-commerce yang berfokus pada konten. Astro dapat menggabungkan beberapa framework UI yang sudah dikenal tanpa mengharuskan seluruh halaman menjadi aplikasi yang dirender di sisi klien.

Ringkasan singkat

  • Tujuan utama: Membangun situs web berbasis konten dengan HTML yang dirender di server.
  • Biaya browser default: Tidak ada JavaScript sisi klien kecuali proyek menambahkannya secara eksplisit.
  • Arsitektur inti: Komponen interaktif menjadi island terisolasi di dalam halaman yang selain itu tetap statis.
  • Pendekatan UI yang didukung: React, Preact, Svelte, Vue, Solid, HTMX, web components, dan lainnya.
  • Alat konten: Content collections mengatur dan memvalidasi Markdown dengan keamanan tipe TypeScript.
  • Kecocokan terbaik: Situs tempat membaca dan menavigasi konten lebih penting daripada state sisi browser yang terus berjalan.
  • Kompromi utama: Tim harus memutuskan komponen mana yang memerlukan JavaScript dan kapan komponen tersebut harus dimuat.

Masalah apa yang ingin diselesaikan Astro?

Situs web konten sering menggunakan arsitektur frontend yang berorientasi aplikasi meskipun halamannya terutama berisi judul, artikel, penjelasan produk, gambar, dan tautan. Hal ini dapat mengirim JavaScript untuk pohon komponen yang luas walaupun sebagian besar halaman tidak memerlukan eksekusi di browser.

Astro dimulai dari asumsi server-first: konten menjadi HTML, dan eksekusi browser ditambahkan hanya ketika interaksi memerlukannya. Dengan demikian, model penyampaiannya dapat mengikuti perilaku aktual halaman, alih-alih memperlakukan setiap elemen sebagai bagian dari satu aplikasi interaktif.

Dokumentasi resmi menggambarkan Astro sebagai berbasis konten, server-first, cepat secara default, mudah digunakan, dan berfokus pada pengembang. Ini adalah sasaran desain, bukan jaminan, karena gambar, skrip pihak ketiga, kode komponen, dan pilihan implementasi tetap memengaruhi situs akhir.

Hal yang diatur Astro untuk proyek konten

  • Halaman yang nilai utamanya adalah HTML yang dapat dibaca.
  • Tata letak dan komponen yang dapat digunakan kembali di sekeliling konten tersebut.
  • Konten Markdown yang diatur melalui collections.
  • Validasi dan skema yang memahami TypeScript untuk entri collection.
  • Komponen interaktif opsional menggunakan framework UI yang didukung.
  • Integrasi yang ditambahkan sesuai kebutuhan konten dan penyampaian.

Bagaimana Astro merender halaman?

Astro memisahkan konten halaman statis dari komponen browser interaktif. Server menghasilkan HTML, sedangkan komponen yang ditandai untuk hydration menerima JavaScript dan menjadi interaktif sesuai directive yang dipilih pengembang.

Hal ini berbeda dari menjadikan seluruh halaman sebagai satu pohon komponen sisi klien dan berbeda pula dari menerbitkan dokumen yang sepenuhnya statis serta tidak dapat menambahkan perilaku browser. Astro menempati jalan tengah dengan menetapkan interaksi pada bagian tertentu dari halaman.

Perbandingan arsitektur dan rendering

Bagian halaman atau pendekatan Output awal JavaScript browser Batas interaksi Implikasi praktis
Konten Astro statis HTML yang dirender di server Tidak ada secara default Tidak ada komponen yang menjalani hydration Teks, tautan, dan konten statis lainnya tetap berguna tanpa runtime komponen.
Island interaktif Astro HTML ditambah komponen yang secara eksplisit menjalani hydration Dimuat untuk komponen tersebut Island individual Menu atau kontrol pencarian dapat menjadi interaktif tanpa melakukan hydration pada artikel di sekelilingnya.
Beberapa island Astro HTML ditambah komponen yang menjalani hydration secara terpisah Dimuat sesuai kebutuhan masing-masing island Setiap island menjalani hydration secara independen Tim dapat memprioritaskan interaksi penting dan menunda komponen yang belum segera diperlukan.
Aplikasi sisi klien untuk seluruh halaman Shell atau HTML khusus aplikasi Umumnya mendukung pohon komponen klien yang luas Sebagian besar halaman berbagi eksekusi sisi browser Ini dapat cocok untuk interaksi berkelanjutan, tetapi mungkin menerapkan model aplikasi pada konten yang tidak memerlukannya.

Batas-batas ini tidak menjamin hasil performa tertentu. Island yang besar tetap dapat mengirim kode dalam jumlah besar, sedangkan media berat dan skrip yang tidak terkait dapat memperlambat halaman; Astro menyediakan default dengan JavaScript rendah, tetapi pengalaman akhirnya tetap menjadi tanggung jawab tim.

Apa itu island Astro?

Island adalah komponen UI interaktif di dalam halaman yang selain itu tetap statis. Judul, paragraf, tautan, dan materi noninteraktif lain di sekelilingnya tetap berupa HTML, sedangkan island menerima kode browser yang diperlukan untuk perilakunya.

Island menjalani hydration secara independen, sehingga mengaktifkan satu komponen tidak mengharuskan setiap komponen interaktif lain ikut aktif. Framework komponen yang didukung dapat digunakan secara berdampingan, meskipun penggunaan beberapa framework dapat meningkatkan duplikasi runtime dan tuntutan pemeliharaan.

Kapan island dapat menjalani hydration?

  • client:load: Memprioritaskan komponen saat halaman dimuat.
  • client:idle: Menunda hydration sampai browser memiliki waktu menganggur.
  • client:visible: Menunggu sampai komponen mendekati viewport.

Directive ini menjadikan prioritas pemuatan sebagai bagian dari penempatan komponen. Kontrol yang segera diperlukan dapat ditangani secara berbeda dari elemen interaktif yang berada lebih jauh di bagian bawah halaman, dan pilihannya harus mengikuti kebutuhan pengguna, bukan aturan yang diterapkan secara menyeluruh.

Hal yang dapat dan tidak dapat dijamin oleh islands

Islands membantu tim melakukan hal ini Islands tidak menjamin hal ini
Mempertahankan konten statis sebagai HTML Setiap halaman yang selesai akan cepat
Menambahkan JavaScript hanya ke komponen yang dipilih Komponen yang menjalani hydration akan berukuran kecil
Memberikan prioritas pemuatan berbeda kepada masing-masing island Skrip pihak ketiga akan efisien
Menggunakan framework UI yang didukung untuk bagian interaktif Menggabungkan framework tidak akan menimbulkan biaya runtime atau pemeliharaan
Mempertahankan struktur halaman yang mengutamakan konten Gambar, font, dan aset lain akan dioptimalkan secara otomatis

Sifat yang berguna adalah kendali. Hydration tetap terlihat dalam penggunaan komponen, sehingga pengembang dapat meninjau tempat JavaScript masuk ke halaman dan apakah setiap dependensi sepadan dengan biayanya.

Bagaimana Astro menangani framework UI dan konten?

Astro mendukung React, Preact, Svelte, Vue, Solid, HTMX, web components, dan pendekatan UI lainnya. Tim dapat menggunakan framework komponen yang sudah dikenal untuk sebuah island sambil mempertahankan dokumen di sekelilingnya dalam model halaman Astro yang dirender di server.

Fleksibilitas ini dapat mendukung adopsi bertahap atau mempertahankan investasi pada komponen yang sudah ada, tetapi bukan berarti menggabungkan setiap framework akan bermanfaat. Satu pendekatan utama yang konsisten biasanya lebih mudah dipahami, dan setiap runtime tambahan harus menyelesaikan masalah tertentu.

Content collections melengkapi model rendering ini dengan memberikan struktur yang teratur dan tervalidasi kepada Markdown serta konten terkait, disertai keamanan tipe TypeScript. Proyek publikasi atau dokumentasi dapat memperlakukan kontennya sebagai dataset yang koheren, bukan kumpulan file yang tidak saling terkait.

Area ekosistem yang dipelihara

Repositori framework mengidentifikasi paket yang dipelihara secara resmi untuk beberapa kebutuhan:

  • Integrasi UI untuk React, Preact, Solid, Svelte, dan Vue.
  • Dukungan runtime melalui integrasi Node dan beberapa adapter deployment.
  • Alat konten dan penerbitan, termasuk integrasi MDX, RSS, dan sitemap.
  • Integrasi terkait skrip melalui Partytown.

Proyek dapat dimulai dengan Astro dan menambahkan integrasi ketika persyaratan membenarkannya. Dokumentasi terkini dan informasi paket yang dipelihara harus menjadi panduan dalam memilih instalasi karena ketersediaan dan kompatibilitas dapat berubah.

Untuk siapa Astro cocok?

Astro paling selaras dengan proyek yang kontennya perlu tersedia sebagai HTML dan interaksinya menempati bagian-bagian terpisah. Astro sangat layak dievaluasi ketika aktivitas utama pengguna adalah membaca, menjelajah, membandingkan, atau menemukan informasi.

Produk yang menyerupai aplikasi tetap dapat memiliki halaman yang mengutamakan konten, tetapi model interaksi dominannya perlu diperhatikan. Jika sebagian besar layar bergantung pada state klien bersama dan pembaruan browser yang berkelanjutan, batas island mungkin memberikan lebih sedikit nilai atau memerlukan lebih banyak keputusan arsitektural.

Panduan kecocokan dan ketidakcocokan

Astro layak dipertimbangkan ketika Evaluasi pendekatan lain dengan cermat ketika
Proyeknya berupa blog, situs dokumentasi, portofolio, halaman arahan, situs pemasaran, situs komunitas, atau pengalaman perdagangan yang berfokus pada konten. Sebagian besar layar berperilaku seperti aplikasi browser yang terus-menerus interaktif.
Konten penting harus hadir sebagai HTML tanpa menunggu runtime klien. Hampir setiap bagian halaman memerlukan hydration dan state sisi browser bersama.
Interaktivitas dapat dibagi menjadi komponen-komponen yang jelas. Interaksi sulit dipisahkan menjadi bagian-bagian independen.
Tim ingin menggunakan kembali komponen UI yang didukung secara selektif. Tim mengharapkan penggabungan framework berlangsung tanpa upaya atau tanpa biaya.
Pengaturan Markdown, validasi, dan keamanan tipe memberikan nilai. Proyek hanya memiliki sedikit konten dan tidak mendapatkan manfaat berarti dari content collections.

Panduan ini adalah filter arsitektural, bukan vonis. Evaluasi terkuat menggunakan satu halaman representatif yang berisi konten nyata dan interaksi paling menuntut yang diperkirakan akan digunakan dalam produksi.

Apa saja kompromi utama Astro?

Keunggulan utama dan beban desain Astro berasal dari pilihan yang sama: JavaScript browser digunakan secara selektif. Tim memperoleh kendali atas hydration, tetapi harus menentukan batas komponen dan prioritas pemuatan yang masuk akal.

Manfaat yang didukung arsitekturnya

  • Konten statis tetap berupa HTML yang dirender di server.
  • JavaScript bersifat opt-in untuk komponen yang memerlukan perilaku browser.
  • Island dapat menjalani hydration secara independen.
  • Prioritas pemuatan dapat mencerminkan kapan suatu interaksi mulai berguna.
  • Framework UI yang didukung dapat digunakan tanpa mengendalikan seluruh halaman.
  • Content collections menyediakan pengaturan, validasi, dan keamanan tipe TypeScript.

Biaya dan keputusan yang perlu diperhitungkan

  • Pengembang harus mengidentifikasi komponen mana yang benar-benar memerlukan hydration.
  • Directive yang dipilih dengan buruk dapat memuat kode lebih awal atau lebih lambat daripada saat pengguna membutuhkannya.
  • Island yang besar dapat mengurangi manfaat hydration selektif.
  • Beberapa framework UI dapat menghadirkan kode runtime duplikat dan pemeliharaan tambahan.
  • Skrip pihak ketiga dan media berukuran terlalu besar tetap menjadi masalah performa.
  • Produk yang sarat interaksi harus menentukan apakah islands sesuai dengan model state mereka.

Astro mendukung komposisi yang disengaja. Astro menghilangkan JavaScript sisi klien otomatis dari titik awal, tetapi tidak menghilangkan kebutuhan untuk meninjau dependensi, aset, aksesibilitas, atau perilaku halaman yang sebenarnya.

Bagaimana sebaiknya tim mengevaluasi Astro?

Evaluasi yang berguna harus mereproduksi persyaratan konten dan interaksi tersulit dalam proyek. Demonstrasi minimal mungkin membuktikan bahwa Astro dapat berjalan, tetapi tidak dapat menunjukkan apakah arsitekturnya cocok dengan alur kerja penulisan atau perilaku browser yang sebenarnya.

Daftar periksa evaluasi

  1. Pilih halaman yang representatif. Gunakan judul, isi konten, navigasi, gambar, dan tautan nyata, bukan placeholder.
  2. Identifikasi bagian statis. Tandai bagian yang dapat tetap berupa HTML tanpa runtime komponen sisi browser.
  3. Pilih interaksi tersulit. Sertakan komponen paling menuntut yang secara wajar diperkirakan akan digunakan.
  4. Tentukan batas island. Tentukan apakah bagian interaktif dapat menjalani hydration secara independen tanpa koordinasi state yang canggung.
  5. Tetapkan prioritas hydration. Uji apakah client:load, client:idle, atau client:visible sesuai dengan saat setiap komponen mulai berguna.
  6. Tinjau penggunaan framework. Pastikan setiap integrasi UI menyelesaikan kebutuhan konkret dan catat biaya runtime yang terduplikasi.
  7. Uji model konten. Buat collection yang representatif dan pastikan validasi serta tipe TypeScript mendukung alur kerja editorial.
  8. Periksa output yang dikirimkan. Pastikan konten penting tersedia sebagai HTML dan identifikasi JavaScript yang ditambahkan oleh komponen yang menjalani hydration.
  9. Uji batasan nyata. Sertakan media, skrip pihak ketiga, navigasi, dan persyaratan deployment yang diperkirakan.
  10. Bandingkan kemudahan pemeliharaan. Tanyakan apakah batas antara konten dan interaksi jelas bagi tim yang mengoperasikan situs.

Keputusan harus didasarkan pada prototipe tersebut. Default yang didokumentasikan menjelaskan maksud Astro, sedangkan implementasi yang representatif mengungkap apakah default tersebut sesuai dengan kebutuhan nyata proyek terkait konten, interaksi, dan pemeliharaan.

Bagaimana Astro bermula, dan bagaimana tata kelolanya?

Astro diperkenalkan kepada publik pada Juni 2021 melalui tulisan resmi karya Fred Schott dan Nate Moore. Sumber tersebut mengidentifikasi keduanya sebagai penulis yang memperkenalkan proyek dan tidak mendukung pemberian label pendiri tunggal kepada salah satu dari mereka.

Pengumuman tata kelola resmi pada 2025 menyebutkan Technical Steering Committee Astro. Pada tanggal pengamatan tersebut, pengumuman itu mengidentifikasi Matt Kane sebagai pimpinan tim framework dan Sarah Rainsberger sebagai pimpinan tim dokumentasi; ini adalah fakta bertanggal karena kepemimpinan dan keanggotaan komite dapat berubah.

Fakta proyek dan komunitas

  • Juni 2021: Fred Schott dan Nate Moore menulis pengantar resmi Astro.
  • 2025: Astro mengumumkan Technical Steering Committee dan peran tim bertanggal.
  • Lisensi: Repositori framework yang dipelihara mengidentifikasi Astro sebagai perangkat lunak gratis dan sumber terbuka di bawah lisensi MIT.
  • Dukungan: Materi rilis resmi terkini mengarahkan bantuan dan masukan ke komunitas Discord Astro.
  • Partisipasi: Proyek mengarahkan kontributor dan partisipasi proyek ke GitHub.
  • Memulai: README yang dipelihara merekomendasikan npm create astro@latest; instalasi manual menggunakan npm install astro.

Tata kelola menjelaskan cara proyek sumber terbuka mengatur tanggung jawab, sedangkan rendering, alat konten, dan batas interaksi menentukan kecocokan teknisnya.

Apa yang direpresentasikan astro.build?

astro.build adalah situs web resmi Astro, sedangkan Astro sebagai framework adalah subjek yang dijelaskan di sini. Repositori situs web yang dipelihara menyatakan bahwa situs tersebut dibuat dengan Astro, sehingga menjadikannya contoh pihak pertama yang relevan tanpa menjadikan detail pemeliharaannya sebagai bagian dari definisi framework.

Repositori framework yang dipelihara merupakan referensi yang lebih kuat untuk paket yang didukung, jalur instalasi, lisensi, komunitas, dan informasi kontribusi. Dokumentasi Astro tetap menjadi referensi utama untuk model server-first, fokus konten, arsitektur islands, dan directive hydration.

Kesimpulan

Gagasan Astro jelas: render konten sebagai HTML, lalu tambahkan JavaScript browser hanya ke komponen yang memerlukan interaksi. Astro menarik untuk situs berbasis konten dengan bagian interaktif yang dapat dipisahkan, dan kurang jelas manfaatnya untuk produk yang antarmukanya bergantung pada state sisi klien yang berkelanjutan.

Jangan menganggap bahwa default tersebut membuat setiap implementasi menjadi cepat. Bangun halaman yang realistis, periksa HTML dan komponen yang menjalani hydration, uji alur kerja konten, dan pastikan batas island tetap mudah dipahami seiring pertumbuhan proyek.

Respons yang berhasil bukan jaminan keamanan. Pengukuran menggambarkan satu pengamatan pada suatu waktu.

Sumber utama

  1. 01Situs web resmi Astro (dibuka di tab baru)
  2. 02Dokumentasi Astro: Mengapa Astro? (dibuka di tab baru)
  3. 03Dokumentasi Astro: Arsitektur islands (dibuka di tab baru)
  4. 04README repositori framework Astro yang dipelihara (dibuka di tab baru)
  5. 05Repositori framework Astro yang dipelihara (dibuka di tab baru)
  6. 06Repositori situs web resmi astro.build (dibuka di tab baru)
  7. 07Memperkenalkan Astro (dibuka di tab baru)
  8. 08Pengumuman Technical Steering Committee Astro untuk 2025 (dibuka di tab baru)
  9. 09Materi rilis resmi Astro 7 (dibuka di tab baru)

Pertanyaan umum

Jawaban praktis tentang produk dan cara kerjanya.

Untuk apa Astro digunakan?

Astro adalah framework web untuk situs web berbasis konten seperti blog, dokumentasi, situs pemasaran, portofolio, halaman arahan, situs komunitas, dan pengalaman e-commerce. Astro menekankan HTML yang dirender di server dan menambahkan JavaScript sisi klien hanya pada komponen yang secara eksplisit menjalani hydration.

Apakah Astro mengirim JavaScript ke setiap halaman?

Tidak. Secara default, Astro tidak mengirim JavaScript sisi klien. Proyek tetap dapat menambahkan skrip dan komponen interaktif, sehingga jumlah akhirnya bergantung pada komponen mana yang menjalani hydration dan kode browser lain yang disertakan proyek.

Apa itu island di Astro, dan kapan island harus menjalani hydration?

Island adalah komponen interaktif yang menjalani hydration secara independen di dalam halaman yang selain itu tetap statis. Astro menyediakan `client:load` untuk pemuatan yang diprioritaskan, `client:idle` untuk pekerjaan yang ditunda, dan `client:visible` untuk komponen yang dapat menunggu sampai mendekati viewport.

Bisakah Astro menggunakan komponen React, Vue, atau Svelte?

Ya. Astro mendukung React, Preact, Svelte, Vue, Solid, HTMX, web components, dan pendekatan UI lainnya. Tim harus menggunakan integrasi dengan sengaja karena menggabungkan framework dapat menambah kode runtime dan pekerjaan pemeliharaan.

Apa itu content collections Astro?

Content collections mengatur dan memvalidasi Markdown serta konten terkait dengan keamanan tipe TypeScript. Fitur ini berguna ketika proyek memerlukan struktur yang konsisten untuk menerbitkan, melakukan kueri, dan merender kelompok konten.

Apakah Astro cocok untuk aplikasi web yang sangat interaktif?

Hal itu bergantung pada apakah antarmuka dapat dibagi menjadi island independen yang bermakna. Jika hampir setiap bagian memerlukan hydration, state klien bersama, dan pembaruan browser berkelanjutan, arsitektur yang lebih berpusat pada aplikasi mungkin lebih sesuai dengan model interaksi dominan.

Siapa yang memperkenalkan Astro, dan di mana pengguna dapat berpartisipasi?

Fred Schott dan Nate Moore menulis pengantar publik resmi Astro pada Juni 2021; sumber tersebut tidak menetapkan label pendiri tunggal. Materi resmi mengarahkan pengguna ke Discord untuk mendapatkan bantuan dan memberikan masukan, serta ke GitHub untuk berpartisipasi dan berkontribusi.

Continue exploring

More published records in Developer Tools.

View all alternatives

Gatsby menghubungkan situs web React dengan konten terstruktur dan rendering yang fleksibel

Developer ToolsGoogle Analytics

Next.js menghadirkan perutean, rendering, dan fitur server ke React

Developer ToolsGoogle AnalyticsNext.js

nuxt.com

200 OK

Bangun situs web dan aplikasi Vue dengan perutean, logika server, dan rendering fleksibel

Developer ToolsNuxtVercel