Bonsai는 Elm에서 일부 영감을 받아 OCaml로 고성능 반응형 웹 애플리케이션을 만드는 UI 라이브러리로, Jane Street의 사내 웹 애플리케이션 대부분에 사용됨 컴포넌트를 순수 함수형 상태 머신으로 구현하며, 상태·증분 계산·렌더링을 하나로 묶지 않고 필요한 기본 요소를 조합할 수 있음 관련 상태가 바뀔 때만 값을 다시 계산하며, 이 증분화는 화면뿐 아니라 실시간 데이터셋을 처리하는 고비용 비즈니스 로직에도 적용됨 백엔드와 프론트엔드에서 동일한 OCaml 타입과 비즈니스 로직을 사용할 수 있어 기존 터미널 UI를 웹으로 옮기고 대규모 코드베이스를 관리하기 쉬움 DOM 변화, 상태, 모의 서버 호출을 프로그래밍 방식으로 검증하는 expect 테스트를 지원해 브라우저를 열지 않고도 컴포넌트 전체를 개발할 수 있음 상태 머신과 증분 계산 Bonsai 컴포넌트는 쉽게 조합할 수 있는 순수 함수형 상태 머신으로 구현됨 프레임워크 내부의 증분화는 관련 상태가 변할 때만 값을 다시 계산하며, 뷰에 한정되지 않고 모든 값에 적용됨 예제 주사위 컴포넌트는 Bonsai.state로 현재 면과 갱신 함수를 만들고, 버튼 클릭 시 무작위 면을 선택해 화면을 갱신함 Bonsai가 상태를 다루는 방식 일반적인 웹 프레임워크가 상태, 증분 계산, 렌더링을 UI 컴포넌트 하나에 결합하는 것과 달리, Bonsai는 이 요소들을 개별 기본 요소로 조합하게 함 페이지 전체의 재렌더링을 막는 기본 요소를 실시간 갱신 데이터셋의 고비용 비즈니스 계산을 증분화하는 데도 사용할 수 있음 React에 비유하면 거의 모든 것이 훅과 유사한 방식을 사용하면서, 상태는 컴포넌트 계층 밖에서 관리되는 구조임 상태가 명시적 컴포넌트에 연결되지 않으므로 사용자 상호작용에 따른 상태의 수명 주기와 범위를 관리하는 광범위한 API를 제공함 탭 인터페이스처럼 상태를 가진 여러 UI 컴포넌트를 다른 컴포넌트 안에 넣어도 내부 상태를 최상위 모델로 수동 승격할 필요가 없음 상태 조합 방식은 Bonsai 제작자가 작성한 composition comparison에서 비교해 볼 수 있음 OCaml을 프론트엔드와 백엔드에 적용 동일한 언어와 타입을 백엔드와 프론트엔드에서 함께 사용할 수 있음 OCaml 타입 시스템을 폭넓게 활용해 오류를 줄이고, 대규모 웹 애플리케이션 코드베이스의 가독성과 관리 가능성을 높임 Jane Street에서는 기존 타입과 비즈니스 로직을 ...
Bonsai - Jane Street의 UI 라이브러리
1 week ago
15
Related
GitHub Actions에 OIDC audience 제약이 필요한 이유
40 minutes ago
0
H3-metal - Apple Silicon용 네이티브 MiniMax-H3 추론
1 hour ago
0
AI가 웹을 잠식하면서 인터넷의 집단 기억이 사라지고 있음
2 hours ago
0
Rails는 DHH 없이도 Rails일 수 있을까
3 hours ago
1
LLM은 PCB 배선을 어디까지 할 수 있을까? 숙련자와 Net 단위로 비교해봤습니다
3 hours ago
1
Hanami - Rails를 대체하는 Ruby 프레임워크
5 hours ago
2
Show GN: 프리터뷰 - 가입 없이 포트폴리오부터 채점해보는 AI 모의면접
5 hours ago
2
Show GN: 공공데이터 통합검색 x AI
5 hours ago
2
Tips
click
Popular
What's New in SAP S/4HANA Cloud Public Edition 2608 | Releas...
3 weeks ago
209
Codex 사용량 한도 리셋 추적
3 weeks ago
88
NVIDIA·CoreWeave·Nebius가 만든 GPU 붐의 순환 금융 구조
4 weeks ago
62
'킬러들의 쇼핑몰2' 감독 "시즌3 고민 중"⋯이동욱 "시키면 ...
3 weeks ago
57
© Clint IT 2026. All rights are reserved









English (US) ·