0428 Grid V3

V1(24.08): 주요기능

  • 그룹 하이라이팅(계단식 구조)
  • 셀 변경 추적
  • UI만 담당, 데이터 전/후처리는 서버로
  • '오더통합관리'에 한정된 기능('PO 추가' 비즈니스로직에 행 추가/삭제/업데이트가 종속됐음)

V2(24.11): 메이저 변경점

  • 그룹 하이라이팅 제거: 리소스 대비 필수적인 기능인가에 대한 의심
  • 셀 변경 추적 유지 + 성능 개선: originalMemoizer(Map)
  • '오통관'에서 벗어나 일반화된 그리드 모듈로 재구성
  • 행 추가/삭제/업데이트 일반화

V2.5(25.01): 사용성 개선에 초점

  • 그리드 바깥에서 관리해야할 상태가 너무 복잡하고 많았음
  • 필요 이상으로 창구가 열려있어 작업자별 퀄리티 편차 발생 + 컨텍스트 스위칭 비용 컸음 그리드 모듈 내에 레이어 추가
  • useState들 + Grid → useGridContext + GridView
  • 비즈니스적 요구사항 + 프론트 개발자를 위한 프레임워크 = useGridContext
  • 순수 AG-Grid API 주입용 통로 = GridView
  • 서버 데이터 + 전후처리 핸들링 = 구현부 상태

V3(25.05): 갈수록 useGridContext가 비대해지는 문제

  • 분리한 의미가 퇴색될만큼 복잡해짐
  • 복붙처럼 외부데이터가 중간에 껴야하는 경우 경계가 복잡해짐 다시 태초마을로 돌아가자
  • Grid V3는 text input과 같은 역할로 축소
  • 기존 서버/사용자 입력 데이터를 레이어로 구분했던 것을 이제 Grid 바깥에서 조각해 Grid에 굴려보내주기
  • 다만 V2처럼 불필요한 자유도는 지양