템플릿 및 호환성
미니 앱은 슈퍼 앱이 실행되도록 하는 소형 (일반적으로 2~4MB) 앱입니다. 슈퍼 앱과 관계없이 공통적으로 갖는 특징은 웹 기술인 HTML, CSS, JavaScript(및 '방언')로 빌드된다는 점입니다. 미니 앱의 런타임은 기본 운영체제가 아닌 슈퍼 앱의 WebView이므로 미니 앱은 크로스 플랫폼입니다. 동일한 미니 앱은 슈퍼 앱이 Android, iOS 또는 다른 OS에서 실행되는지와 관계없이 동일한 슈퍼 앱에서 실행될 수 있습니다. 그러나 모든 미니 앱이 모든 슈퍼 앱에서 실행되는 것은 아닙니다. 자세한 내용은 나중에 설명합니다.
디스커버리
미니 앱은 브랜드 2D 바코드를 통해 임시적으로 발견되는 경우가 많습니다. 이는 오프라인에서 온라인으로의 중요한 과제를 해결합니다. 예를 들어 실제 음식점 메뉴에서 결제 미니 앱으로 이동하거나 실제 전동 스쿠터에서 대여 미니 앱으로 이동하는 경우를 들 수 있습니다. 아래 이미지는 WeChat의 데모 미니 앱의 브랜드 2D 바코드 예시를 보여줍니다. WeChat 슈퍼 앱으로 코드를 스캔하면 미니 앱이 바로 실행됩니다. 다른 슈퍼 앱은 일반적으로 바코드를 인식할 수 없습니다.

미니 앱은 슈퍼 앱의 일반 인앱 검색을 통해 검색되거나, 채팅 메시지로 공유되거나, 뉴스 피드의 뉴스 항목에 포함될 수도 있습니다. 일부 슈퍼 앱에는 프로필에 미니 앱을 포함할 수 있는 인증된 계정 개념이 있습니다. 미니 앱은 사용자가 서 있는 비즈니스의 미니 앱과 같이 지리적으로 가까울 때 또는 사용자가 슈퍼 앱에 표시된 지도에서 경로를 확인할 때와 같이 가상으로 가까울 때 강조 표시될 수 있습니다. 자주 사용하는 미니 앱은 앱 드로어에서 사용할 수 있으며, 많은 슈퍼 앱에서는 아래로 스와이프 동작이나 슈퍼 앱 메뉴의 특수 섹션을 통해 액세스할 수 있습니다.
사용자 환경
모든 슈퍼 앱에는 미니 앱용으로 거의 동일한 사용자 인터페이스가 있습니다. 미니 앱의 이름이 있는 테마 설정이 가능한 상단 표시줄, 화면 상단의 오른쪽에 있는 닫기 버튼 앞에 앱 공유, 즐겨찾기 목록 또는 홈 화면에 추가, 악성 앱 신고, 의견 제공, 설정과 같은 일반적인 기능에 액세스할 수 있는 작업 메뉴가 있습니다. 아래 스크린샷은 작업 메뉴가 열려 있는 Alipay 슈퍼 앱 컨텍스트에서 실행 중인 쇼핑 미니 앱을 보여줍니다.

UI 패러다임
일반적으로 미니 앱의 기본 탐색을 위한 하단 탭 바가 있습니다. 대부분의 슈퍼 앱 제공업체는 개발자가 캐러셀, 아코디언, 진행률 표시줄, 스피너, 스위치, 지도와 같은 일반적인 UI 패러다임을 빠르게 구현하는 데 도움이 되는 구성요소를 제공합니다. 이렇게 하면 여러 미니 앱 간의 사용자 환경을 일관되게 만드는 데도 도움이 되며 이는 WeChat의 미니 프로그램 설계 가이드라인에서 권장합니다. 이는 Apple이 Apple 인간 인터페이스 가이드라인으로, Google이 Android용 디자인 권장사항으로 제공하는 인센티브와 유사합니다.

서빙
미니 앱은 별도의 리소스로 하나씩 제공되는 대신 암호화된 패키징된 앱, 즉 하나의 파일에 모든 리소스가 포함된 보관 파일로 제공됩니다. 또한 일반 웹 앱과 달리 미니 앱 제작자의 특정 출처에서 제공되는 것이 아니라 슈퍼 앱 제공업체에서 직접 제공됩니다. 미니 앱 작성자의 서버에서 API에 계속 액세스할 수 있지만 핵심 리소스 (일반적으로 앱 셸이라고 함)는 슈퍼 앱 제공업체에서 제공해야 합니다. 미니 앱은 추가 데이터를 요청하는 출처를 선언해야 합니다.
캐싱, 업데이트, 딥 링크
미니 앱은 슈퍼 앱의 캐시에 보관되므로 사용자가 다음에 캐시된 미니 앱을 실행하면 거의 즉시 로드됩니다. 업데이트가 있으면 새 앱 패키지가 로드됩니다. 버전 번호는 실행 URI의 일부가 될 수 있으므로 (탐색 참고) 슈퍼 앱은 로컬에 캐시된 버전이 아직 최신 버전인지 초기에 알 수 있습니다. 시작 URI에는 원하는 미니 앱 페이지도 선택적으로 포함되므로 미니 앱의 특정 페이지로 딥 링크할 수 있습니다. 미니 앱은 사이트맵을 통해 슈퍼 앱 제공업체의 미니 앱 크롤러가 색인을 생성할 수 있는 페이지를 선언할 수 있습니다.

보안 및 권한
미니 앱은 슈퍼 앱 제공업체에서 검토하므로 사용자가 웹 앱보다 더 안전하다고 인식합니다. 매니페스트 또는 미니 앱 구성 파일에서 사전에 잠재적으로 필요한 권한을 선언해야 하며, 일부 제공자의 경우 각 권한이 필요한 이유에 대한 설명도 필요합니다. 물론 미니 앱은 거짓말을 할 수 있지만, 사용자에게 명확한 이유 없이 모션 센서에 액세스하려고 시도하는 이유를 정당화하기는 어렵습니다. 일반적으로 사용자가 이미 슈퍼 앱에 로그인되어 있으므로 사용자의 지문을 추적하는 인센티브는 웹에 비해 훨씬 낮습니다(ID, 결제, 소셜 그래프 참고).
미니 앱이 특별 권한이 필요한 작업을 실행할 때마다 사용자에게 메시지가 표시되며, 이 메시지에는 플랫폼에서 시행하는 경우 개발자가 명시한 사용 사유도 포함됩니다. 아래 스크린샷은 사용자에게 위치 공유 권한을 요청하는 Douyin 데모 미니 앱을 보여줍니다. 일부 슈퍼 앱에는 미니 앱이 권한을 즉시 사용하지 않고 요청하거나 권한의 상태만 확인하는 데 활용할 수 있는 명령형 API도 있습니다. 여기에는 Chrome의 사이트 설정에 해당하는 중앙 슈퍼 앱 권한 설정을 여는 API도 포함될 수 있습니다. 또한 미니 앱은 데이터를 요청할 수 있는 모든 서버의 출처를 미리 선언해야 합니다.

강력한 기능 이용
호스팅 슈퍼 앱은 슈퍼 앱에서 제공하는 WebView에 삽입되는 JavaScript 브리지를 통해 강력한 API에 대한 액세스를 제공합니다 (빌딩 블록 및 호환성 참고). 이 JavaScript 브리지는 운영체제의 API에 대한 후크를 제공합니다. 예를 들어 getConnectedWifi()
와 같은 미니 앱 JavaScript 함수(미니 앱이 현재 활성 Wi-Fi 네트워크의 이름을 가져오는 기능)는 Android의 getConnectionInfo()
API 또는 iOS의 CNCopyCurrentNetworkInfo()
API를 통해 지원됩니다. 일반적인 슈퍼 앱에 노출되는 강력한 기기 API의 다른 예로는 블루투스, NFC, iBeacon, GPS, 시스템 클립보드, 방향 센서, 배터리 정보, 캘린더 액세스, 전화번호부 액세스, 화면 밝기 제어, 파일 시스템 액세스, 물리적 피드백을 위한 진동 하드웨어, 카메라 및 마이크 액세스, 화면 녹화 및 스크린샷 생성, 네트워크 상태, UDP 소켓, 바코드 스캔, 기기 메모리 정보 등이 있습니다.

클라우드 서비스 액세스
또한 많은 슈퍼 앱은 슈퍼 앱 제공업체의 클라우드 서비스에 대한 '서버리스' 액세스를 제공하며, 여기에는 원시 Cloud 컴퓨팅 및 Cloud 스토리지 외에도 텍스트 번역, 이미지의 객체 감지 또는 콘텐츠 분류, 음성 인식, 기타 머신러닝 작업과 같은 고급 작업이 포함되는 경우가 많습니다. 미니 앱은 일반적으로 슈퍼 앱 제공업체에서 제공하는 광고를 통해 수익을 창출할 수 있습니다. 슈퍼 앱 플랫폼은 일반적으로 클라우드 분석 데이터도 제공하므로 미니 앱 개발자는 사용자가 앱과 상호작용하는 방식을 더 잘 이해할 수 있습니다.
ID, 결제, 소셜 그래프
미니 앱의 매우 중요한 기능은 슈퍼 앱에서 공유되는 ID 및 소셜 그래프 정보입니다. Douyin 또는 WeChat과 같은 슈퍼 앱은 사용자가 (때로는 정부에서 인증한) ID, 친구 또는 팔로어 네트워크, 종종 결제 데이터를 저장하는 광범위한 의미의 소셜 네트워킹 사이트로 시작했습니다. 예를 들어 쇼핑 미니 앱은 슈퍼 앱의 결제 API를 통해 직접 결제를 처리할 수 있으며 (또는 경우에 따라 처리해야 함) 사용자의 동의를 얻은 후에는 사용자에게 불편하게 양식을 작성하도록 강요하지 않고도 배송지 주소, 전화번호, 성명과 같은 사용자 데이터를 얻을 수 있습니다. 아래에서 WeChat에서 실행 중인 Walmart 미니 앱을 볼 수 있습니다. 처음 열었을 때 익숙한 얼굴로 인사합니다.

사용자가 게임의 고득점과 같은 업적을 공유하고 상태 업데이트를 통해 연락처에 도전할 수 있도록 하면 미니 앱이 큰 인기를 얻을 수 있습니다. 그러면 미니 앱이 탭 한 번으로 열리므로 사용자는 문제 없이 경쟁에 참여할 수 있고 미니 앱의 도달범위가 확장됩니다.