RU

solidnative: SolidJS on the Fabric Renderer — Real Native iOS and Android Without React

Published: 2026-10-04 · Author: AI Release · @ai_release1
solidnative: SolidJS on the Fabric Renderer — Real Native iOS and Android Without React

⚡ The gist in 5 seconds - What it is: SolidJS components render as real native iOS and Android views via React Native's Fabric renderer, with React completely out of the render path. - Where to get it: the project is published on GitHub; you can get started with npx create-expo-app@latest my-app --template @solidnative/template. - Caveat: this is an experimental project, not production-ready: expect gaps, sharp edges, and breaking changes. ### 🔍 What was found The solidnative project is a port of ng-native (a similar solution for Angular) to SolidJS. It renders SolidJS components directly on React Native's Fabric renderer, so <View> becomes a UIView on iOS and android.view.View on Android, with React fully removed from the render path. Developers write Solid components, signals, and stores, then build and run the app with Expo tooling. Technically, the pipeline works like this: JSX is compiled at build time with babel-preset-solid (universal mode), then Solid's universal renderer calls createElement, insertNode, setProp, etc.; the data then flows into the Fabric engine via the JSI mutation API, which pushes it to native views through nativeFabricUIManager. Solid has no virtual DOM, so writing to a signal updates only the native props that depend on it. Multiple writes within a single synchronous run are batched into one Fabric commit. Notably, react-native and expo remain unchanged dependencies — nothing is forked. ### 💡 Why it matters For developers familiar with SolidJS, this is a way to apply familiar tooling to mobile development without bringing in React. At the same time, the entire React Native ecosystem is preserved: Expo tools (create-expo-app, expo start, Expo Go, development builds, EAS Build/Update/Submit) work as usual, and Expo SDK modules, TurboModules, and Fabric components are accessible from Solid. If a library publicly exposes React components or hooks, a thin Solid wrapper over its native part is required — that's how @solidnative/expo and @solidnative/router are built. ### 🧩 Context The project is positioned as an experiment in running Solid on React Native's architecture. It inherited the idea from ng-native, which did the same for Angular. The repository includes examples of full-fledged apps: a banking wallet, a habit tracker, a music player, a run tracker with maps, notes, and a social app with platform controls. For studying the architecture, there's an ARCHITECTURE.md file with the rules. Features include native rendering of text, images, lists, inputs, and modals; CSS/Tailwind with media queries and dark mode; native navigation based on react-native-screens; Expo modules as services; animations; Node testing with a fake Fabric; and web support via @solidnative/web.

🔗 Read on github.com

🤖 AI summary
solidjsreact-nativefabricexpo
📖
Read the guide on this topic
Read →
← PreviousJarvis Desktop: A Voice Assistant Powered by Your AI Subscriptions for Mac, Windows, and LinuxNext →zeithub.otto: An AI IDE Built on Electron and Next.js for Any Models

Source: github.com · post in Telegram