레이 오브 더 랜드

피터 콘
피터 콘

신뢰할 수 있는 웹 활동 주변에는 상당한 규모의 생태계가 존재하므로 모든 것이 어떻게 관련되어 있고 무엇을 사용해야 하는지 파악하기란 매우 어려울 수 있습니다. 이 도움말은 이 문제를 해결하는 데 도움이 됩니다.

신뢰할 수 있는 웹 활동을 처음 사용하거나 현재 사용해야 하는 권장 도구를 찾고 있다면 다음을 알고 있어야 합니다.

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

다음 섹션에서는 모든 프로젝트를 서로와 관련하여 간략히 요약합니다. 마지막으로, 어떻게 여기까지 왔는지, 가까운 미래에 어디로 갈 것인지를 보여주는 역사 섹션이 있습니다.

라이브러리 개요

다음은 여러분이 사용하게 될 각 라이브러리에 대한 간단한 한 문장 요약입니다.

  • androidx.browser: 사용자 기기에 설치된 브라우저와 상호작용하기 위한 Android 라이브러리
  • Android 브라우저 도우미는 신뢰할 수 있는 웹 활동 클라이언트를 위해 androidx.browser에서 빌드된 라이브러리이며 편의 메서드와 적절한 기본값을 제공합니다.
  • Bubblewrap: 자바 코드를 전혀 수정하지 않고도 PWA에서 신뢰할 수 있는 웹 활동을 만들 수 있는 도구입니다.

또한 다음의 각 라이브러리/도구는 이전 라이브러리를 대체합니다.

기록

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뿐만 아니라 다른 브라우저용 코드도 허용됨) 전용 코드를 포함하도록 만들어졌습니다. 이 코드는 라이브러리에서 허용되지 않는 구체적인 결정을 내릴 수 있습니다. Google에서는 일반적으로 이 두 라이브러리의 역할을 분리했습니다.

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

부트스트랩

개발자는 해야 할 일과 마감일이 많아 바쁘게 살아가고 있습니다. 이를 돕기 위해 Google에서는 사용자가 신뢰할 수 있는 웹 활동을 부트스트랩할 수 있는 두 가지 도구를 만들었습니다.

첫 번째 및 가장 오래된 프로젝트인 svgomg-twa는 신뢰할 수 있는 웹 활동을 실행하는 GitHub 호스팅 Android 프로젝트입니다. 원래 데모 프로젝트로 만들어졌지만 템플릿이 더 많아졌습니다. 사용자는 자신의 웹사이트를 가리키도록 저장소를 클론한 후 build.gradle 파일을 수정하여 빌드하고 자바 코드를 전혀 수정하지 않고도 신뢰할 수 있는 웹 활동을 생성할 수 있습니다. 디지털 애셋 링크를 검증하려면 더 많은 노력이 필요합니다. 여기에서 자세히 알아보세요.

svgomg-twa는 custom-tabs-client에 따라 시작되었지만 Android 브라우저 도우미 (그리고 전이적으로 androidx.browser)로 이동했습니다.

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

가까운 미래

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

  • Bubblewrap은 기본적으로 개발자를 위해 작성된 svgomg-twa를 생성합니다. 이 작업은 대화형으로 실행되며 웹 앱 매니페스트 (PWA에 이미 있을 가능성이 높음)에서 구성을 가져올 수 있습니다.
  • 신뢰할 수 있는 웹 활동 프로젝트를 처음부터 시작하는 방법에 관한 참조가 필요한 개발자는 Android 브라우저 도우미 demos 디렉터리를 참고하세요.

신규 개발자는 대신 Bubblewrap을 사용하여 프로젝트를 생성해야 합니다. 이미 svgomg-twa를 사용 중이고 대규모 수정을 완료한 경우 계속 사용해도 괜찮지만 업데이트는 받을 수 없습니다.

Google은 Bubblewrap을 가능한 한 많이 지원할 계획이므로 명백한 기능이 누락되거나 버그가 발견되는 경우 언제든지 문제를 제기할 수 있습니다.