분류 html

Caniuse 및 MDN 호환성 데이터 협업

컨텐츠 정보

  • 조회 443 (작성일 )

본문

웹 개발자는 웹 호환성 결정에 많은 시간을 소비합니다. 웹 플랫폼 기능을 사용할지 여부를 결정하는 것은 종종 웹 브라우저에서의 가용성에 달려 있습니다.


https://hacks.mozilla.org/2019/09/caniuse-and-mdn-compat-data-collaboration/ 


호환성 데이터의 간략한 역사 


@fyrd는 10 년 전에 개발자가 브라우저에서 기능 가용성을 확인할 수 있도록 caniuse 프로젝트를 만들었습니다. 시간이 지남에 따라, caniuse는 매일 사용할 수 있는 질문에 대답하기 위해 이동 리소스로 발전했습니다.“이것을 사용할 수 있습니까?”


약 2 년 전에 MDN 팀은 브라우저 호환성 테이블을 다시 실행하기 시작했습니다. 팀은 웹 호환성에서 추측을 없애는 임무를 수행했습니다. 그 이후로 BCD 프로젝트는 10,000 개 이상의 데이터 포인트를 가진 대규모 데이터 세트가 되었습니다. GitHub에서 500 명 이상의 기고자들의 도움을 받아 최신 상태를 유지합니다.


MDN 호환성 데이터는 npm에서 공개 데이터로 제공되며 VS Codewebhint.io 감사를 포함한 다양한 프로젝트에 통합되었습니다.


두 가지 훌륭한 데이터 소스가 함께 제공됩니다 


오늘 우리는 MDN의 compat 데이터를 caniuse 웹 사이트에 통합한다고 발표합니다 우리는 웹 개발자에게 더 많은 웹 호환성 정보를 제공하고 있습니다.


Caniuse table for Intl.RelativeTimeFormat. Data imported from mdn-compat-data. 


협업을 시작하기 전에 caniuse 웹 사이트는 caniuse 데이터베이스에서 사용 가능한 기능에 대한 결과만 표시했습니다. 이제 모든 검색 결과에 MDN compat 데이터에 대한 지원 테이블이 포함될 수 있습니다. 여기에는 Caniuse에서 이미 발견된 데이터 형식, 특히 HTML, CSS, JavaScript, Web API, SVG 및 HTTP 범주가 포함됩니다. MDN 데이터를 추가하면 Caniuse 지원 테이블 수가 약 500에서 10,500 테이블로 확장됩니다! 지원되는 항목에 대한 개발자의 질문을 통해 더 많은 결과를 얻을 수 있습니다.


새로운 기능 테이블은 약간 다르게 보입니다. MDN Compat 데이터 프로젝트와 Caniuse는 호환되지만 목표는 다소 다르기 때문에 구현 방식도 약간 다릅니다. 새로운 MDN 기반 테이블에는 사용 가능한 모든 메타 데이터 (예 : 리소스 링크 및 전체 기능 설명)에 대한 일치 필드가 없지만 버그 정보, 접두사, 기능 플래그 등과 같은 지원 정보와 세부 정보가 포함됩니다. 


MDN 호환성 데이터 자체는 후드 아래에서 Caniuse compat 테이블에 사용 된 것과 동일한 형식으로 변환됩니다. 따라서 사용자는 다른 Caniuse 테이블과 동일한 방식으로 MDN 기반 데이터 테이블을 필터링하고 정렬 할 수 있습니다. 여기에는 지역별 또는 Google 웹 로그 분석을 통해 가져온 브라우저 사용 정보에 대한 액세스가 포함되어 있어 기능이 사용자를 충분히 지원할 시기를 결정하는 데 도움이 됩니다. 두 데이터 세트를 통해 사용 가능한 다양한 보기 모드는 지원 정보를 시각화 하는 데 도움이 됩니다.


데이터세트의 차이점 


데이터 세트가 다르게 취급되는 이유에 대한 질문을 받았습니다. 왜 처음에 그것들을 병합하지 않았습니까? 이 옵션에 대해 논의하고 고려했습니다. 그러나 두 프로젝트의 본질적인 차이로 인해 하지 않기로 결정했습니다. 이유는 다음과 같습니다.


MDN의 지원 데이터는 매우 광범위하며 매우 세분화 된 수준의 기능 지원을 다룹니다. 이를 통해 MDN은 모든 웹 기술에서 가능한 한 자세한 정보를 제공하고 MDN 웹 문서에서 제공하는 참조 정보를 보완 할 수 있습니다.


반면 Caniuse는 종종 더 큰 기능을 전체적으로 봅니다 (예 : CSS Grid, WebGL, 특정 파일 형식 지원). Caniuse 방식은 개발자에게 기능의 지원 여부에 대한 높은 수준의 정보를 제공합니다. 때때로 세부 사항이 누락되었습니다. 각 개별 기능은 전체 기능 범위보다는 브라우저 지원 범위에 중점을 두고 수동으로 Caniuse에 추가됩니다.


구현 상의 이러한 차이점과 다른 차이점으로 인해 현재 소스 데이터 리포지토리를 병합하거나 데이터 스키마를 일치 시킬 계획은 없습니다. 대신 통합 검색어는 caniuse.com의 기능 설명과 검색어를 일치 시켜 작동합니다. 그런 다음 caniuse는 적절한 기능 테이블을 생성하고 MDN 지원 데이터를 즉시 caniuse 형식으로 변환합니다.


향후 계획 


repos, caniusemdn-compat-data의 커뮤니티 회원이 기본 데이터를 개선하기 위해 함께 협력하도록 권장합니다. 정보를 공유하고 가능한 경우 협업을 통해 웹 개발자는 호환성 질문에 대한 답변을 찾을 수 있습니다.