image
Akan.js
한국어
문서컨벤션레퍼런스Cheatsheet
image
Akan.js
Akan.js v2 문서가 새로 나왔습니다.v1 문서 보기
문서컨벤션레퍼런스Cheatsheet
MIT 라이선스 하에 배포되었습니다.
Akan.js 공식 컨설팅 서비스Akansoft
Copyright © 2026 Akan.js 모든 권리 보유.
시스템 관리자bassman
워크스페이스 규칙
• 구조
• 포맷 & 린트
앱 & 라이브러리 규칙
• 애셋 (public/ private/)
• 컴포넌트 (ui/)
• 서버 유틸리티 (srvkit/)
• 웹 유틸리티 (webkit/)
• 공통 유틸리티 (common/)
• akan.config.ts
도메인 규칙
• 개요
• model.constant.ts
• model.dictionary.ts
• model.document.ts
• model.service.ts
• model.signal.ts
• model.store.ts
• Model.Template.tsx
• Model.Unit.tsx
• Model.Util.tsx
• Model.View.tsx
• Model.Zone.tsx
스칼라 규칙
• 개요
• scalar.constant.ts
• scalar.dictionary.ts
• scalar.document.ts
• Scalar.Template.tsx
• Scalar.Unit.tsx
서비스 규칙
• 개요
• service.dictionary.ts
• service.service.ts
• service.signal.ts
• service.store.ts
• Service.Util.tsx
• Service.Zone.tsx
워크스페이스 규칙
• 구조
• 포맷 & 린트
앱 & 라이브러리 규칙
• 애셋 (public/ private/)
• 컴포넌트 (ui/)
• 서버 유틸리티 (srvkit/)
• 웹 유틸리티 (webkit/)
• 공통 유틸리티 (common/)
• akan.config.ts
도메인 규칙
• 개요
• model.constant.ts
• model.dictionary.ts
• model.document.ts
• model.service.ts
• model.signal.ts
• model.store.ts
• Model.Template.tsx
• Model.Unit.tsx
• Model.Util.tsx
• Model.View.tsx
• Model.Zone.tsx
스칼라 규칙
• 개요
• scalar.constant.ts
• scalar.dictionary.ts
• scalar.document.ts
• Scalar.Template.tsx
• Scalar.Unit.tsx
서비스 규칙
• 개요
• service.dictionary.ts
• service.service.ts
• service.signal.ts
• service.store.ts
• Service.Util.tsx
• Service.Zone.tsx
이전
Model.View.tsx
다음
개요

model.Zone.tsx

Zone 파일은 page의 client section component를 담습니다. Zone은 server에서 가져온 init/view data를 Load wrapper, Unit/View display component, Util action, 작은 section-level UI state와 조립합니다.
Page는 보통 route param과 server data를 Zone에 전달합니다. Zone은 section 조립을 담당하고, Unit/View는 display, Template은 form, Util은 작은 action, Store는 state/action을 담당합니다.

파일 규칙과 props

Zone 파일은 보통 client hook과 Load wrapper를 사용하므로 use client directive로 시작합니다. props로는 server에서 준비한 ClientInit 또는 ClientView 값을 자주 받습니다.
Path
lib/[model]/[Model].Zone.tsx
Directive
"use client"
List props
className, init, slice, context ids
View props
className, view, self, context data

Load.Units list Zone

server page에서 ClientInit list data를 받은 Zone에는 Load.Units를 사용합니다. initial list state를 hydrate하고 loading/empty state를 처리하며 각 item 렌더링은 Unit component에 위임합니다.
DbBackup.Zone.tsx
renderItem
하나의 item을 렌더링하며 보통 Unit.Card 또는 Unit.Abstract에 위임합니다.
renderList
grouping, tab, board, custom ordering이 필요할 때 전체 list를 렌더링합니다.
renderEmpty
empty state를 렌더링하며 Model.NewWrapper 또는 link-style CTA와 함께 쓰는 경우가 많습니다.

Load.View view Zone

Zone이 ClientView detail data를 받을 때는 Load.View를 사용합니다. Load.View는 선택된 model을 store state에 hydrate한 뒤 full model을 View component에 전달합니다.
Ticket.Zone.tsx

Section orchestration Zone

일부 Zone은 단순 list보다 더 많은 것을 조립합니다. 완성된 page section을 위해 local UI state, store state, Unit component, Util control, Model wrapper를 함께 사용할 수 있습니다.
Ticket.Zone.tsx
Dessert.Zone.tsx

Live와 dashboard Zone

section 전체가 store state, subscription, client-only layout behavior에 의존한다면 Zone은 dashboard 또는 live section이 될 수도 있습니다.
Summary.Zone.tsx
ChatRoom.Zone.tsx

Zone을 쓰는 경우

Page
route shell, param, server fetch를 담당합니다.
Zone
page section 조립과 Load wrapper를 담당합니다.
Unit / View
model display와 detail rendering을 담당합니다.
Template
form field와 form fragment를 담당합니다.
Util
작은 action, toolbox, helper를 담당합니다.

실전 규칙

server init 또는 view data를 Zone component에 전달해서 page를 얇게 유지합니다.
list section에는 Load.Units, detail section에는 Load.View를 사용합니다.
item display는 Unit component에, full detail display는 View component에 위임합니다.
Zone 내부 action control에는 Util component를 사용합니다.
핵심 business rule은 Zone render code가 아니라 service, document, store, constant에 둡니다.
model.Zone.tsx
파일 규칙과 props
Load.Units list Zone
Load.View view Zone
Section orchestration Zone
Live와 dashboard Zone
Zone을 쓰는 경우
실전 규칙