{"repo":"BoumouzounaBrahimVall/openmini","free":true,"listed":false,"github":"https://github.com/BoumouzounaBrahimVall/openmini","clone":"git clone https://github.com/BoumouzounaBrahimVall/openmini.git","description":"Open-source, self-hosted mini-app runtime for React Native, ship OTA-updatable React web apps into your native app from any static file server. Hash-verified packages, CSP-locked WebViews, typed bridge. Portals, but open-source, and your registry is an S3 bucket.","language":"TypeScript","stars":14,"topics":["expo","micro-frontend","mini-apps","mini-program","ota-updates","react-native","super-app","webview"],"license":"Apache-2.0","category":"mobile-apps","readme_excerpt":"OpenMini Portals, but open-source — and your registry is an S3 bucket. OpenMini is a self-hosted mini-app runtime for React Native. Ship plain-React web apps into your native app without app-store releases : publish a hash-verified package to any static file server, and hosts pick the new version up on next launch. That's the whole integration. The mini-app is a plain React web app talking to your host through a typed bridge ( mini.storage , mini.request , mini.host.invoke(...) for APIs you define). Why not the alternatives? Ionic Portals FinClip OpenMini -------------- -------------------------------- -------------------------------- ----------------------------------------- Model Web mini-apps in native/RN hosts WeChat-style mini-programs Web mini-apps in RN (later Flutter) hosts License Commercial Commercial, free tier Apache-2.0 Distribution Appflow (their cloud) Their cloud / on-prem enterprise Any static file server you own Mini-app stack Any web framework Proprietary DSL Plain React/TS + typed bridge How it works - Registry = static files. S3, GitHub Pages, nginx — anything that serves bytes. The protocol is four files and three rules. - Packages are verified before they run. sha256 checked against the registry index before extraction, then per-file hashes; a tampered package is refused with a typed error. - Capabilities are opt-in. A mini-app's manifest declares permissions and allowedDomains ; the bridge rejects everything else, and a build-time CSP blocks undeclared","default_branch":null,"files":null,"tree":[],"storefront":"/r/BoumouzounaBrahimVall","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/BoumouzounaBrahimVall/openmini/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}