Skip to content

Status

The documented public surface focuses on React, Vue, Angular, Svelte, Solid, and the shared core packages.

  • React — the reference adapter and canary for the engine and native Fabric pipe. Has createPortal — mutation-mode Fabric makes portals possible where stock RN’s persistent-mode renderer cannot.
  • Vue — the first non-React adapter over the same engine. Switch, TextInput, and the Slider wrapper support real v-model; v-show toggles native display: none without unmounting; Teleport is the same portal primitive as React’s createPortal, targeted at a host-node ref instead of a CSS selector. Also exposes AppRegistry, the same app-entry-point API as React, over a shared @symbiote-native/engine core.
  • Angular — the second non-React adapter. Renderer seam (Renderer2/RendererFactory2), DOM-less bootstrap, and full component parity are implemented and tested (examples/angular). Every component event, including the accessibility callbacks, is a real @Output() EventEmitter now; the one permanent exception is the scroll family (onScroll, onScrollBeginDrag, onScrollEndDrag, onMomentumScrollBegin, onMomentumScrollEnd), which stays a callback input on ScrollView and the list components because it must also accept an Animated.event(...) marker, which @Output() can’t express. On the landing page’s live framework switcher now; the Slider wrapper package also ships an Angular build (@symbiote-native/slider/angular).
  • Svelte — the third non-React adapter. A DOM shim over stock compiled Svelte output drives the same engine, so components are stock Svelte markup — no custom compiler output, no bespoke reconciler. Full component parity with React/Vue/Angular, verified on-device on iOS and Android (examples/svelte). On the landing page’s live framework switcher now; the Slider wrapper package also ships a Svelte build.
  • Solid — the fourth non-React adapter. A Solid custom renderer built on solid-js/universal’s official createRenderer (Solid’s own framework-agnostic seam for non-DOM targets) maps every compiled-JSX call onto the same engine mutation API every other adapter drives. Full component parity with React/Vue/Angular/Svelte, including createPortal, createTunnel, Animated, and AppRegistry (examples/solid). Every companion package under packages/* also ships a ./solid export subpath now, matching npm-catalog parity with the other four adapters. On the landing page’s live framework switcher, with its own demo clip, verified on a real device like the other four. It doesn’t yet share the Detox canary-journeys spec React, Vue, and Svelte carry.
  • @symbiote-native/engine — the JS command-buffer shim over SymbioteTree, the retained tree and Fabric commit path now implemented in C++ (core/engine/cpp), plus style/runtime utilities, native events, and the shared AppRegistry core every adapter wraps. On-device benchmark numbers for the C++ tree are still pending — see the roadmap.
  • @symbiote-native/css-parser — build-time compiler for plain CSS, CSS Modules, and SCSS/Sass, Less, and Stylus preprocessor sources, resolved at runtime through a class registry shared by React, Vue, Angular, Svelte, and Solid. Also ships a css-dts CLI (typo-safe .module.css .d.ts generation) and a typescript-plugin for live in-editor autocomplete — see the roadmap.
  • @symbiote-native/components — shared component state, render helpers, accessibility, and parity logic.
  • @symbiote-native/expo-modules-link — app-level linker for the expo-modules-core wrapper packages. Declared once in the app’s package.json with a postinstall script; each install rescans node_modules and regenerates the Android registration blocks for every wrapper package it finds.
  • React/Vue/Angular/Svelte/Solid adapters — framework lifecycle and public API bridges over the shared core.

React, Vue, Angular, Svelte, and Solid are all live choices on the landing page’s framework switcher, each with its own learn guide, API reference, and demo clip on the landing page.

  • Component API pages will split out as each page has real examples and useful details.
  • Vue API docs need extra care because events, slots, and refs intentionally differ from React.
  • Native module behavior must stay platform-verified on real iOS/Android hosts, not only headless tests.