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 업그레이드에 대한 선두를 차지하고 있습니다.
medium.com
How Airbnb Smoothly Upgrades React
Create attached notes ...
