Go용 풀스택 웹 프레임워크. Bud는 귀하를 위해 지루한 코드를 작성하여 귀하의 웹사이트를 더 빠르게 출시할 수 있도록 도와줍니다.
Bud를 사용하여 15분 만에 최소 HN 클론을 구축하는 방법을 보여주는 비디오를 시청하세요.
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+
이는 v0.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
... 그건 그렇고 별로 그렇지 않습니다! 대부분의 다른 풀스택 프레임워크와 달리 Bud는 매우 최소한으로 시작합니다. 종속성을 추가하면 Bud는 앱을 하나로 묶는 모든 지루한 코드를 생성합니다. 실제로 이를 살펴보겠습니다.
bud run
사용하여 개발 서버를 시작합니다.
$ bud run
| Listening on http://127.0.0.1:3000
링크를 클릭하여 브라우저를 엽니다. 새싹의 환영 페이지가 나타납니다.
축하해요! Bud를 사용하여 첫 번째 웹 서버를 실행하고 있습니다. 환영 서버는 프레임워크에 대해 자세히 알아볼 수 있는 출발점입니다.
Hacker News 데모를 확인하고, 문서를 읽고, 빠른 통화 일정을 예약하거나 나만의 모험을 떠나보세요. 유일한 한계는 당신의 상상력입니다.
최근 토론: Reddit, Hacker News, Twitter
나는 Laravel에서 개발자가 얼마나 생산적인지 확인하고 2019년 4월부터 Bud 작업을 시작했습니다. 저는 Go에 대해서도 같은 것을 원했기 때문에 Go 생태계를 위한 Laravel을 만들어 보기로 결정했습니다. 그러나 6개월 후 첫 번째 버전을 시작하려면 많은 파일을 비계해야 했습니다. Rails나 Laravel에서 온 경우 어깨를 으쓱하고 이것이 매우 정상적인 것으로 간주될 수 있습니다.
불행하게도 나는 베어본을 시작하는 Next.js와 같은 프런트엔드 프레임워크의 르네상스에 푹 빠져 있지만, 추가하는 모든 파일은 웹 애플리케이션을 점진적으로 향상시킵니다. 이렇게 하면 초기 복잡성을 제어할 수 있습니다.
이러한 추가적인 영감을 바탕으로 저는 이후 18개월 동안 다음 버전을 작업했습니다.
현재 목표는 다음과 같습니다.
필요할 때만 파일을 생성하세요. 이렇게 생성된 파일을 애플리케이션 코드에서 멀리 두고 개발자에게 소스 제어에서 제외할 수 있는 선택권을 제공하세요. 생성된 코드에 신경 쓸 필요가 없습니다. Go가 Go 코드를 실행 파일로 변환하는 코드도 생성한다는 사실에 놀랄 수도 있지만, 너무 잘 작동하므로 그것에 대해 생각할 필요가 없습니다. 버드는 이런 느낌을 받아야합니다.
최신 JS 프레임워크를 사용하는 느낌을 느껴보세요. 즉, Svelte 및 React와 같은 여러 최신 프런트엔드 프레임워크와 작동하고, 실시간 재로드를 지원하며, 더 나은 성능과 SEO를 위해 서버 측 렌더링이 있어야 합니다.
프레임워크는 1일차부터 확장 가능해야 합니다. Bud는 한 사람에게 너무 야심적입니다. 우리는 이 프레임워크 뒤에 야심찬 커뮤니티가 필요할 것입니다. 확장성은 주로 구성을 추가하기보다는 코드를 추가하여 추진되어야 합니다.
Bud는 개발자를 위한 높은 수준의 유형 안전 API를 제공하는 동시에 성능이 뛰어난 낮은 수준의 Go 코드를 내부적으로 생성해야 합니다.
Bud는 전체 웹 앱을 포함하는 단일 바이너리로 컴파일되어야 하며 Go가 설치되지 않은 서버에도 복사될 수 있습니다.
Bud를 로컬에서 개발하는 방법을 알아보려면 기여 가이드를 참조하세요.