Full-Stack Web Framework สำหรับ Go Bud เขียนโค้ดที่น่าเบื่อให้กับคุณ ช่วยให้คุณเปิดเว็บไซต์ได้เร็วขึ้น
ชมวิดีโอสาธิตวิธีสร้างโคลน HN ขั้นต่ำใน 15 นาทีด้วย Bud
อ่านเอกสารเพื่อเรียนรู้วิธีเริ่มต้นใช้งาน Bud
Bud จัดส่งเป็นไบนารี่เดียวที่ทำงานบน Linux และ Mac คุณสามารถติดตามการสนับสนุน Windows ได้ในฉบับนี้
วิธีที่ง่ายที่สุดในการเริ่มต้นคือการคัดลอกและวางคำสั่งด้านล่างในเทอร์มินัลของคุณ:
curl -sf https://raw.githubusercontent.com/livebud/bud/main/install.sh | sh
สคริปต์นี้จะดาวน์โหลดไบนารีที่เหมาะสมสำหรับระบบปฏิบัติการของคุณและย้ายไบนารีไปยังตำแหน่งที่ถูกต้องใน $PATH
ของคุณ
ยืนยันว่าคุณได้ติดตั้ง Bud แล้วโดยพิมพ์ bud
ในเทอร์มินัลของคุณ
bud -h
คุณควรเห็นสิ่งต่อไปนี้:
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
ต้องใช้ซอฟต์แวร์ต่อไปนี้เพื่อใช้ Bud
โหนด v14+
นี่เป็นข้อกำหนดชั่วคราวที่เราวางแผนจะลบออกในเวอร์ชัน 0.3
ไป v1.17+
Bud อาศัย io/fs
เป็นอย่างมากและจะใช้ประโยชน์จากยาสามัญในอนาคต ดังนั้นแม้ Go v1.16 จะใช้งานได้ แต่เราขอแนะนำให้ใช้ Go v1.18+ หากทำได้
เมื่อติดตั้ง Bud ไว้แล้ว ตอนนี้คุณสามารถนั่งร้านโปรเจ็กต์ใหม่ได้แล้ว:
$ bud create hello
$ cd hello
คำสั่ง create จะทำหน้าที่รองรับทุกสิ่งที่คุณต้องการเพื่อเริ่มต้นใช้งาน Bud
$ ls
go.mod node_modules/ package-lock.json package.json
...ซึ่งก็ไม่ค่อยมีอะไรมากหรอกนะ! แตกต่างจาก fullstack framework อื่น ๆ Bud เริ่มต้นจากน้อยมาก เมื่อคุณเพิ่มการพึ่งพา Bud จะสร้างโค้ดที่น่าเบื่อทั้งหมดเพื่อรวมแอปของคุณเข้าด้วยกัน เรามาดูสิ่งนี้กันในการดำเนินการ
เริ่มต้นเซิร์ฟเวอร์การพัฒนาด้วย bud run
:
$ bud run
| Listening on http://127.0.0.1:3000
คลิกที่ลิงค์เพื่อเปิดเบราว์เซอร์ คุณจะได้รับการต้อนรับด้วยหน้ายินดีต้อนรับของบัด
ยินดีด้วย! คุณกำลังใช้งานเว็บเซิร์ฟเวอร์เครื่องแรกกับ Bud เซิร์ฟเวอร์ต้อนรับคือจุดเริ่มต้นในการเรียนรู้เพิ่มเติมเกี่ยวกับเฟรมเวิร์ก
ลองชมการสาธิต Hacker News อ่านเอกสาร กำหนดเวลาการโทรด่วน หรือออกไปผจญภัยของคุณเอง ขีดจำกัดเพียงอย่างเดียวคือจินตนาการของคุณ
การสนทนาล่าสุด: Reddit, ข่าวแฮ็กเกอร์, Twitter
ฉันเริ่มทำงานกับ Bud ในเดือนเมษายน 2019 หลังจากได้เห็นว่านักพัฒนาสามารถมีประสิทธิผลใน Laravel ได้อย่างไร ฉันต้องการสิ่งเดียวกันสำหรับ Go ดังนั้นฉันจึงตัดสินใจลองสร้าง Laravel สำหรับระบบนิเวศ Go อย่างไรก็ตาม เวอร์ชันแรกของฉันหลังจากผ่านไป 6 เดือนจำเป็นต้องรองรับไฟล์จำนวนมากเพื่อเริ่มต้น หากคุณมาจาก Rails หรือ Laravel คุณอาจยักไหล่และถือว่านี่เป็นเรื่องปกติ
น่าเสียดายที่ฉันถูกทำลายโดยยุคฟื้นฟูศิลปวิทยาในเฟรมเวิร์กส่วนหน้าเช่น Next.js ที่เริ่มต้นแบร์โบน แต่ทุกไฟล์ที่คุณเพิ่มจะปรับปรุงเว็บแอปพลิเคชันของคุณทีละน้อย สิ่งนี้จะรักษาความซับซ้อนเริ่มต้นให้อยู่ภายใต้การควบคุม
ด้วยแรงบันดาลใจเพิ่มเติมนี้ ฉันจึงดำเนินการปรับปรุงครั้งถัดไปในช่วง 18 เดือนต่อจากนี้
เป้าหมายตอนนี้คือ:
สร้างไฟล์ตามที่คุณต้องการเท่านั้น เก็บไฟล์ที่สร้างขึ้นเหล่านี้ให้ห่างจากโค้ดแอปพลิเคชันของคุณ และให้ทางเลือกแก่นักพัฒนาในการป้องกันไม่ให้ไฟล์เหล่านั้นอยู่นอกเหนือการควบคุมของแหล่งที่มา คุณไม่จำเป็นต้องสนใจโค้ดที่สร้างขึ้น คุณอาจแปลกใจที่รู้ว่า Go ยังสร้างโค้ดเพื่อเปลี่ยนโค้ด Go ของคุณให้เป็นไฟล์ปฏิบัติการ แต่มันทำงานได้ดีมากโดยที่คุณไม่ต้องคิดถึงมัน บัดน่าจะรู้สึกแบบนี้
รู้สึกเหมือนใช้เฟรมเวิร์ก JS ที่ทันสมัย ซึ่งหมายความว่าควรทำงานร่วมกับเฟรมเวิร์กส่วนหน้าสมัยใหม่หลายอัน เช่น Svelte และ React รองรับการโหลดซ้ำจริง และมีการเรนเดอร์ฝั่งเซิร์ฟเวอร์เพื่อประสิทธิภาพและ SEO ที่ดีขึ้น
กรอบการทำงานควรขยายได้ตั้งแต่วันที่ 1 บัดมีความทะเยอทะยานเกินไปสำหรับคนๆ เดียว เราจำเป็นต้องมีชุมชนที่มีความทะเยอทะยานที่อยู่เบื้องหลังกรอบการทำงานนี้ ความสามารถในการขยายควรขับเคลื่อนโดยการเพิ่มโค้ดเป็นหลัก แทนที่จะเพิ่มการกำหนดค่า
Bud ควรจัดเตรียม API ระดับสูงและปลอดภัยสำหรับนักพัฒนาในขณะเดียวกันก็สร้างโค้ด Go ระดับต่ำที่มีประสิทธิภาพภายใต้ฝาครอบ
Bud ควรคอมไพล์เป็นไบนารีเดียวที่มีเว็บแอปทั้งหมดของคุณ และสามารถคัดลอกไปยังเซิร์ฟเวอร์ที่ไม่ได้ติดตั้ง Go ไว้ด้วยซ้ำ
โปรดดูคู่มือการมีส่วนร่วมเพื่อเรียนรู้วิธีพัฒนา Bud ในท้องถิ่น