Skip to content

Status

The documented public surface focuses on React, Vue, Angular, Svelte, 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 — not started. Architecture diagrams and roadmap text only.
  • @symbiote-native/engine — retained tree, Fabric commit path, style/runtime utilities, native events, and the shared AppRegistry core every adapter wraps.
  • @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, and Svelte. 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 adapters — framework lifecycle and public API bridges over the shared core.

React, Vue, Angular, and Svelte are presented as live choices on the landing page’s framework switcher, each with its own demo clip on the landing page and its own learn guide. Solid stays in architecture diagrams and roadmap text only, with no dedicated guide yet because no code exists for it.

  • 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.