bun 특징
- node와 deno 대비 3배 빠른 성능 (bun 주장)
- built-in library 가 좋음
- ts 기반, js 를 사용자에게서 숨김
- node 랑 같은 모듈 시스템을 채용 + 노드 호환 레이어 있음
- 모듈 번들링이 있음 -> 배포, 패키징에 유리함, 파일 개수가 적어서 네트워크 태우기도 좋을 듯
- 아직 0.1.x 버전이어서 프로덕션에 쓰기에는 조?금
- zig 사용 + V8 안씀
deno 특징
- URL 기반 import
- sandbox 기능 제공해서 보안에 집중함
- 버전이 1.0 넘었고, 버전도 빨리 올라가는 중임
- fmt 제공
- ts 기반, js 를 사용자한테서 숨김
- rust 로 작성 + V8 씀
- 성능은 node 랑 비슷함
- node 호환 레이어, esm, denoify 등이 존재하지만 컴파일 타임에 타입에러 나는 경우 많음 (예: aws sdk)
- 설치 없이 dependency 를 알아서 다운받고 캐싱해서 편리함
- deno install 을 통해 CLI 만들기가 좋아보임
이정도라고 생각하고, deno 랑 bun 둘 다 잘 될거 같은데 님들은 어떻게 봄??
bun 은 장기적으로 Node 대체 + 인프라 흡수 + MSA 만들기에 좋고, deno 는 brew, fzf 등의 성능 덜 타는 CLI 툴을 만들기에 좋아보임 (deno install / run)
deno 의 sandbox 는 솔직히 잘 쓰일지 의문임 죄다 --allow-all 달라고 할탠데.
닥후
걍 node 계속 쓸것같음 bun에도 napi 잘붙으려나 모르겠네 - dc App
요약추 - dc App
커뮤니티가 충분히 성숙해서 편의성 좋은쪽으로 쓸거같음. bun이 기존 노드 생태계 그대로 흡수가눙하다면 그거 쓸거같다 - dc App
bun은 아직 너무 초기라서 뭔가 판단하기 힘든데 deno는 이미 시간 꽤 지나지 않았나..
디노는 아직도 기능이 부실한 느낌인데 대신 개발 방향이 맘에 듦. ESM 통일이라든가 타입 체크를 디폴트로 안 할 거라든가. API도 수정이 많긴 한데 바뀐 걸 보면 만족스러움. bun은 성능 말고 메리트를 잘 모르겠음. 성능도 중요하지만 그럴거면 처음부터 다른 걸 써야할지도? 디노 권한 관리는 있을만 하다고 생각함. 의존당하는 모듈이 갑자기 시크릿을 털어가는 건 막을 수 있지 않을까.
번 성능 3배란거 좀 거품임 await 들어가면 몇토막나서 노드보다도 느려짐
팩트) deno든 bun이든 엔진코어는 C++
deno V8 C++ bun JavascriptCore C++
tl;dr 안적나 참