컴포넌트 수명주기와 로드맵
컴포넌트 수명주기와 로드맵 (Component Lifecycle & Roadmap)
Fluent v9 컴포넌트가 어떤 개발 단계를 거치는지, 그리고 각 단계별 예상 일정까지 정리한 문서예요. 최신 컴포넌트의 로드맵을 확인하고 싶다면 이 가이드가 좋은 출발점이랍니다.
출처: 문서
본문
v9의 최신 컴포넌트 로드맵을 찾고 있나요?
이 컴포넌트 수명주기와 로드맵 가이드는 컴포넌트가 거치는 개발 단계와 추정치 및 일정이 포함된 로드맵을 보여 줘요.
컴포넌트 수명주기 (Component Lifecycle)
이 가이드는 각 단계에 대한 기대치를 설정하는 데 도움을 줘요.
To Be Determined (TBD)
컴포넌트가 로드맵에 있지만, 팀이 아직 적극적으로 디자인하거나 구현하고 있지 않아요.
Research (연구)
- 정의된 기능 범위 내에서 스캐폴딩/프로토타이핑된 컴포넌트
- 분기 경계에서 컴포넌트가 다음 단계에 도달할 시기에 대한 상대적으로 높은 신뢰도의 추정
Unstable (Preview) (불안정, 미리보기)
Research에서 Unstable 컴포넌트로 이동하는 주요 기준은:
- 컴포넌트가 unstable 딥 임포트를 통해 내보내짐
- 컴포넌트가 기능 세트의 대부분을 완성했지만, 여전히 추가되거나 제거될 수 있음
- 분기 경계에서 컴포넌트가 다음 단계에 도달할 시기에 대한 상대적으로 높은 신뢰도의 추정
Stable (Released) (안정, 출시)
Unstable에서 Stable 단계로 이동하는 주요 기준은:
- 컴포넌트가 UI 라이브러리의 최상위 수준에서 내보내짐
- 컴포넌트가 디자인 및 기능적으로 완성됨
- 향후 API 변경은 semver에 따라 이루어짐
- 컴포넌트를 프로덕션에서 사용할 수 있음
- 컴포넌트가 긴 테스트 목록을 통과함
본질적으로 컴포넌트가 사용할 준비가 되었다는 뜻이에요.
일정과 추정 (Timeline and Estimates)
팀은 일반적으로 컴포넌트 완성을 시작부터 끝까지 약 2분기로 추정해요. 이는 컴포넌트의 복잡성에 크게 의존하지만, 파트너 팀이 계획하고 일정에 대한 기대치를 설정할 충분한 시간을 제공해요. 또한 분기 중반에 체크인하여 일정 변경 사항을 알리고, 변경 사항에 적응할 여유를 주고 있어요. 분기는 회계 연도를 기준으로 해요.
Note: 추정치와 일정은 컴포넌트에 대한 대략적인 목표이며 개발 수명주기를 반복하면서 변경될 수 있어요.
컴포넌트 로드맵 (Component Roadmap)
| Component Area | Phase | Status | ETA |
|---|---|---|---|
| Avatar | Avatar | 1 | Stable |
| Button | Button | 1 | Stable |
| ToggleButton | Button | 1 | Stable |
| Icon | Icon | 1 | Stable |
| FluentProvider | Utility | 1 | Stable |
| Link | Nav | 1 | Stable |
| Divider | Menu | 1 | Stable |
| Text | Basic | 2 | Stable |
| MenuButton | Button | 2 | Stable |
| Menu | Menu | 2 | Stable |
| Popover | Surfaces | 2 | Stable |
| Tooltip | Surfaces? | 2 | Stable |
| Badge | Avatar | 2 | Stable |
| Accordion | Nav | 2 | Stable |
| Image | Basic | 3 | Stable |
| Label | FormControls | 3 | Stable |
| Input | FormControls | 3 | Stable |
| CompoundButton | Button | 3 | Stable |
| SplitButton | Button | 3 | Stable |
| Checkbox | FormControls | 3 | Stable |
| TextArea | FormControls | 4 | Stable |
| Slider | FormControls | 4 | Stable |
| Switch | FormControls | 4 | Stable |
| Radio | FormControls | 4 | Stable |
| Portal | Surfaces | 4 | Stable |
| Tabs | Surfaces? | 5 | Stable |
| Spinner | Progress | 5 | Stable |
| Spinbutton | FormControls | 5 | Stable |
| Select | FormControls | 5 | Unstable |
| Dialog | Surfaces | 6 | Stable |
| Dropdown/ComboBox | Pickers | 6 | Unstable |
| Toolbar | Menu | 6 | Unstable |
| AvatarGroup | Avatar | 6 | Unstable |
| Card | Surfaces | 6 | Unstable |
| ProgressIndicator | Progress | 6 | Unstable |
| Table | Lists | 7 | Unstable |
| Toast | Notifications | 7 | In Progress |
| Alert | Notifications | 7 | Unstable |
| Drawer | Surfaces | 7 | Not Started |
| Tree | Lists | 7 | Not Started |
| Field | FormControls | 7 | Unstable |
| Persona | Avatar | 7 | Unstable |
| InfoButton | FormControls | 7 | Not Started |
| Virtualizer | Lists | 8 | Research |
| DatePicker | DateTime | 8 | Not Started |
| Shimmer | Progress | 8 | Not Started |
| Breadcrumb | Nav | 8 | Not Started |
| Pill | Pickers | 8 | Not Started |
| TeachingCallout | Notifications | 8 | Not Started |
| Rating | FormControls | 8 | Not Started |
| Coachmark | Notifications | 8 | Not Started |
| Nav | Nav | 8 | Not Started |
| PeoplePicker | Pickers | 10 | Not Started |
| TimePicker | DateTime | 10 | Not Started |
| ColorPicker | Pickers | 10 | Not Started |
| SwatchColorPicker | Pickers | 10 | Not Started |
| Carousel | 15 | Not Started | |
| OverflowSet | Menu | 15 | Not Started |
| Form | FormControls | 15 | Not Started |
| Calendar | DateTime | 15 | Not Started |
| Reaction | 15 | Not Started | |
| Picker | Pickers | 15 | Not Started |
| Attachment | Contrib | 15 | Not Started |