9월의 베타 발표를 현재 시점에서 읽기
구글은 9월 16일 Chrome 155 베타를 공개하며 별도 언급이 없는 변경을 안드로이드, ChromeOS, 리눅스, macOS와 윈도용 최신 베타에 적용한다고 설명했다. 현재 확인한 Chrome Status의 해당 버전 릴리스 노트는 정식 출시 예정일을 10월 6일로 제시한다. 따라서 9월의 베타 발표를 지금도 모든 기능이 실험 중이라는 의미로 읽거나, 안내에 열거된 항목을 전부 같은 시점에 확정된 지원으로 받아들이는 것은 부정확하다. 기능별 최신 상태를 대조하는 것이 필요하다. 이 기사에서는 이미지 포맷과 GPU 업데이트 대신 화면 구성과 텍스트 의존성을 다루는 변경에 초점을 맞춘다.
목록 기호와 컨테이너 끝 여백
CSS symbols()는 이름 있는 @counter-style을 먼저 선언하는 대신 문자열 기호와 선택적인 계산 체계를 그 자리에서 지정할 수 있도록 한다. 단일 목록의 표현을 위해 별도 이름을 관리하는 작업을 줄이는 방식이다. margin-trim은 컨테이너의 첫 자식 앞이나 마지막 자식 뒤에 닿는 여백을 생략하는 데 사용한다. Chrome 안내와 CSS 박스 모델 초안은 일반 블록 및 다단 컨테이너를 대상으로 설명하며, 예전 초안의 flex와 grid 적용은 제거됐다고 Chrome 문서는 덧붙인다. 자식의 모든 여백을 지우거나 컨테이너 자체의 패딩을 없애는 기능으로 이해해서는 안 된다.
텍스트를 모듈의 의존성으로 가져오기
텍스트 모듈은 import 구문에 type: "text" 속성을 붙여 자료를 문자열로 가져오는 방식이다. 공식 릴리스 노트에 포함된 이 기능의 TC39 제안 문서는 확인 시점에 Stage 3라고 표시한다. 제안은 YAML 파일을 불러와 사용자 라이브러리로 해석하는 예를 들며, 일반 fetch 방식이 실행 시점에 시작되고 상대 경로가 문서 기준이라는 차이도 설명한다. 텍스트를 가져오는 일과 내용을 해석하는 일은 분리된다. 따라서 YAML이나 다른 설정 형식의 파서가 브라우저에 함께 내장된다는 의미는 아니다. 언어 제안의 단계와 Chrome 구현 또한 다른 브라우저의 동일 지원을 입증하지 않는다.
구성 규칙을 부모와 의존성에 두는 변화
ARCH.B는 두 기능이 반복되는 예외 처리를 더 적절한 위치에서 표현하도록 한다는 공통점에 주목한다. 카드 안의 마지막 문단 여백을 매번 자식 선택자로 지우는 대신, 컨테이너가 경계 간격을 정하도록 하면 콘텐츠 구성과 배치 규칙을 나누기 쉬워진다. 다만 flex나 grid 카드에 그대로 적용할 수 있다고 전제하면 여백이 남는 이유를 잘못 진단할 수 있다. 텍스트 모듈 역시 문자열이 어느 모듈의 자료인지 나타내는 데 도움이 되지만, 파일 경로와 변환 결과를 처리하던 기존 빌드 설정을 점검해야 한다. 브라우저에서 받아오는 경로와 빌드 도구가 미리 포함한 경로가 같은지 확인하지 않으면 개발 환경에서만 성공하는 구성이 생길 수 있다. 재사용하는 컴포넌트에 이를 도입한다면 내용이 한 문단일 때와 여러 문단일 때를 비교해 경계 여백이 의도대로 처리되는지도 살펴볼 만하다.
도입 우선순위를 기능별로 정하기
창 제어 확장도 Chrome 155 문서의 별도 항목이다. window-management 권한을 가진 웹앱이 최대화·최소화·복원과 크기 조절 가능 여부를 제어하는 내용으로, 일반 페이지가 권한 없이 운영체제 창을 모두 제어한다는 뜻은 아니다. 이런 권한 기반 기능과 CSS 선언, 모듈 구문은 실패 조건이 서로 다르므로 한 번의 버전 검사로 묶어 도입하기보다 사용 목적에 맞춰 확인할 필요가 있다. 레이아웃은 지원되지 않는 선언에서도 기본 간격이 유지되는지, 텍스트는 배포된 파일과 모듈 경로가 맞는지, 창 제어는 권한 거절 뒤에도 작업을 이어갈 수 있는지 살펴볼 수 있다. 발표 자료에는 이러한 선택으로 얻는 일괄적인 성능 개선 수치가 없으므로, 실제 서비스에서의 효과는 팀이 정한 화면과 작업을 기준으로 검증해야 한다.
출처
Chrome for Developers의 원출처와 본문에 표시한 참고자료를 바탕으로 한국어로 재구성했습니다. ‘ARCH.B 분석’은 자료를 읽고 덧붙인 편집 해석입니다.
Chrome 155 beta (새 창)