Chrome 확장 프로그램은 어떻게 되나요?

에이미 스팀
Amy Steam

지금까지 2023년은 Chrome 확장 프로그램 분야에서 분주한 한 해였습니다. 여러분의 소중한 피드백이 확장 프로그램 플랫폼과 문서를 개선하는 데 큰 도움이 되었습니다. 또한 Google은 확장 프로그램 API가 여러 브라우저에서 더 일관되게 작동하도록 WebExtensions 커뮤니티 그룹의 다른 브라우저 공급업체와 지속적으로 협력하고 있습니다.

이 게시물에서는 올해 상반기에 Chrome 확장 프로그램팀이 작업한 몇 가지 변경사항과 이번 분기 후반에 출시될 기능을 공유해 드리겠습니다. 이제 시작해 보겠습니다.

새로운 확장 프로그램 API 및 기능

이 섹션에서는 몇 가지 중요한 API 출시를 소개하고 기타 API 개선사항을 간단히 검토하며 예정된 API 출시에 대해 공유하고자 합니다.

하이라이트

오프스크린 문서

Offscreen API는 Chrome 109에서 도입되었습니다. 이를 통해 Manifest V3 확장 프로그램은 DOM 또는 창과의 상호작용이 필요한 사용 사례를 처리할 수 있습니다. 이 사용 사례는 확장 프로그램 서비스 워커에서 수행할 수 없습니다. 또한 Chrome 114에서는 두 가지 추가적인 화면 밖 이유가 도입되었습니다. 문서에서 작업자를 생성해야 하는 경우를 위한 'WORKERS'window.localStorage에서 chrome.storage API로 데이터를 이전하는 데 도움이 되는 'LOCAL_STORAGE'입니다.

Chrome 115부터 오프스크린 문서를 만들 때 여러 가지 이유를 제공할 수 있습니다. 따라서 하나의 문서에서 두 개의 관련된 작업을 수행할 수 있습니다.

새로운 Side Panel API 🎉

과거에는 확장 프로그램에서 사이드바를 만드는 유일한 방법은 모든 페이지에 콘텐츠 스크립트와 함께 새 요소를 삽입하는 것이었습니다. Chrome 114에서 Side Panel API가 출시되었습니다. 이제 훨씬 간단한 방법으로 사용자를 위한 컴패니언 사이드바 환경을 개발할 수 있습니다. Side Panel API를 사용하여 뛰어난 사용자 환경을 설계하는 방법 자세히 알아보기

선택한 단어의 정의를 보여주는 사전 확장 프로그램
측면 패널 사전 확장 프로그램입니다. chrome-extensions-samples 저장소에서 코드를 참고하세요.

보다 강력한 서비스 워커

이제 모든 확장 프로그램 이벤트가 확장 프로그램 서비스 워커의 유휴 타이머를 다시 시작합니다. Chrome 110에서는 확장 프로그램 서비스 워커의 최대 수명 제한인 5분이 삭제되었습니다. 또한 네이티브 애플리케이션확장 프로그램 내의 메시지로 전송되는 메시지는 유휴 타이머를 다시 시작합니다. 자세한 내용은 확장 프로그램 서비스 워커 수명 주기 문서를 참고하세요.

추가 API 출시

  • Action API: Chrome 110부터 setBadgeTextColor()getBadgeTextColor()로 배지 텍스트를 맞춤설정할 수 있습니다. 또한 isEnabled()를 사용하면 현재 탭에 작업이 사용 설정되어 있는지 확인할 수 있습니다.
  • Commands API: "commands._execute_action"의 매니페스트에서 선언된 확장 프로그램 바로가기가 MV3로 변환하는 동안 유지되지 않는 버그가 Chrome 111에서 수정되었습니다.
  • Downloads API: Chrome의 기본 다운로드 UI가 하단의 실행기에서 검색주소창 오른쪽으로 이동되었습니다. 이 동작을 사용 중지하려면 setShelfEnabled()를 대체하는 downloads.setUiOptions()를 사용하면 됩니다.
  • History API: chrome.history.getVisits()chrome.history.search()도 로컬 기록 데이터베이스에 동기화된 다른 기기의 데이터를 반환합니다. 그 결과 기록 항목이 많아지고 방문 수가 증가할 수 있습니다. 로컬 방문으로만 필터링할 수 있도록 isLocal가 Chrome 115의 VisitItem에 추가되었습니다 (이번 달 안정화 버전에서 출시될 예정).
  • Identity API: 이제 인증 창이 전체 애플리케이션 창을 차지하지 않고 팝업으로 표시됩니다. JavaScript 리디렉션 처리 중에 더 세밀하게 제어할 수 있도록 abortOnLoadForNonInteractivetimeoutMsForNonInteractive이라는 두 가지 새로운 옵션이 추가되었습니다.
  • Storage API: Chrome 112에서 chrome.session 저장용량 크기가 10MB로 늘어났습니다. 그런 다음 chrome.local의 저장용량 크기가 Chrome 114와 일치하도록 변경되었습니다.

제공 예정

예정된 Chrome 버전에는 확장 프로그램을 Manifest V3로 더 쉽게 이전할 수 있는 여러 기능이 도입될 예정입니다. 예정된 MV3 이전 관련 변경사항 목록은 알려진 문제 페이지를 참고하세요. 또한 다음 기능이 추가될 예정입니다.

  • DeclarativeNetRequest API: isUrlFilterCaseSensitive 속성의 기본값이 false로 변경됩니다. WECG 스레드를 참고하세요.
  • File Handling API는 ChromeOS 확장 프로그램에서 지정된 MIME 유형과 파일 확장자를 가진 파일을 열 수 있도록 허용합니다. 이 기능은 현재 신고 대상입니다.
  • Runtime API: 지원 중단된 extension.getViews()를 대체하기 위해 runtime.getContexts()가 출시됩니다. 이렇게 하면 확장 프로그램에서 측면 패널 또는 화면 밖 문서와 같은 확장 프로그램 페이지가 열려 있는지 확인할 수 있습니다. WECG 제안서를 참고하세요.
  • 서비스 워커: 사용자 메시지를 표시하는 강력한 연결 유지 기능(permissions.request(), desktopCapture.chooseDesktopMedia(), identity.launchWebAuthFlow(), management.uninstall())이 Chrome API에 추가됩니다.
  • Side Panel API: 컨텍스트 메뉴 클릭과 같은 사용자 동작에 응답하여 프로그래매틱 방식으로 확장 프로그램 측면 패널을 여는 sidepanel.open()가 출시됩니다.
  • TabCapture API: 확장 프로그램 서비스 워커에서 getMediaStreamId()를 호출하고 오프스크린 문서의 스트림 ID에서 MediaStream을 가져오는 기능이 추가됩니다. 오디오 녹음 및 화면 캡처에서 예를 확인하세요.

Chrome 베타에서 제공되는 발표가 있으면 즉시 확장 프로그램의 새로운 기능 페이지를 확인하세요.

문서 업그레이드 및 추가 Manifest V3 안내

또한 개발자의 학습 환경을 개선하기 위해 노력해 왔습니다. 시간을 내어 chromium-group에 질문하고 developer.chrome.com에서 문서 문제를 신고해 주신 모든 분께 진심으로 감사드립니다.

하이라이트

  • 새로운 MV3 이전 섹션에서는 Manifest V2 확장 프로그램을 Manifest V3로 변환하는 실용적인 방법을 제공합니다.
  • 확장 프로그램 서비스 워커 가이드에서는 확장 프로그램 서비스 워커 주제에 관한 자세한 정보를 제공합니다. 예를 들어 등록 및 업데이트 방법, 수명 주기, 가져오기의 작동 방식 등이 있습니다.
  • 서비스 워커로 이벤트 처리 튜토리얼에서는 확장 프로그램 서비스 워커의 기본사항을 설명합니다. 확장 프로그램 API 참조 페이지에 빠르게 액세스할 수 있는 검색주소창 확장 프로그램을 빌드합니다.

소식 더보기

제공 예정

  • 원격 호스팅 코드를 Manifest V3로 이전하는 방법
  • Chrome 확장 프로그램의 자동 테스트를 실행하는 방법
  • 선언적 순 요청 지침이 개선되었습니다.
  • 콘텐츠 스크립트 설명 기능이 개선되었습니다.

💡 알고 계셨나요?

마무리하기 전에 몇 가지 유용한 도구와 정보를 공유하고자 합니다.

  • Chrome은 WebHID 지원 작업을 시작했습니다. Chrome 115부터 API를 사용해 볼 수 있습니다 (아직 작업 중임).
  • 이제 Puppeteer--headless=new를 사용하여 헤드리스 모드에서 테스트할 수 있습니다 . 자세한 내용은 Chrome의 헤드리스 모드 업그레이드 블로그 게시물을 참고하세요.
  • 확장 프로그램 업데이트 테스트 도구를 사용하면 매니페스트에서 권한이 변경될 때 트리거되는 경고를 확인할 수 있습니다. 이렇게 하면 사용자와 마찬가지로 업데이트 프로세스를 경험할 수 있습니다. 일부 권한은 사용자가 다시 액세스 권한을 부여할 때까지 확장 프로그램을 사용 중지할 수 있으므로 중요합니다.

소통을 시작해 볼까요? 🙌

올해 확장 프로그램팀은 Google I/O Connect 이벤트에서 확장 프로그램 개발자를 직접 만날 수 있었습니다. Google은 표적 집단을 시작하거나 모임 이벤트를 진행하는 등 여러분과 소통할 수 있는 새로운 공간을 만들기 위해 노력하고 있습니다.

그동안은 계속해서 chromium-groups에 질문하고 WECG에 참여하는 것을 고려하며 developer.chrome.com GitHub 저장소에서 문서 문제를 보고해 주시기 바랍니다.

확장 프로그램 개발자 커뮤니티의 일원이 되어 주셔서 다시 한번 감사드립니다.