Package npm Open source
@tryonit/react-native — Essayage virtuel pour React Native et Expo
L'essayage virtuel pour React Native et Expo, compatible Expo Go, builds de développement et apps bare, avec les mêmes manifestes que les packages web.
Présentation
@tryonit/react-native apporte TryOnIt aux applications mobiles : rouge à lèvres, filtres beauté, stickers, lunettes, chapeaux, boucles d'oreilles, montres, bagues et coloration des cheveux sur la caméra du téléphone. Il fonctionne dans Expo Go sans build natif personnalisé, ainsi que dans les builds de développement Expo et les applications React Native bare, et lit exactement les mêmes manifestes produits que les packages web.
Pour le livrer sans sacrifier la parité de comportement, j'exécute le moteur web dans react-native-webview. Un script de build intègre le cœur, le moteur et un pont de messages dans le package. La page tourne sur une origine locale sécurisée pour que la caméra soit autorisée, et MediaPipe et three.js se chargent à la demande depuis un CDN via une import map. L'application pilote la vue caméra grâce à un pont typé (props, API par ref et événements), et les produits sont validés avec @tryonit/core côté React Native avant d'atteindre la WebView.
Il fournit TryOnButton, TryOnView, TryOnModal et un hook useTryOn pour les interfaces sur mesure, renvoie les photos capturées en data URL prêtes pour <Image> ou le partage, met le suivi en pause quand l'application passe en arrière-plan, et inclut un config plugin Expo pour les permissions caméra. Un moteur entièrement natif basé sur VisionCamera, MediaPipe natif, Skia et Filament est prévu derrière la même API : les applications pourront migrer sans changer leur code.
Fonctionnalités clés
- Compatible Expo Go, builds de développement Expo et React Native bare
- Mêmes manifestes produits JSON que les packages web et React
- TryOnButton, TryOnView, TryOnModal et un hook headless useTryOn
- Pont de messages typé entre l'application et la WebView caméra
- Config plugin Expo qui ajoute les permissions caméra
- MediaPipe, modèles et three.js auto-hébergeables, sans requête tierce
Articles sur ce projet
-
7 min de lecture
How to Create Virtual Try-On Products with JSON Manifests
A practical guide to TryOnIt asset manifests: lipstick shades, makeup looks, face stickers, variants, CORS hosting, CMS or Shopify loading and CI validation.
-
8 min de lecture
Inside TryOnIt: The Architecture of a Client-Side Virtual Try-On SDK
How I structured an open-source virtual try-on SDK as layered TypeScript packages: a DOM-free core, a per-frame fast path, a state machine and renderers.
-
4 min de lecture
Privacy by Design for Camera Features: On-Device Virtual Try-On
How TryOnIt keeps camera frames on the device, which network requests it makes, how to self-host for zero third-party requests, and the CSP it needs.
-
5 min de lecture
Shipping AR Try-On to React Native and Expo Go with a WebView Engine
Why @tryonit/react-native runs the web engine in react-native-webview, how the bridge works, and the native VisionCamera, Skia and Filament engine planned next.