21P by xguru 2023-09-11 | favorite | 댓글 2개
  • 런타임은 성능과 안전성, 개발자 경험에 중요
    • Node.js : 풍부한 리소스와 에코시스템. V8(크롬)
    • Deno : Rust 기반. 보안을 향상. V8(크롬)
    • Bun : Zig 기반. 빠른 성능과 호환성에 중점. JavaScriptCore(사파리)

런타임 비교

  • 성능면에선 Bun이 모두 승리
    • 평균 쿼리/초: Bun 81.37 > Deno 43.50 > Node 21.29
    • 동시 커넥션: Bun 110,000 > Deno 67,000 > Node 60,000
  • 지원 및 커뮤니티
    • 스택오버플로우 질문수 : Node 46만개 > Deno 917개 > Bun 52개
    • 사용자수(StateOfJS 조사결과) : Node 27976 > Deno 3355 > Bun 1263
  • 안정성
    • Node.js 는 전세계 웹사이트 2.1%가 사용중
    • Deno 는 1.0이 2020년에 나왔고 수용이 느림
    • Bun 은 아직 0.73으로 베타. 9월에 1.0 예정
  • 보안
    • Node.js 의 부족한 보안을 Deno가 개선했지만, Node도 권한 모델을 도입하면서 비슷해짐
    • Bun 은 아직 보안 관련 정보가 많이 없음
  • 추가 기능들
    • Node.js 가 최근 Deno/Bun 과 비슷한 기능을 많이 도입중. Typescript 지원도 활발히 논의 중
    • Deno 에는 Dependency Inspector 와 Code Formatter 내장
    • Bun 은 Transpiler 와 Package Manager 내장. 이름에서 볼수 있듯이 번들링 기능도 포함

어떤게 나에게 적합할까 ?

  • Bun 이 확실히 속도면에서 우수함. 하지만 새로운 것이라 위험이 있음.
  • Node.js 의 장점은 성숙도와 생태계
  • Deno 는 Node에 비해 더 원활한 개발을 가능하게 하고, 복잡한 프로젝트를 고품질로 쉽게 구축할 수 있게 해주는 기능들을 포함. 안전하고 Node 보다 빠르지만 Bun에 비해 약간 느림
  • Node가 사례가 많은 안전한 옵션. Deno는 추천할 기능들이 많고 최신 기능등을 많이 포함. Bun 은 속도에 관심이 있거나 최첨단 기술을 이용하고 싶은 경우 선택을 권함

Bun이 잘 발전했으면 좋겠습니다.