Kerangka Web Full-Stack untuk Go. Bud menulis kode membosankan untuk Anda, membantu Anda meluncurkan situs web Anda lebih cepat.
Tonton video yang mendemonstrasikan cara membuat klon HN minimal dalam 15 menit dengan Bud.
Baca dokumentasi untuk mempelajari cara memulai Bud.
Bud dikirimkan sebagai biner tunggal yang berjalan di Linux dan Mac. Anda dapat mengikuti dukungan Windows dalam masalah ini.
Cara termudah untuk memulai adalah dengan menyalin dan menempelkan perintah di bawah ini ke terminal Anda:
curl -sf https://raw.githubusercontent.com/livebud/bud/main/install.sh | sh
Skrip ini akan mengunduh biner yang tepat untuk sistem operasi Anda dan memindahkan biner ke lokasi yang tepat di $PATH
Anda.
Konfirmasikan bahwa Anda telah menginstal Bud dengan mengetikkan bud
di terminal Anda.
bud -h
Anda akan melihat yang berikut ini:
Usage:
bud [flags] [command]
Flags:
-C, --chdir Change the working directory
Commands:
build build the production server
create create a new project
run run the development server
tool extra tools
version Show package versions
Perangkat lunak berikut diperlukan untuk menggunakan Bud.
Simpul v14+
Ini adalah persyaratan sementara yang kami rencanakan untuk dihapus di v0.3
Buka v1.17+
Bud sangat bergantung pada io/fs
dan akan memanfaatkan versi generiknya di masa mendatang, jadi meskipun Go v1.16 dapat digunakan, kami sarankan untuk menjalankan Go v1.18+ jika Anda bisa.
Dengan bud terpasang, Anda sekarang dapat merancang proyek baru:
$ bud create hello
$ cd hello
Perintah create akan menyusun semua yang Anda perlukan untuk memulai dengan bud.
$ ls
go.mod node_modules/ package-lock.json package.json
... yang sebenarnya tidak terlalu berguna! Tidak seperti kebanyakan kerangka fullstack lainnya, Bud dimulai dengan sangat minimal. Saat Anda menambahkan dependensi, Bud akan menghasilkan semua kode membosankan untuk merekatkan aplikasi Anda. Mari kita lihat ini beraksi.
Mulai server pengembangan dengan bud run
:
$ bud run
| Listening on http://127.0.0.1:3000
Klik tautan untuk membuka browser. Anda akan disambut dengan halaman selamat datang bud.
Selamat! Anda menjalankan server web pertama Anda dengan Bud. Server selamat datang adalah titik awal Anda untuk mempelajari lebih lanjut tentang kerangka kerja ini.
Lihat demo Hacker News, baca dokumentasi, jadwalkan panggilan singkat, atau lakukan petualangan Anda sendiri. Satu-satunya batasan adalah imajinasi Anda.
Diskusi terkini: Reddit, Berita Peretas, Twitter
Saya mulai mengerjakan Bud pada bulan April 2019 setelah melihat betapa produktifnya developer di Laravel. Saya menginginkan hal yang sama untuk Go, jadi saya memutuskan untuk mencoba membuat Laravel untuk ekosistem Go. Namun, versi pertama saya setelah 6 bulan perlu menyusun banyak file hanya untuk memulai. Jika Anda berasal dari Rails atau Laravel, Anda mungkin mengangkat bahu dan menganggap ini sebagai hal yang normal.
Sayangnya, saya dimanjakan oleh kebangkitan kerangka kerja frontend seperti Next.js yang memulai barebone tetapi setiap file yang Anda tambahkan secara bertahap meningkatkan aplikasi web Anda. Hal ini menjaga kompleksitas awal tetap terkendali.
Dengan inspirasi tambahan ini, saya mengerjakan iterasi berikutnya selama 18 bulan berikutnya.
Tujuannya sekarang adalah:
Hasilkan file hanya saat Anda membutuhkannya. Jauhkan file yang dihasilkan ini dari kode aplikasi Anda dan berikan pilihan kepada pengembang untuk menjauhkannya dari kendali sumber. Anda tidak perlu peduli dengan kode yang dihasilkan. Anda mungkin terkejut saat mengetahui bahwa Go juga menghasilkan kode untuk mengubah kode Go Anda menjadi kode yang dapat dieksekusi, namun kode tersebut berfungsi dengan baik sehingga Anda tidak perlu memikirkannya. Bud seharusnya merasa seperti ini.
Merasa seperti menggunakan kerangka JS modern. Artinya, ia harus bekerja dengan beberapa kerangka kerja frontend modern seperti Svelte dan React, mendukung pemuatan ulang langsung, dan memiliki rendering sisi server untuk kinerja dan SEO yang lebih baik.
Kerangka kerja ini harus dapat diperluas mulai Hari 1. Bud terlalu ambisius untuk satu orang. Kita memerlukan komunitas ambisius di balik kerangka ini. Ekstensibilitas terutama harus didorong dengan menambahkan kode, bukan dengan menambahkan konfigurasi.
Bud harus menyediakan API tingkat tinggi yang aman untuk pengembang sekaligus menghasilkan kode Go tingkat rendah yang berkinerja baik.
Bud harus dikompilasi ke biner tunggal yang berisi seluruh aplikasi web Anda dan dapat disalin ke server yang bahkan belum menginstal Go.
Silakan merujuk ke Panduan Berkontribusi untuk mempelajari cara mengembangkan Bud secara lokal.