레이 오브 더 랜드

Peter Conn
Peter Conn

신뢰할 수 있는 웹 활동과 관련된 생태계는 상당히 많으며 모든 항목이 어떻게 연결되어 있고 무엇을 사용해야 하는지 파악하기가 매우 어려울 수 있습니다. 이 도움말에서는 이 문제를 해결하는 방법을 설명합니다.

신뢰할 수 있는 웹 활동을 처음 접하거나 현재 사용해야 하는 권장 도구 세트를 찾고 있다면 다음 사항을 알아두세요.

  • Bubblewrap: 개발자가 기존 PWA를 래핑하는 Android APK를 만들고 빌드할 수 있는 NodeJS 도구입니다. 생성된 애플리케이션은 신뢰할 수 있는 웹 활동을 기반으로 하지만 개발자에게는 투명합니다. Android 개발 경험이 없어도 됩니다. 시작하려면 Bubblewrap 문서를 확인하세요.
  • android-browser-helper: 신뢰할 수 있는 웹 활동 프로토콜을 캡슐화하는 Android 라이브러리입니다. Android 개발에 익숙하고 신뢰할 수 있는 웹 활동을 Android 앱의 활동 중 하나로 사용하거나 Bubblewrap에서 지원하지 않는 맞춤설정을 적용하려는 개발자에게 권장됩니다. android-browser-helper를 시작하려면 문서데모를 확인하세요.

다음 섹션에서는 서로 관련된 모든 프로젝트를 간략하게 요약합니다. 마지막으로 궁금한 분들을 위해 YouTube가 어떻게 여기까지 왔는지, 가까운 미래에 어떤 방향으로 나아가고 있는지 보여주는'역사' 섹션이 있습니다.

라이브러리 개요

다음은 사용하게 될 수 있는 각 라이브러리의 간단한 요약입니다.

  • 사용자 기기에 설치된 브라우저와 상호작용하는 Android 라이브러리인 androidx.browser
  • 편의 메서드와 적절한 기본값을 제공하는 신뢰할 수 있는 웹 활동 클라이언트를 위해 androidx.browser를 기반으로 빌드되는 라이브러리인 Android 브라우저 도우미
  • Java 코드를 건드리지 않고도 PWA에서 신뢰할 수 있는 웹 활동을 만드는 도구인 Bubblewrap

또한 이러한 각 라이브러리/도구는 이전 버전을 대체합니다.

기록

Android 지원 라이브러리

Android 지원 라이브러리는 새로운 API 및 호환성 기능으로 Android 플랫폼을 확장합니다. 여러 패키지로 나뉘며 맞춤 탭 지원 라이브러리에는 사용자 시스템의 브라우저와 상호작용하는 기능이 포함되어 있습니다. 맞춤 탭 지원 라이브러리의 개발은 주로 custom-tabs-client GitHub 저장소에서 이루어졌으며 변경사항은 Android 지원 라이브러리로 다시 업스트리밍되었습니다.

맞춤 탭은 브라우저를 사용하여 웹페이지를 표시하는 Android 활동입니다. 개발자에게는 테마를 지정할 수 있고 닫기 버튼이 있어 사용자가 앱을 나와 전체 브라우징 환경으로 이동하는 대신 개발자의 앱에 계속 머물 수 있다는 이점이 있습니다. Android API인 맞춤 탭은 모든 브라우저에서 지원할 수 있으며 사용자의 기본 브라우저를 사용합니다 (개발자가 재정의할 수 있음).

신뢰할 수 있는 웹 활동은 맞춤 탭을 기반으로 빌드되므로 이 custom-tabs-client 라이브러리에서 시작되었습니다. 신뢰할 수 있는 웹 활동은 사용자가 앱 개발자가 소유한 사이트를 탐색할 때 맞춤 탭 상단 표시줄을 삭제합니다. 이를 통해 네이티브 Android 앱 내에 웹사이트를 원활하게 통합할 수 있으며, 모든 기능이 웹에서 제공되는 앱을 만드는 데 사용할 수 있습니다.

AndroidX

Android 지원 라이브러리는 나중에 AndroidX로 리브랜딩되었으며, 이는 JetPack이라는 개발자 환경 개선을 위한 대규모 노력의 일환입니다. 따라서 맞춤 탭과 신뢰할 수 있는 웹 활동을 맞춤 탭 지원 라이브러리에서 새 androidx.browser로 이전해야 했습니다.

custom-tabs-client에서 작성한 일부 코드는 신뢰할 수 있는 웹 활동 도우미 클래스의 라이브러리에는 적합하지만 Android API에는 적합하지 않았습니다. 오래된 Chrome 버전 확인 및 사용자에게 업데이트 메시지 표시 또는 데이터 저장 방법 결정과 관련된 코드는 AndroidX로 이전할 수 없습니다. 따라서 androidx.browser에 포함할 수 없는 custom-tabs-client의 이러한 부분을 포함하는 대체 라이브러리를 만들었습니다. 이렇게 해서 Android 브라우저 도우미가 탄생했습니다.

Android 브라우저 도우미는 브라우저 (Chrome뿐만 아니라 다른 브라우저용 코드도 허용됨)에만 적용될 수 있는 코드를 포함하고 라이브러리가 취해서는 안 되는 구체적인 결정을 내릴 수 있도록 만들어졌습니다. 이번 기회에 두 라이브러리의 역할을 대략적으로 구분했습니다.

  • androidx.browser에는 사용자 시스템에서 브라우저와 상호작용하는 기본 구성요소가 포함되어 있습니다.
  • Android 브라우저 도우미에는 사용하기 편리하고 합리적인 기본 구현이 포함되어 있습니다.

부트스트랩

개발자는 할 일이 많고 기한을 맞춰야 하는 바쁜 사람들입니다. 이를 위해 사용자가 신뢰할 수 있는 웹 활동을 부트스트랩할 수 있는 두 가지 도구를 만들었습니다.

첫 번째 (가장 오래된) 프로젝트는 신뢰할 수 있는 웹 활동을 실행하는 GitHub 호스팅 Android 프로젝트인 svgomg-twa입니다. 원래는 데모 프로젝트로 설계되었으나 템플릿으로 발전했습니다. 사용자는 이 저장소를 클론하고 build.gradle 파일을 수정하여 자체 웹사이트를 가리키도록 한 다음 빌드하고 Java 코드를 건드리지 않고도 신뢰할 수 있는 웹 활동을 생성할 수 있습니다. 디지털 저작물 링크를 인증하려면 더 많은 노력이 필요합니다. 자세한 내용은 여기를 참고하세요.

svgomg-twa는 custom-tabs-client에 종속되어 시작되었지만 Android 브라우저 도우미 (및 전이적으로 androidx.browser)로 이전되었습니다.

가장 새롭고 멋진 도구는 웹 앱 매니페스트를 가져와 신뢰할 수 있는 웹 활동을 생성하는 Node.js 도구인 Bubblewrap입니다. 이는 기존 PWA에서 신뢰할 수 있는 웹 활동을 만드는 가장 쉬운 방법이며 Android 개발 지식이 필요하지 않습니다.

가까운 미래

다음 두 가지 이유로 svgomg-twa가 지원 중단됩니다.

  • Bubblewrap은 기본적으로 개발자를 위해 작성된 svgomg-twa를 생성합니다. 이는 대화식으로 이루어지며 웹 앱 매니페스트 (PWA에 이미 있을 수 있음)에서 구성을 가져올 수 있습니다.
  • 개발자가 자체 신뢰할 수 있는 웹 활동 프로젝트를 처음부터 시작하는 방법을 참고하려면 Android 브라우저 도우미 데모 디렉터리를 살펴보세요.

초보 개발자는 대신 Bubblewrap을 사용하여 프로젝트를 생성해야 합니다. 이미 svgomg-twa를 사용하고 있고 대대적인 수정을 한 경우 계속 사용해도 되지만 업데이트는 받지 못합니다.

Google은 Bubblewrap을 최대한 유용하게 만들 계획이므로 명백한 기능이 누락되었거나 버그가 발견되면 언제든지 문제를 신고해 주세요.