Bini.js Docs
Welcome to the Bini.js documentation!
What is Bini.js?
Bini.js is a React framework for building full-stack applications that run natively across web, desktop, and mobile — all from a single codebase. You use React Components to build user interfaces, and Bini.js handles the complexity of multi-platform deployment.
It automatically configures lower-level tools while providing a seamless path to native apps. You can focus on building your product and shipping quickly, without worrying about the underlying platform differences.
Whether you're building a web app, a desktop application for Windows, macOS, or Linux, or a mobile app for Android and iOS — Bini.js gives you the tools to do it all from one project.
Native Apps from a Single Codebase
Bini.js goes beyond the browser. With Tauri integration, your React app becomes a real native application on every major platform — not a wrapped web view.
Desktop Apps
- •Windows — Native WebView2 binary with Authenticode signing
- •macOS — Native WKWebView app with Developer ID notarization
- •Linux — Native WebKitGTK binary as a GPG-signed AppImage
Mobile Apps
- •Android — Native APK/AAB via Tauri's Android backend
- •iOS — Native app via Tauri's iOS backend, running in WKWebView
Not wrapped — compiled to native binaries with full system access
bini-native detects web APIs you call and wires Rust plugins automatically
Same routes, API handlers, and components compile to every target
How to use the docs
The docs are organized into several sections:
- Getting Started: Step-by-step tutorials to create a new application and learn core features
- Routing: Folder-based and file-based routing, dynamic routes, and more
- API Routes: Build backend endpoints with Hono or plain functions
- Styling: Style your app with Tailwind CSS, CSS Modules, or plain CSS
- Platforms: Build for web, Windows, macOS, Linux, Android, and iOS
- Deployment: Deploy to Node.js, Netlify, Vercel, Cloudflare, or Deno
Bini.js Router
Bini.js uses a file-system based router that supports:
- Folder-Based Routing: Folders define URL segments. Nesting folders creates nested routes automatically.For example,
app/blog/creates/blog, andapp/blog/[slug]/creates dynamic routes like/blog/my-post. - File-Based Routing: Special files define route behavior:
page.tsx— Creates a public route accessible at the folder's URLlayout.tsx— Wraps pages and nested layouts, persists across navigationloading.tsx— Shows loading UI while the page content streamsnot-found.tsx— Custom 404 page for unmatched routeserror.tsx— Custom error boundary for the folder and its children
Routes are automatically code-split — no manual React.lazy() required.
Pre-requisite knowledge
Our documentation assumes some familiarity with web development. Before getting started, it'll help if you're comfortable with:
- HTML
- CSS
- JavaScript
- React
If you're new to React or need a refresher, we recommend starting with the React documentation .
Join our Community
If you have questions about anything related to Bini.js, you're always welcome to ask our community on:
Next Steps
Create your first application and learn the core Bini.js features.
Getting Started