프레임워크에 구애받지 않는 백엔드 보일러플레이트를 만들었습니다 (Node, Bun, Express, Hono…)

발행: (2025년 12월 18일 오후 09:59 GMT+9)
4 min read
원문: Dev.to

Source: Dev.to

왜 하나의 프레임워크만 선택해야 할까요? 모두 가질 수 있다면? 🧠

우리는 모두 그 고민을 알고 있습니다. Express 로 프로젝트를 시작했는데, Fastify 가 속도면에서 눈에 띕니다. 혹은 Bun 이 떠오르고 HonoElysia 를 써보고 싶어지죠.

보통 프레임워크를 바꾸면 라우터, 미들웨어, 요청/응답 로직을 모두 다시 작성해야 합니다.

이제는 아닙니다.

저는 BEnder 라는 TypeScript 보일러플레이트를 만들었습니다. 이 보일러플레이트는 하부 프레임워크를 추상화해 비즈니스 로직을 한 번만 작성하면 어디서든 실행할 수 있게 해줍니다.

🧠 “Brain” 아키텍처

지저분한 routes.js 대신, BEnder는 생물학적 은유를 사용합니다:

  • Neurons (디렉터리): 라우트를 자동으로 탐색하고 마운트하는 컨테이너.
  • Synapses (파일): 로직을 처리하는 엔드포인트.

파일‑시스템 라우팅(Next.js와 유사)처럼 동작하지만, 백엔드 API에 맞게 엄격히 타입이 지정됩니다.

⚡ 한 번 작성, Node든 Bun든 실행

당신은 Node 팀인가요, Bun 팀인가요? 상관없습니다.

BEnder는 런타임과 설치된 패키지를 감지해 최적의 서버를 부팅합니다:

  • Node.js: 기본적으로 Fastify(기본) 혹은 Express 5 를 지원합니다.
  • Bun: 기본적으로 Hono 혹은 Elysia 를 지원합니다.

마법 같은 코드

진입점 (app.ts)

// 1. Initialize Infrastructure (auto-detects framework)
const { framework } = await initInfrastructure();

// 2. Initialize Neurons (Routes)
const [get, post] = [new GET(), new POST()];

// 3. Mount them universally
server.get('*', get.router).post('*', post.router);

라우트 핸들러 (“Synapse”)

export class CreateUser extends Synapse {
  protected async setRouter(): Promise {
    // works on Express, Fastify, Hono, AND Elysia!
    this.router.post('/create', async (req: IRequest, res: IResponse) => {
      // Unified Request/Response API
      this.responser(res, 200, { success: true });
    });
  }
}

🛡️ 통합 미들웨어

보안 및 유틸리티도 추상화됩니다.

설정 (app.config.ts)

export const appConfig = {
  security: {
    cors: true,
    helmet: true,
    rateLimit: true,
  },
};

BEnder는 활성화된 프레임워크에 맞는 올바른 미들웨어 패키지를 자동으로 로드합니다(예: Fastify 용 @fastify/helmet, Hono 용 hono/cors, Elysia 용 @elysiajs/limit).

🚀 직접 사용해 보기

개발자들이 몇 초 만에 견고한 백엔드를 구축할 수 있도록 오픈소스로 공개했습니다.

여기서 클론하세요: BEnder

빠른 시작

# 1. Install dependencies
npm install

# 2. Pick your flavor (e.g., Bun + Hono)
npm install hono hono-rate-limiter

# 3. Run!
bun run app.ts
Back to Blog

관련 글

더 보기 »

실험적인 Hono auth npm 패키지

제가 만들고 있는 것은 개발자들이 일반적인 보일러플레이트인 login, register, JWT, email verification 등을 작성하지 않고도 앱에 바로 넣을 수 있는 auth 패키지입니다.

첫 번째 MCP 앱 만들기

TL;DR MCP Apps는 대화형 에이전트와 기타 MCP 클라이언트에 인터랙티브 UI를 제공합니다. 이 튜토리얼에서는 간단하면서도 강력한 앱 소스 코드를 만드는 방법을 보여줍니다.