La puerta es distinta para el H5

Abre la misma función como página H5 dentro de un WebView y como mini-programa, y los permisos se comportan distinto. La página H5 vive en un motor de navegador limitado por el modelo de seguridad web estándar: navigator.geolocation devuelve una posición gruesa o falla en WebViews Android antiguos, getUserMedia para la cámara está restringido o desactivado, y los pagos saltan a una caja externa. La versión mini-programa invoca la misma intención por un puente nativo y simplemente funciona.

No es un defecto de código. Es el contenedor. El H5 negocia la capacidad a través de la capa de permisos del navegador; el mini-programa posee una lista blanca de capacidad a nivel de plataforma que el runtime mapea directamente a módulos nativos.

Qué es realmente un puente nativo

El runtime expone capacidades del dispositivo y la plataforma mediante una sola superficie de API revisada — la conocida familia wx.* — en lugar de dejar que cada página web renegocie el acceso con el navegador. Detrás de esa superficie, el puente enruta la llamada a la capa nativa: pago, ubicación precisa, cámara y escaneo, Bluetooth y NFC, sistema de archivos y biometría. Cada capacidad se declara por adelantado, la revisa la plataforma y se otorga como permiso persistente y de grano fino, no como un aviso de navegador por sesión.

El puente también explica por qué un mini-programa puede rivalizar en sensación con una app nativa. El trabajo de cómputo pesado — procesamiento de imágenes, reconocimiento de QR, OCR, inferencia de modelos — puede empujarse a la capa nativa y el resultado vuelve por el mismo canal. Los plugins nativos existen precisamente para romper los límites del WebView y alcanzar el poder del hardware a la altura de lo nativo.

Dónde se muestra la brecha

CapacidadH5 en WebViewRuntime de mini-programa (puente nativo)
PagosCaja externa o redirección, flujo partidoPago nativo en contexto en una llamada
Ubicaciónnavigator.geolocation, gruesa, suele fallargetLocation precisa, revisada por plataforma
Cámara y escaneogetUserMedia restringido, a menudo bloqueadochooseImage y scanCode nativos
Bluetooth y NFCNo disponible o muy limitadoMódulos de puente nativo
IdentidadSaltos OAuth y toques manualeslogin más número de teléfono en un toque
BiometríaNada en la webAutenticación nativa por hardware

El patrón se repite en cada plataforma que lanza un runtime de mini-programa: el puente es lo que convierte el web puede hacerlo más o menos en el programa simplemente lo hace.

Por qué una superficie vale más que negociar por página

Una sola superficie de API revisada significa que un desarrollador escribe wx.requestPayment una vez y funciona en todos los dispositivos y apps anfitrionas, en lugar de mantener un laberinto de degradaciones del navegador, firmas JS-SDK y listas blancas de dominio. También significa que la plataforma puede aplicar política en el límite: las capacidades se otorgan por revisión, no por quien sirve el documento, que es exactamente el modelo de confianza que necesita una super-app.

Cómo lo aplica Cross Mini App

Cross Mini App da a los programas un puente nativo que expone pago, ubicación, cámara, conectividad e identidad mediante una superficie consistente estilo wx.*, validada contra la política antes de ejecutarse. Tu código llama a una capacidad; el runtime la mapea al módulo nativo correcto en el dispositivo donde corre. Obtienes poder nativo sin escribir código nativo, y el usuario obtiene un flujo que no se cae por las grietas.

Esta es la diferencia entre pedir prestadas las llaves del navegador y sostener las propias: una espera que la puerta abra; la otra la gira.

Fuentes