에어비앤비가 리액트를 원활하게 업그레이드하는 방법
Airbnb의 프론트엔드는 React Upgrade System을 사용하여 React 18로 업그레이드되었습니다. 이는 긴 기능 브랜치를 요구하지 않고 점진적이고 테스트 가능한 업그레이드를 허용합니다.모듈 별칭 및 환경 대상은 React 버전을 별도의 빌드 아티팩트 및 런타임 환경으로 나눕니다.TypeScript 불일치 문제는 시뮬레이션, 유형 추가 및 점진적 TypeScript 오류 수정을 통해 처리되었습니다.포괄적인 테스트에는 시각적 회귀, 통합 및 유닛 테스트가 포함되었습니다. 유닛 테스트는 React 16 및 18에서 모두 실행되었습니다.점진적 롤아웃은 React 16 및 18 환경으로의 트래픽을 제어하여 내부 테스트 및 점진적 표면 업그레이드를 허용했습니다.시스템은 React 19 캐나리 릴리스를 테스트하는 데 사용할 수 있었습니다. 이를 통해 React 18을 가리키지 않고도 테스트할 수 있었습니다.React 18 기능, 예를 들어 새로운 루트 API 및 동시 렌더링을 채택한 후 성능 개선이 관찰되었습니다.시스템은 지속적인 업그레이드 노력을 촉진하여 큰 일회성 변경을 피할 수 있습니다.React 팀의 후방 호환성에 대한 집중은 이러한 업그레이드 접근 방식을 용이하게 했습니다.Airbnb의 프론트엔드는 이제 React 19 베타에서 실행되고 있어 향후 React 업그레이드에 대한 선두를 차지하고 있습니다.