bertui 1.1.1 β 1.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +424 -435
- package/package.json +1 -1
- package/src/build/generators/html-generator.js +41 -7
- package/src/build/processors/css-builder.js +71 -4
- package/src/build.js +77 -35
- package/src/client/compiler.js +23 -42
- package/src/pagebuilder/core.js +191 -0
- package/src/server/dev-server.js +134 -36
- package/src/utils/env.js +59 -39
- package/src/utils/meta-extractor.js +124 -58
package/README.md
CHANGED
|
@@ -1,133 +1,133 @@
|
|
|
1
1
|
# BertUI β‘ποΈ
|
|
2
2
|
|
|
3
|
-
**The fastest React framework for developers who refuse to wait
|
|
3
|
+
**The fastest React framework for developers who refuse to wait.**
|
|
4
4
|
|
|
5
|
-
Zero configuration. 494ms dev server. 265ms builds. **Server Islands
|
|
6
|
-
Powered by Bun and Elysia.
|
|
5
|
+
Zero configuration. 494ms dev server. 265ms builds. **Perfect SEO with Server Islands.** Auto-generated sitemaps & robots.txt. Full TypeScript support.
|
|
7
6
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
[](https://github.com/BunElysiaReact/BERTUI)
|
|
10
|
+
[](https://www.npmjs.com/package/bertui)
|
|
11
|
+
[](https://bun.sh)
|
|
12
|
+
[](https://github.com/BunElysiaReact/BERTUI)
|
|
11
13
|
[](LICENSE)
|
|
12
14
|
|
|
15
|
+
```bash
|
|
16
|
+
# One command. Zero config. Instant speed.
|
|
17
|
+
bunx create-bertui my-app && cd my-app && bun run dev
|
|
18
|
+
```
|
|
19
|
+
|
|
13
20
|
---
|
|
14
21
|
|
|
15
|
-
##
|
|
22
|
+
## π₯ The BertUI Ecosystem: Speed Reimagined
|
|
16
23
|
|
|
17
|
-
**
|
|
24
|
+
**We don't just use existing tools. We rewrite them in the fastest languages possible.**
|
|
18
25
|
|
|
19
|
-
|
|
20
|
-
- β‘ **Still Lightning Fast** - 265ms builds haven't changed
|
|
21
|
-
- π― **Per-Page Control** - Choose what gets pre-rendered
|
|
22
|
-
- π **Zero Complexity** - No SSR setup, no server infrastructure
|
|
23
|
-
- π― **Perfect for Everything** - Marketing pages AND interactive apps
|
|
26
|
+
While other frameworks rely on slow JavaScript implementations, BertUI rebuilds the entire stack from the ground up with **Zig, C++, and Bun FFI** for unmatched performance.
|
|
24
27
|
|
|
25
|
-
###
|
|
28
|
+
### π― Official BertUI Packages
|
|
26
29
|
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
30
|
+
```
|
|
31
|
+
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
|
32
|
+
β THE BERTUI SPEED STACK β
|
|
33
|
+
β β
|
|
34
|
+
β β‘ bertui-icons β Icons in Zig (10x faster) β
|
|
35
|
+
β π bertui-axios β HTTP in C++ (Coming Q1 2025) β
|
|
36
|
+
β π bertui-elyserver β Full-stack with Elysia (Coming Soon) β
|
|
37
|
+
β π¨ bertui-animation β GPU-accelerated (Coming Soon) β
|
|
38
|
+
β π bertui-charts β WebGL rendering (Coming Soon) β
|
|
39
|
+
β β
|
|
40
|
+
β "Not just a framework. An entire performance-first ecosystem." β
|
|
41
|
+
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
|
32
42
|
```
|
|
33
43
|
|
|
34
|
-
**
|
|
44
|
+
**Why BertUI-Exclusive Packages?**
|
|
35
45
|
|
|
36
|
-
|
|
46
|
+
1. **10-100x Performance Gains** - Native compiled code vs interpreted JavaScript
|
|
47
|
+
2. **Zero Compatibility Issues** - Built specifically for BertUI's architecture
|
|
48
|
+
3. **Unified DX** - Consistent APIs across all packages
|
|
49
|
+
4. **No Bloat** - Only what you need, nothing more
|
|
37
50
|
|
|
38
|
-
|
|
51
|
+
---
|
|
39
52
|
|
|
40
|
-
|
|
53
|
+
## π What's New in v1.1.1: SEO Perfection Complete
|
|
41
54
|
|
|
42
|
-
|
|
43
|
-
|--------|--------|------|--------|
|
|
44
|
-
| Warm Cache Install | **5.0s** | 35.3s | **BertUI (7x faster)** β‘ |
|
|
45
|
-
| Dev Server Startup | **494ms** | 713ms | **BertUI (1.4x faster)** β‘ |
|
|
46
|
-
| Production Build | **265ms** | 4.70s | **BertUI (18x faster)** β‘ |
|
|
47
|
-
| Bundle Size | **100KB** | 220KB | **BertUI (2.2x smaller)** β‘ |
|
|
48
|
-
| **SSG Capability** | **β
YES** | **β NONE** | **BertUI (exclusive)** ποΈ |
|
|
55
|
+
**We listened. We delivered. BertUI is now the complete SEO powerhouse.**
|
|
49
56
|
|
|
50
|
-
|
|
51
|
-
> **Our response:** [Complete reproducible benchmarks](PERFORMANCE.md) with logs, methodology, and test scripts. Run them yourself. We'll wait. β±οΈ
|
|
57
|
+
### π New in v1.1.1 (Latest)
|
|
52
58
|
|
|
53
|
-
**
|
|
59
|
+
- π€ **Auto-Generated `robots.txt`** - SEO-friendly crawler instructions, zero config
|
|
60
|
+
- πΊοΈ **Auto-Generated `sitemap.xml`** - All routes indexed automatically at build time
|
|
61
|
+
- π **Full TypeScript Support** - Complete `.d.ts` type definitions for the entire API
|
|
62
|
+
- π― **Type Safety Without Complexity** - IntelliSense for all BertUI functions (no `.tsx` required)
|
|
63
|
+
- β‘ **bertui-icons Integration** - Official icon library with perfect performance
|
|
54
64
|
|
|
55
|
-
|
|
65
|
+
### ποΈ From v1.1.0: Server Islands
|
|
56
66
|
|
|
57
|
-
|
|
67
|
+
- **Instant SEO** - Add one line, get static HTML at build time
|
|
68
|
+
- **Still Lightning Fast** - 265ms builds haven't changed
|
|
69
|
+
- **Per-Page Control** - Choose what gets pre-rendered
|
|
70
|
+
- **Zero Complexity** - No SSR setup, no server infrastructure
|
|
58
71
|
|
|
59
|
-
|
|
72
|
+
```jsx
|
|
73
|
+
// The magic line that gives you perfect SEO
|
|
74
|
+
export const render = "server";
|
|
75
|
+
```
|
|
60
76
|
|
|
61
|
-
Server Islands
|
|
77
|
+
**[Complete Server Islands guide β](https://bertui-docswebsite.vercel.app/server-islands)**
|
|
62
78
|
|
|
63
|
-
|
|
79
|
+
---
|
|
64
80
|
|
|
65
|
-
|
|
66
|
-
<!-- β OTHER FRAMEWORKS: Empty HTML until JS loads -->
|
|
67
|
-
<div id="root"></div>
|
|
68
|
-
<script src="app.js"></script>
|
|
81
|
+
## π Why BertUI Dominates
|
|
69
82
|
|
|
70
|
-
|
|
71
|
-
<div id="root">
|
|
72
|
-
<header>
|
|
73
|
-
<h1>My Awesome Site</h1>
|
|
74
|
-
<nav>...</nav>
|
|
75
|
-
</header>
|
|
76
|
-
<main>
|
|
77
|
-
<article>Full content here!</article>
|
|
78
|
-
</main>
|
|
79
|
-
</div>
|
|
80
|
-
<script src="app.js"></script>
|
|
81
|
-
```
|
|
83
|
+
### The Speed No One Can Match
|
|
82
84
|
|
|
83
|
-
**
|
|
84
|
-
- π **Instant First Paint** - Users see content immediately (0ms TTFB)
|
|
85
|
-
- π **Perfect SEO** - Search engines index full content
|
|
86
|
-
- β‘ **Still Interactive** - React hydrates for full app functionality
|
|
87
|
-
- π¦ **Zero Config** - Works automatically for all routes
|
|
88
|
-
- π― **Mixed Architecture** - Use Server Islands for landing pages, client-only for dashboards
|
|
85
|
+
**BertUI vs Everyone Else** (Intel i3-2348M, 7.6GB RAM - your results will be faster):
|
|
89
86
|
|
|
90
|
-
|
|
87
|
+
| Metric | BertUI | Vite | Next.js | Winner |
|
|
88
|
+
|--------|--------|------|---------|--------|
|
|
89
|
+
| Dev Server Startup | **494ms** | 713ms | 2.1s | **BertUI (1.4-4.3x faster)** β‘ |
|
|
90
|
+
| Production Build | **265ms** | 4.70s | 8.4s | **BertUI (18-32x faster)** β‘ |
|
|
91
|
+
| Bundle Size | **100KB** | 220KB | 280KB | **BertUI (2.2-2.8x smaller)** β‘ |
|
|
92
|
+
| Install Time (warm) | **5.0s** | 35.3s | 55s | **BertUI (7-11x faster)** β‘ |
|
|
93
|
+
| SSG Support | **β
YES** | β NO | β
YES | **BertUI (simplest)** ποΈ |
|
|
94
|
+
| Auto SEO Files | **β
YES** | β NO | β οΈ Manual | **BertUI (exclusive)** π€ |
|
|
95
|
+
| TypeScript DX | **β
YES** | β
YES | β
YES | **BertUI (no setup)** π |
|
|
96
|
+
| Icon Performance | **10x faster** | Standard | Standard | **BertUI (Zig-powered)** β‘ |
|
|
91
97
|
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
export const render = "server"; // ποΈ That's it!
|
|
98
|
+
> **"Your speeds are lies!"** β Skeptics (understandable)
|
|
99
|
+
> **Our response:** [Complete reproducible benchmarks](PERFORMANCE.md) with logs, methodology, and test scripts. Run them yourself. β±οΈ
|
|
95
100
|
|
|
96
|
-
|
|
97
|
-
title: "About Us",
|
|
98
|
-
description: "Learn about our company"
|
|
99
|
-
};
|
|
101
|
+
**[See full performance report β](PERFORMANCE.md)**
|
|
100
102
|
|
|
101
|
-
|
|
102
|
-
return (
|
|
103
|
-
<div>
|
|
104
|
-
<h1>About Us</h1>
|
|
105
|
-
<p>Pre-rendered as static HTML at build time!</p>
|
|
106
|
-
<a href="/contact">Contact</a>
|
|
107
|
-
</div>
|
|
108
|
-
);
|
|
109
|
-
}
|
|
110
|
-
```
|
|
103
|
+
---
|
|
111
104
|
|
|
112
|
-
|
|
113
|
-
- Landing pages
|
|
114
|
-
- Blog posts
|
|
115
|
-
- Documentation
|
|
116
|
-
- Marketing pages
|
|
117
|
-
- Any content-heavy page that needs SEO
|
|
105
|
+
## π― The Complete Feature Matrix
|
|
118
106
|
|
|
119
|
-
|
|
120
|
-
- Dashboards (need state)
|
|
121
|
-
- Forms (need interactivity)
|
|
122
|
-
- Apps with user state
|
|
107
|
+
### What Makes BertUI Unstoppable
|
|
123
108
|
|
|
124
|
-
|
|
109
|
+
```
|
|
110
|
+
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
|
111
|
+
β The Only Framework With: β
|
|
112
|
+
β β
|
|
113
|
+
β β‘ Sub-500ms dev starts ποΈ Optional SSG (Server Islands) β
|
|
114
|
+
β π¦ Sub-300ms builds π€ Auto robots.txt generation β
|
|
115
|
+
β πΊοΈ Auto sitemap.xml π Full TypeScript definitions β
|
|
116
|
+
β π― Zero config needed π File-based routing built-in β
|
|
117
|
+
β π₯ 30ms HMR updates π
Optimized CSS (LightningCSS) β
|
|
118
|
+
β π Deploy anywhere π¨ Modern CSS features β
|
|
119
|
+
β π Beautiful errors π Detailed build analytics β
|
|
120
|
+
β β‘ Zig-powered icons π Native performance libraries β
|
|
121
|
+
β β
|
|
122
|
+
β "The fastest React framework with perfect SEO, period." π₯ β
|
|
123
|
+
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
|
124
|
+
```
|
|
125
125
|
|
|
126
126
|
---
|
|
127
127
|
|
|
128
|
-
##
|
|
128
|
+
## β‘ Quick Start
|
|
129
129
|
|
|
130
|
-
### Create New App (
|
|
130
|
+
### Create New App (30 seconds to first render)
|
|
131
131
|
|
|
132
132
|
```bash
|
|
133
133
|
bunx create-bertui my-app
|
|
@@ -135,490 +135,479 @@ cd my-app
|
|
|
135
135
|
bun run dev
|
|
136
136
|
```
|
|
137
137
|
|
|
138
|
-
That's it
|
|
138
|
+
**That's it.** No webpack config. No babel setup. No bullshit.
|
|
139
|
+
|
|
140
|
+
**What you get:**
|
|
141
|
+
```
|
|
142
|
+
my-app/
|
|
143
|
+
βββ src/
|
|
144
|
+
β βββ pages/
|
|
145
|
+
β β βββ index.jsx # Your homepage (/ route)
|
|
146
|
+
β βββ components/ # Your components
|
|
147
|
+
β βββ images/ # Auto-served at /images/*
|
|
148
|
+
βββ public/
|
|
149
|
+
β βββ favicon.svg # Static assets
|
|
150
|
+
βββ dist/ # Production build output
|
|
151
|
+
β βββ robots.txt # π Auto-generated!
|
|
152
|
+
β βββ sitemap.xml # π Auto-generated!
|
|
153
|
+
βββ package.json
|
|
154
|
+
```
|
|
139
155
|
|
|
140
|
-
**First install note:** Initial setup downloads Bun platform binaries (~154MB, one-time
|
|
156
|
+
**First install note:** Initial setup downloads Bun platform binaries (~154MB, one-time). Subsequent projects: ~5 seconds.
|
|
141
157
|
|
|
142
158
|
---
|
|
143
159
|
|
|
144
|
-
##
|
|
160
|
+
## β‘ Using BertUI-Icons (Exclusive Performance)
|
|
145
161
|
|
|
146
|
-
|
|
162
|
+
### Installation
|
|
147
163
|
|
|
148
164
|
```bash
|
|
149
|
-
|
|
150
|
-
bunx migrate-bertui
|
|
165
|
+
bun add bertui-icons
|
|
151
166
|
```
|
|
152
167
|
|
|
153
|
-
|
|
154
|
-
1. β
Backs up all files to `.bertmigrate/`
|
|
155
|
-
2. π§Ή Initializes fresh BertUI project
|
|
156
|
-
3. π Creates detailed migration guide
|
|
157
|
-
4. π― Detects your framework and provides tailored instructions
|
|
158
|
-
|
|
159
|
-
### Migration Process
|
|
160
|
-
|
|
161
|
-
```bash
|
|
162
|
-
# 1. Navigate to your project
|
|
163
|
-
cd my-vite-app
|
|
164
|
-
|
|
165
|
-
# 2. Run migration (backs up everything automatically)
|
|
166
|
-
bunx migrate-bertui
|
|
167
|
-
|
|
168
|
-
# 3. Follow the generated MIGRATION_GUIDE.md
|
|
169
|
-
cat MIGRATION_GUIDE.md
|
|
168
|
+
### Usage - Zero Config, Maximum Speed
|
|
170
169
|
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
cp -r .bertmigrate/src/styles src/
|
|
174
|
-
|
|
175
|
-
# 5. Convert routes to file-based structure
|
|
176
|
-
# Instead of: <Route path="/about" element={<About />} />
|
|
177
|
-
# Just create: src/pages/about.jsx
|
|
178
|
-
|
|
179
|
-
# 6. Update imports
|
|
180
|
-
# From: import { Link } from 'react-router-dom'
|
|
181
|
-
# To: import { Link } from 'bertui/router'
|
|
170
|
+
```jsx
|
|
171
|
+
import { ArrowRight, Activity, User } from 'bertui-icons';
|
|
182
172
|
|
|
183
|
-
|
|
184
|
-
|
|
173
|
+
function App() {
|
|
174
|
+
return (
|
|
175
|
+
<div>
|
|
176
|
+
{/* Basic usage */}
|
|
177
|
+
<span dangerouslySetInnerHTML={{ __html: ArrowRight() }} />
|
|
178
|
+
|
|
179
|
+
{/* With text overlay (unique to bertui-icons!) */}
|
|
180
|
+
<span dangerouslySetInnerHTML={{
|
|
181
|
+
__html: Activity({ children: '98', color: 'red' })
|
|
182
|
+
}} />
|
|
183
|
+
|
|
184
|
+
{/* Custom sizing */}
|
|
185
|
+
<span dangerouslySetInnerHTML={{
|
|
186
|
+
__html: User({ children: '5', size: 48 })
|
|
187
|
+
}} />
|
|
188
|
+
</div>
|
|
189
|
+
);
|
|
190
|
+
}
|
|
185
191
|
```
|
|
186
192
|
|
|
187
|
-
###
|
|
193
|
+
### Why bertui-icons is 10x Faster
|
|
194
|
+
|
|
195
|
+
**Traditional Icon Libraries (React SVG):**
|
|
188
196
|
```
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
β βββ App.jsx
|
|
192
|
-
β βββ main.jsx
|
|
193
|
-
β βββ components/
|
|
194
|
-
βββ vite.config.js
|
|
195
|
-
βββ package.json
|
|
197
|
+
Request β Parse SVG string β Create React elements β Virtual DOM diff β Render
|
|
198
|
+
Total: ~15-20ms per icon
|
|
196
199
|
```
|
|
197
200
|
|
|
198
|
-
|
|
201
|
+
**bertui-icons (Zig + FFI):**
|
|
199
202
|
```
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
βββ src/
|
|
203
|
-
β βββ pages/ # β‘ File-based routing!
|
|
204
|
-
β β βββ index.jsx # / route
|
|
205
|
-
β β βββ about.jsx # /about route
|
|
206
|
-
β βββ components/ # Your components
|
|
207
|
-
β βββ images/ # Images (auto-served)
|
|
208
|
-
βββ MIGRATION_GUIDE.md # Your guide
|
|
209
|
-
βββ package.json
|
|
203
|
+
Request β FFI call to Zig β Pre-compiled SVG β Direct HTML injection
|
|
204
|
+
Total: ~1-2ms per icon
|
|
210
205
|
```
|
|
211
206
|
|
|
212
|
-
|
|
207
|
+
**Performance Comparison:**
|
|
208
|
+
- **lucide-react:** 15ms per icon render
|
|
209
|
+
- **react-icons:** 18ms per icon render
|
|
210
|
+
- **bertui-icons:** **1.5ms per icon render** β‘
|
|
213
211
|
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
212
|
+
**Features Exclusive to bertui-icons:**
|
|
213
|
+
- β
Text overlays (badges, labels)
|
|
214
|
+
- β
Dynamic positioning
|
|
215
|
+
- β
Compiled at build time
|
|
216
|
+
- β
Zero runtime overhead
|
|
217
|
+
- β
Unlimited imports (no bundle bloat)
|
|
219
218
|
|
|
220
|
-
**[
|
|
219
|
+
**[Complete bertui-icons docs β](https://github.com/BunElysiaReact/bertui-icons)**
|
|
221
220
|
|
|
222
221
|
---
|
|
223
222
|
|
|
224
|
-
##
|
|
225
|
-
|
|
226
|
-
### The Problems We Solve
|
|
223
|
+
## π The BertUI Ecosystem Roadmap
|
|
227
224
|
|
|
228
|
-
|
|
229
|
-
- **Before v1.1:** Critics said we were just "fast Vite" with poor SEO
|
|
230
|
-
- **After v1.1:** Server Islands give us perfect SEO + unmatched speed
|
|
231
|
-
- **Vite can't do this:** Vite has NO SSG capability at all
|
|
225
|
+
### π
Coming Soon
|
|
232
226
|
|
|
233
|
-
**
|
|
234
|
-
|
|
235
|
-
- **Vite:** Fast dev, but client-only (poor SEO)
|
|
236
|
-
- **BertUI:** Fast dev + fast builds + perfect SEO + zero config
|
|
227
|
+
#### **Q1 2025: bertui-axios** π
|
|
228
|
+
**HTTP client rewritten in C++ with Bun FFI**
|
|
237
229
|
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
- **BertUI:** Zero config files. Just code.
|
|
241
|
-
|
|
242
|
-
### What Makes Us Unique
|
|
230
|
+
```jsx
|
|
231
|
+
import { get, post } from 'bertui-axios';
|
|
243
232
|
|
|
233
|
+
// 5-10x faster than axios
|
|
234
|
+
const { data } = await get('https://api.example.com/users');
|
|
235
|
+
const response = await post('/api/login', { username, password });
|
|
244
236
|
```
|
|
245
|
-
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
|
246
|
-
β β
|
|
247
|
-
β Vite Fast Dev β
Poor SEO β No SSG β β
|
|
248
|
-
β Next.js Good SEO β
Slow Build β Complex β β
|
|
249
|
-
β BertUI Fast Dev β
Good SEO β
Fast Build β
β
|
|
250
|
-
β Zero Config β
Server Islands β
β
|
|
251
|
-
β β
|
|
252
|
-
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
|
253
|
-
```
|
|
254
|
-
|
|
255
|
-
**BertUI is the only framework with:**
|
|
256
|
-
- Sub-300ms production builds
|
|
257
|
-
- Optional per-page SSG (Server Islands)
|
|
258
|
-
- Zero configuration required
|
|
259
|
-
- File-based routing out of the box
|
|
260
|
-
- Bun-native speed
|
|
261
237
|
|
|
262
|
-
|
|
238
|
+
**Features:**
|
|
239
|
+
- C++ compiled HTTP engine
|
|
240
|
+
- Automatic retries with exponential backoff
|
|
241
|
+
- Built-in caching layer
|
|
242
|
+
- Perfect TypeScript support
|
|
243
|
+
- 100% axios-compatible API
|
|
263
244
|
|
|
264
|
-
|
|
245
|
+
#### **Q1 2025: bertui-elyserver** π
|
|
246
|
+
**Full-stack framework with Elysia integration**
|
|
265
247
|
|
|
266
|
-
|
|
248
|
+
```jsx
|
|
249
|
+
// pages/api/users.js - API routes built-in!
|
|
250
|
+
export default function handler(req, res) {
|
|
251
|
+
return res.json({ users: [...] });
|
|
252
|
+
}
|
|
267
253
|
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
src/pages/about.jsx β /about
|
|
271
|
-
src/pages/blog/index.jsx β /blog
|
|
272
|
-
src/pages/user/[id].jsx β /user/:id
|
|
273
|
-
src/pages/shop/[cat]/[prod].jsx β /shop/:cat/:prod
|
|
254
|
+
// Automatic API routes, DB integration, auth
|
|
255
|
+
// Zero backend setup required
|
|
274
256
|
```
|
|
275
257
|
|
|
276
|
-
|
|
258
|
+
**Features:**
|
|
259
|
+
- Elysia-powered backend
|
|
260
|
+
- Automatic API routing
|
|
261
|
+
- Built-in database adapters
|
|
262
|
+
- JWT auth out of the box
|
|
263
|
+
- WebSocket support
|
|
264
|
+
|
|
265
|
+
#### **Q2 2025: bertui-animation** π¨
|
|
266
|
+
**GPU-accelerated animations**
|
|
277
267
|
|
|
278
268
|
```jsx
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
}
|
|
269
|
+
import { animate } from 'bertui-animation';
|
|
270
|
+
|
|
271
|
+
// WebGL-powered, 60fps guaranteed
|
|
272
|
+
animate('.box', { x: 100, duration: 0.5 });
|
|
283
273
|
```
|
|
284
274
|
|
|
285
|
-
|
|
275
|
+
#### **Q2 2025: bertui-charts** π
|
|
276
|
+
**WebGL chart rendering**
|
|
286
277
|
|
|
287
278
|
```jsx
|
|
288
|
-
import {
|
|
279
|
+
import { LineChart } from 'bertui-charts';
|
|
289
280
|
|
|
290
|
-
//
|
|
291
|
-
<
|
|
292
|
-
|
|
293
|
-
// Programmatic navigation
|
|
294
|
-
const { navigate } = useRouter();
|
|
295
|
-
navigate('/dashboard');
|
|
281
|
+
// 1M+ datapoints at 60fps
|
|
282
|
+
<LineChart data={millionPoints} />
|
|
296
283
|
```
|
|
297
284
|
|
|
298
285
|
---
|
|
299
286
|
|
|
300
|
-
##
|
|
287
|
+
## π― Full React Support Coming Soon
|
|
301
288
|
|
|
302
|
-
**
|
|
289
|
+
**BertUI is evolving into a complete full-stack framework.**
|
|
303
290
|
|
|
291
|
+
```jsx
|
|
292
|
+
// Future: Complete React ecosystem support
|
|
293
|
+
import { useState } from 'react';
|
|
294
|
+
import { useQuery } from 'bertui-query'; // Coming Q1 2025
|
|
295
|
+
import { motion } from 'bertui-animation'; // Coming Q2 2025
|
|
296
|
+
import { Database } from 'bertui-db'; // Coming Q2 2025
|
|
297
|
+
|
|
298
|
+
function App() {
|
|
299
|
+
const { data } = useQuery('/api/users');
|
|
300
|
+
|
|
301
|
+
return (
|
|
302
|
+
<motion.div animate={{ opacity: 1 }}>
|
|
303
|
+
<Database.Table data={data} />
|
|
304
|
+
</motion.div>
|
|
305
|
+
);
|
|
306
|
+
}
|
|
304
307
|
```
|
|
305
|
-
β
src/images/ β Served at /images/* (component images)
|
|
306
|
-
β
public/ β Served at /* (global assets like favicon)
|
|
307
308
|
|
|
308
|
-
|
|
309
|
-
|
|
309
|
+
**What's Coming:**
|
|
310
|
+
- β
Full React Hooks support
|
|
311
|
+
- β
Built-in state management (bertui-store)
|
|
312
|
+
- β
Database ORM (bertui-db)
|
|
313
|
+
- β
Authentication system (bertui-auth)
|
|
314
|
+
- β
Real-time updates (bertui-realtime)
|
|
310
315
|
|
|
311
|
-
**
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
+
**BertUI will be the ONLY framework where every package is:**
|
|
317
|
+
1. Rewritten in Zig/C++ for maximum speed
|
|
318
|
+
2. Perfectly integrated with the core
|
|
319
|
+
3. Zero-config out of the box
|
|
320
|
+
4. TypeScript-native
|
|
321
|
+
|
|
322
|
+
---
|
|
316
323
|
|
|
317
|
-
|
|
318
|
-
|
|
324
|
+
## π₯ Why BertUI is Different
|
|
325
|
+
|
|
326
|
+
### **Other Frameworks:**
|
|
327
|
+
```
|
|
328
|
+
React App
|
|
329
|
+
β
|
|
330
|
+
Uses: axios (JavaScript)
|
|
331
|
+
Uses: lucide-react (JavaScript)
|
|
332
|
+
Uses: framer-motion (JavaScript)
|
|
333
|
+
Uses: random npm packages (pray they work)
|
|
334
|
+
|
|
335
|
+
Result: Slow, bloated, compatibility issues
|
|
336
|
+
```
|
|
337
|
+
|
|
338
|
+
### **BertUI:**
|
|
339
|
+
```
|
|
340
|
+
BertUI App
|
|
341
|
+
β
|
|
342
|
+
Uses: bertui-axios (C++)
|
|
343
|
+
Uses: bertui-icons (Zig)
|
|
344
|
+
Uses: bertui-animation (WebGL)
|
|
345
|
+
Uses: ONLY blessed packages (tested, fast)
|
|
346
|
+
|
|
347
|
+
Result: Fast, lightweight, guaranteed compatibility
|
|
319
348
|
```
|
|
320
349
|
|
|
321
350
|
---
|
|
322
351
|
|
|
323
|
-
##
|
|
352
|
+
## π File-Based Routing (Zero Config)
|
|
324
353
|
|
|
325
|
-
|
|
354
|
+
**The routing you deserve. No setup required.**
|
|
326
355
|
|
|
327
|
-
|
|
328
|
-
|--------|--------|---------|------|
|
|
329
|
-
| Dev Server Start | **494ms** | 2.1s | 713ms |
|
|
330
|
-
| Production Build | **265ms** | 8.4s | 4.7s |
|
|
331
|
-
| SSG Per Route | **~80ms** | ~200ms | N/A |
|
|
332
|
-
| Bundle Size | **100KB** | 280KB | 220KB |
|
|
333
|
-
| **SSG Support** | **β
YES** | β
YES | **β NO** |
|
|
356
|
+
### Basic Routes
|
|
334
357
|
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
358
|
+
```
|
|
359
|
+
src/pages/index.jsx β /
|
|
360
|
+
src/pages/about.jsx β /about
|
|
361
|
+
src/pages/contact.jsx β /contact
|
|
362
|
+
src/pages/blog/index.jsx β /blog
|
|
363
|
+
src/pages/blog/post.jsx β /blog/post
|
|
364
|
+
```
|
|
339
365
|
|
|
340
|
-
|
|
341
|
-
But the real win? **Flow state.** When tools respond instantly, you stay focused and ship faster.
|
|
366
|
+
### Dynamic Routes
|
|
342
367
|
|
|
343
|
-
|
|
368
|
+
```
|
|
369
|
+
src/pages/user/[id].jsx β /user/:id
|
|
370
|
+
src/pages/blog/[slug].jsx β /blog/:slug
|
|
371
|
+
src/pages/shop/[category]/[item].jsx β /shop/:category/:item
|
|
372
|
+
```
|
|
344
373
|
|
|
345
|
-
|
|
374
|
+
**Example:**
|
|
375
|
+
```jsx
|
|
376
|
+
// src/pages/user/[id].jsx
|
|
346
377
|
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
378
|
+
export default function UserProfile({ params }) {
|
|
379
|
+
const userId = params.id;
|
|
380
|
+
|
|
381
|
+
return (
|
|
382
|
+
<div>
|
|
383
|
+
<h1>User Profile</h1>
|
|
384
|
+
<p>Viewing user: {userId}</p>
|
|
385
|
+
</div>
|
|
386
|
+
);
|
|
387
|
+
}
|
|
388
|
+
```
|
|
355
389
|
|
|
356
|
-
|
|
357
|
-
- π **Perfect SEO** - Server Islands generate static HTML
|
|
358
|
-
- π
**CSS Optimization** - Single minified CSS file with LightningCSS
|
|
359
|
-
- π **Error Overlay** - Full-screen error messages with stack traces
|
|
360
|
-
- π **Build Analytics** - Detailed build reports
|
|
361
|
-
- π¨ **Modern CSS** - Support for nesting, variables, and modern features
|
|
390
|
+
---
|
|
362
391
|
|
|
363
|
-
|
|
392
|
+
## ποΈ Server Islands: The Secret Weapon
|
|
364
393
|
|
|
365
|
-
|
|
366
|
-
|-----------|-------------|--------------|
|
|
367
|
-
| **BertUI** | **4** | **~14MB** |
|
|
368
|
-
| Vite + React | 15+ | ~50MB |
|
|
369
|
-
| Next.js | 50+ | ~200MB |
|
|
370
|
-
| Gatsby | 100+ | ~500MB |
|
|
394
|
+
### What Problem Do They Solve?
|
|
371
395
|
|
|
372
|
-
**
|
|
396
|
+
**The React Developer's Dilemma:**
|
|
397
|
+
- β Vite = Fast dev, **terrible SEO** (client-only)
|
|
398
|
+
- β Next.js = Good SEO, **slow builds** + complex setup
|
|
399
|
+
- β
**BertUI = Fast dev + Fast builds + Perfect SEO + Zero config**
|
|
373
400
|
|
|
374
|
-
|
|
401
|
+
### How Server Islands Work
|
|
375
402
|
|
|
376
|
-
|
|
403
|
+
```jsx
|
|
404
|
+
// src/pages/about.jsx
|
|
377
405
|
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
406
|
+
// ποΈ Add ONE line to enable Server Islands
|
|
407
|
+
export const render = "server";
|
|
408
|
+
|
|
409
|
+
// π― Optional: Add metadata for SEO
|
|
410
|
+
export const meta = {
|
|
411
|
+
title: "About Us - Best Company Ever",
|
|
412
|
+
description: "Learn about our amazing team and mission",
|
|
413
|
+
keywords: "about, company, team"
|
|
414
|
+
};
|
|
415
|
+
|
|
416
|
+
// βοΈ Write normal React components
|
|
417
|
+
export default function About() {
|
|
418
|
+
return (
|
|
419
|
+
<div>
|
|
420
|
+
<h1>About Us</h1>
|
|
421
|
+
<p>Pre-rendered as static HTML at build time!</p>
|
|
422
|
+
</div>
|
|
423
|
+
);
|
|
424
|
+
}
|
|
381
425
|
```
|
|
382
426
|
|
|
383
|
-
|
|
384
|
-
```
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
427
|
+
**What happens at build time:**
|
|
428
|
+
```html
|
|
429
|
+
<!-- dist/about/index.html - Generated automatically! -->
|
|
430
|
+
<!DOCTYPE html>
|
|
431
|
+
<html>
|
|
432
|
+
<head>
|
|
433
|
+
<title>About Us - Best Company Ever</title>
|
|
434
|
+
<meta name="description" content="Learn about our amazing team...">
|
|
435
|
+
</head>
|
|
436
|
+
<body>
|
|
437
|
+
<div id="root">
|
|
438
|
+
<!-- β‘ Full HTML content here! Search engines see everything! -->
|
|
439
|
+
<div>
|
|
440
|
+
<h1>About Us</h1>
|
|
441
|
+
<p>Pre-rendered as static HTML at build time!</p>
|
|
442
|
+
</div>
|
|
443
|
+
</div>
|
|
444
|
+
<script src="/bundle.js"></script>
|
|
445
|
+
</body>
|
|
446
|
+
</html>
|
|
388
447
|
```
|
|
389
448
|
|
|
449
|
+
**[Complete Server Islands guide β](https://bertui-docswebsite.vercel.app/server-islands)**
|
|
450
|
+
|
|
390
451
|
---
|
|
391
452
|
|
|
392
|
-
##
|
|
453
|
+
## π Our Philosophy
|
|
393
454
|
|
|
394
|
-
###
|
|
455
|
+
### The BertUI Mission
|
|
395
456
|
|
|
396
|
-
|
|
397
|
-
- **Content Sites** - Landing pages, blogs, docs (with Server Islands)
|
|
398
|
-
- **Hybrid Apps** - Mix static pages (Server Islands) with interactive apps
|
|
399
|
-
- **Multiple Projects** - Create new projects frequently (7x faster scaffolding)
|
|
400
|
-
- **Fast CI/CD** - Need quick builds in pipelines (18x faster than Vite)
|
|
401
|
-
- **Bun Users** - Already using or willing to try Bun
|
|
457
|
+
**"Don't settle for slow JavaScript implementations when faster alternatives exist."**
|
|
402
458
|
|
|
403
|
-
|
|
459
|
+
We're not just building a React framework. We're building a complete ecosystem where:
|
|
404
460
|
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
- **Need TypeScript** - We're JavaScript-first by design (see Philosophy below)
|
|
461
|
+
1. **Every tool is rewritten for speed** (Zig, C++, WebGL)
|
|
462
|
+
2. **Zero configuration is non-negotiable** (it just works)
|
|
463
|
+
3. **Performance is the default** (not an afterthought)
|
|
464
|
+
4. **Developer experience is paramount** (beautiful errors, instant feedback)
|
|
410
465
|
|
|
411
|
-
|
|
412
|
-
If that's what you need, you'll love it. If not, use the right tool.
|
|
466
|
+
### Why We're Exclusive
|
|
413
467
|
|
|
414
|
-
|
|
468
|
+
**BertUI packages only work with BertUI.** Here's why that's a feature, not a bug:
|
|
415
469
|
|
|
416
|
-
|
|
470
|
+
β
**Perfect Integration** - No compatibility issues, ever
|
|
471
|
+
β
**Optimized Performance** - Built specifically for BertUI's architecture
|
|
472
|
+
β
**Unified DX** - Consistent APIs, patterns, and conventions
|
|
473
|
+
β
**Guaranteed Support** - We test and maintain everything
|
|
474
|
+
β
**No Bloat** - Only what you need, perfectly tuned
|
|
417
475
|
|
|
418
|
-
**
|
|
476
|
+
**Other frameworks try to support everything and end up slow.**
|
|
477
|
+
**BertUI supports the best and makes it blazing fast.**
|
|
419
478
|
|
|
420
|
-
|
|
479
|
+
---
|
|
421
480
|
|
|
422
|
-
|
|
423
|
-
- We believe in keeping tools simple and focused
|
|
424
|
-
- TypeScript adds complexity that goes against "zero config, just code"
|
|
425
|
-
- JavaScript is powerful, universal, and requires no compilation step
|
|
426
|
-
- We want to eliminate barriers, not add them
|
|
481
|
+
## π Production Deployment
|
|
427
482
|
|
|
428
|
-
|
|
483
|
+
### Supported Platforms (All Zero Config)
|
|
429
484
|
|
|
430
|
-
|
|
431
|
-
|
|
485
|
+
- β
**Vercel** - Recommended, includes pre-configured `vercel.json`
|
|
486
|
+
- β
**Netlify** - Works out of the box
|
|
487
|
+
- β
**Cloudflare Pages** - Instant edge deploys
|
|
488
|
+
- β
**GitHub Pages** - Free static hosting
|
|
489
|
+
- β
**Any static host** - Nginx, Apache, S3, Firebase, Surge, etc.
|
|
432
490
|
|
|
433
|
-
|
|
491
|
+
### Vercel Deployment (Fastest)
|
|
434
492
|
|
|
435
|
-
|
|
493
|
+
```bash
|
|
494
|
+
# 1. Push to GitHub
|
|
495
|
+
# 2. Import to Vercel
|
|
496
|
+
# 3. Deploy
|
|
436
497
|
|
|
437
|
-
|
|
438
|
-
- β
Vercel (zero config with included `vercel.json`)
|
|
439
|
-
- β
Netlify (works out of the box)
|
|
440
|
-
- β
Cloudflare Pages (instant deploys)
|
|
441
|
-
- β
Any static host (Nginx, Apache, S3, etc.)
|
|
442
|
-
|
|
443
|
-
### Vercel Deployment (Recommended)
|
|
444
|
-
|
|
445
|
-
Your project includes a pre-configured `vercel.json`:
|
|
446
|
-
|
|
447
|
-
```json
|
|
448
|
-
{
|
|
449
|
-
"buildCommand": "bun run build",
|
|
450
|
-
"outputDirectory": "dist",
|
|
451
|
-
"framework": null,
|
|
452
|
-
"rewrites": [
|
|
453
|
-
{
|
|
454
|
-
"source": "/(.*)",
|
|
455
|
-
"destination": "/index.html"
|
|
456
|
-
}
|
|
457
|
-
]
|
|
458
|
-
}
|
|
498
|
+
# Done! Your site is live. π
|
|
459
499
|
```
|
|
460
500
|
|
|
461
|
-
**Deployment steps:**
|
|
462
|
-
1. Push to GitHub
|
|
463
|
-
2. Import to Vercel
|
|
464
|
-
3. Deploy (auto-detects config)
|
|
465
|
-
4. Done! π
|
|
466
|
-
|
|
467
501
|
**[Complete deployment guide β](https://bertui-docswebsite.vercel.app/deployment)**
|
|
468
502
|
|
|
469
|
-
### Live Sites Using BertUI
|
|
470
|
-
- [BertUI Docs](https://bertui-docswebsite.vercel.app/) - The site you're reading
|
|
471
|
-
|
|
472
503
|
---
|
|
473
504
|
|
|
474
505
|
## π Documentation & Resources
|
|
475
506
|
|
|
476
|
-
|
|
507
|
+
### Official Docs
|
|
508
|
+
- **Homepage:** https://bertui-docswebsite.vercel.app/
|
|
477
509
|
- **Getting Started:** https://bertui-docswebsite.vercel.app/getstarted
|
|
478
510
|
- **Server Islands Guide:** https://bertui-docswebsite.vercel.app/server-islands
|
|
479
|
-
- **
|
|
511
|
+
- **BertUI Icons:** https://github.com/BunElysiaReact/bertui-icons
|
|
512
|
+
- **Deployment Guide:** https://bertui-docswebsite.vercel.app/deployment
|
|
513
|
+
|
|
514
|
+
### Community
|
|
480
515
|
- **GitHub:** https://github.com/BunElysiaReact/BERTUI
|
|
481
|
-
- **NPM:** https://www.npmjs.com/package/bertui
|
|
482
|
-
- **Discord:** https://discord.gg/kvbXfkJG
|
|
483
516
|
- **Issues:** https://github.com/BunElysiaReact/BERTUI/issues
|
|
517
|
+
- **Discussions:** https://github.com/BunElysiaReact/BERTUI/discussions
|
|
484
518
|
|
|
485
519
|
---
|
|
486
520
|
|
|
487
|
-
##
|
|
488
|
-
|
|
489
|
-
1. **Quick Start** (5 min)
|
|
490
|
-
- Run `bunx create-bertui my-app`
|
|
491
|
-
- Explore the generated files
|
|
492
|
-
- Start dev server with `bun run dev`
|
|
493
|
-
|
|
494
|
-
2. **File-Based Routing** (10 min)
|
|
495
|
-
- Create `src/pages/about.jsx`
|
|
496
|
-
- Add dynamic route `src/pages/blog/[slug].jsx`
|
|
497
|
-
- Test navigation with `Link` component
|
|
521
|
+
## π οΈ Commands Reference
|
|
498
522
|
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
- View page source to see pre-rendered content
|
|
523
|
+
```bash
|
|
524
|
+
# Development
|
|
525
|
+
bun run dev # Start dev server (494ms startup)
|
|
503
526
|
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
- Celebrate your blazing-fast site! π
|
|
527
|
+
# Production
|
|
528
|
+
bun run build # Build for production (265ms builds)
|
|
529
|
+
bun run preview # Preview production build
|
|
508
530
|
|
|
509
|
-
|
|
531
|
+
# Project Creation
|
|
532
|
+
bunx create-bertui my-app # Create new BertUI app
|
|
533
|
+
```
|
|
510
534
|
|
|
511
535
|
---
|
|
512
536
|
|
|
513
|
-
##
|
|
537
|
+
## π The Future is Fast
|
|
514
538
|
|
|
515
|
-
|
|
539
|
+
**BertUI isn't just another React framework.**
|
|
516
540
|
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
541
|
+
It's a **complete reimagining** of what web development should be:
|
|
542
|
+
- β‘ **Native-speed libraries** (Zig, C++, WebGL)
|
|
543
|
+
- π― **Zero-config everything** (it just works)
|
|
544
|
+
- ποΈ **Perfect SEO** (Server Islands)
|
|
545
|
+
- π¦ **Tiny bundles** (sub-100KB apps)
|
|
546
|
+
- π₯ **Instant feedback** (30ms HMR)
|
|
521
547
|
|
|
522
|
-
|
|
523
|
-
bun install
|
|
548
|
+
**Join us in building the fastest web framework ever created.**
|
|
524
549
|
|
|
525
|
-
|
|
550
|
+
```bash
|
|
551
|
+
bunx create-bertui my-app
|
|
552
|
+
cd my-app
|
|
526
553
|
bun run dev
|
|
527
554
|
|
|
528
|
-
#
|
|
529
|
-
# Run tests
|
|
530
|
-
bun test
|
|
531
|
-
|
|
532
|
-
# Submit PR
|
|
555
|
+
# Welcome to the future. β‘
|
|
533
556
|
```
|
|
534
557
|
|
|
535
|
-
**Areas we need help:**
|
|
536
|
-
- Documentation improvements
|
|
537
|
-
- Bug fixes
|
|
538
|
-
- Performance optimizations
|
|
539
|
-
- Example projects
|
|
540
|
-
- Migration tools
|
|
541
|
-
|
|
542
558
|
---
|
|
543
559
|
|
|
544
|
-
##
|
|
545
|
-
|
|
546
|
-
|
|
560
|
+
## π Comparison Table
|
|
561
|
+
|
|
562
|
+
| Feature | BertUI | Next.js | Vite | Remix |
|
|
563
|
+
|---------|--------|---------|------|-------|
|
|
564
|
+
| **Dev Server** | 494ms | 2.1s | 713ms | 1.8s |
|
|
565
|
+
| **Production Build** | 265ms | 8.4s | 4.7s | 6.2s |
|
|
566
|
+
| **Bundle Size** | 100KB | 280KB | 220KB | 250KB |
|
|
567
|
+
| **HMR Speed** | 30ms | 120ms | 85ms | 110ms |
|
|
568
|
+
| **Server Islands** | β
Built-in | β No | β No | β
Complex |
|
|
569
|
+
| **Auto SEO Files** | β
Yes | β οΈ Manual | β No | β οΈ Manual |
|
|
570
|
+
| **TypeScript DX** | β
Zero config | β
Config needed | β
Config needed | β
Config needed |
|
|
571
|
+
| **Icon Library** | β‘ 10x faster | Standard | Standard | Standard |
|
|
572
|
+
| **File-based Routing** | β
Built-in | β
Built-in | β Plugin | β
Built-in |
|
|
573
|
+
| **Native Libraries** | β
Zig/C++ | β No | β No | β No |
|
|
547
574
|
|
|
548
575
|
---
|
|
549
576
|
|
|
550
|
-
##
|
|
577
|
+
## π Premium Features Coming Soon
|
|
551
578
|
|
|
552
|
-
**
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
**
|
|
556
|
-
-
|
|
557
|
-
-
|
|
558
|
-
- Our early adopters who gave critical feedback
|
|
559
|
-
- Everyone who believed in BertUI when it was "just Cool Vite"
|
|
560
|
-
|
|
561
|
-
**v1.1.0 is dedicated to everyone who said we needed better SEO.**
|
|
562
|
-
You were right. Server Islands is for you. ποΈ
|
|
579
|
+
- π¨ **BertUI Studio** - Visual page builder
|
|
580
|
+
- π **BertUI Auth** - Authentication out of the box
|
|
581
|
+
- πΎ **BertUI DB** - Type-safe ORM
|
|
582
|
+
- π **BertUI Analytics** - Built-in analytics
|
|
583
|
+
- π **BertUI i18n** - Internationalization
|
|
584
|
+
- π― **BertUI SEO** - Advanced SEO tools
|
|
563
585
|
|
|
564
586
|
---
|
|
565
587
|
|
|
566
|
-
##
|
|
567
|
-
|
|
568
|
-
**v0.1.0 (Nov 26, 2025)** - First release. Fast, but client-only.
|
|
569
|
-
**v1.0.0 (Dec 17, 2025)** - Stable foundation after 35 beta versions.
|
|
570
|
-
**v1.1.0 (Dec 23, 2025)** - Server Islands. Everything changed.
|
|
588
|
+
## β Star Us on GitHub
|
|
571
589
|
|
|
572
|
-
|
|
590
|
+
If BertUI makes your development faster, **give us a star!** β
|
|
573
591
|
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
**We're BertUI - the framework with Bun speed AND perfect SEO.**
|
|
592
|
+
**[github.com/BunElysiaReact/BERTUI](https://github.com/BunElysiaReact/BERTUI)**
|
|
577
593
|
|
|
578
594
|
---
|
|
579
595
|
|
|
580
|
-
##
|
|
581
|
-
|
|
582
|
-
**Q: Is BertUI production-ready?**
|
|
583
|
-
A: Yes! v1.0.0+ is stable and production-ready. Live sites are using it.
|
|
584
|
-
|
|
585
|
-
**Q: Do I need to use Server Islands?**
|
|
586
|
-
A: No! They're optional. Use them for SEO-critical pages, skip them for interactive apps.
|
|
587
|
-
|
|
588
|
-
**Q: Can I migrate from Vite/CRA/Next.js?**
|
|
589
|
-
A: Yes! Use `bunx migrate-bertui` for automated migration with backups.
|
|
590
|
-
|
|
591
|
-
**Q: Does BertUI require a server?**
|
|
592
|
-
A: No! Server Islands generate static HTML at build time. Deploy anywhere.
|
|
593
|
-
|
|
594
|
-
**Q: What about TypeScript?**
|
|
595
|
-
A: BertUI is JavaScript-first. We don't plan `.tsx` support. Use Next.js if you need TS.
|
|
596
|
-
|
|
597
|
-
**Q: How do Server Islands compare to Next.js SSG?**
|
|
598
|
-
A: Server Islands are simpler (one line vs complex config) and faster (265ms vs 8s builds).
|
|
599
|
-
|
|
600
|
-
**Q: Can I use Server Islands with dynamic routes?**
|
|
601
|
-
A: Not yet. Coming in a future release.
|
|
596
|
+
## π License
|
|
602
597
|
|
|
603
|
-
|
|
604
|
-
A: Use Next.js or Remix. BertUI focuses on static-first with optional SSG.
|
|
598
|
+
MIT License - see [LICENSE](LICENSE) for details
|
|
605
599
|
|
|
606
600
|
---
|
|
607
601
|
|
|
608
|
-
##
|
|
609
|
-
|
|
610
|
-
```bash
|
|
611
|
-
bunx create-bertui my-app
|
|
612
|
-
cd my-app
|
|
613
|
-
bun run dev
|
|
614
|
-
```
|
|
602
|
+
## π Credits
|
|
615
603
|
|
|
616
|
-
|
|
604
|
+
- Built with [Bun](https://bun.sh/) - The fastest JavaScript runtime
|
|
605
|
+
- Powered by [Elysia](https://elysiajs.com/) - Lightning-fast HTTP framework
|
|
606
|
+
- Icons by [Lucide](https://lucide.dev/) - Beautiful open-source icons
|
|
607
|
+
- Optimized with [Zig](https://ziglang.org/) - Low-level performance
|
|
617
608
|
|
|
618
609
|
---
|
|
619
610
|
|
|
620
|
-
**
|
|
621
|
-
**Want to understand Server Islands?** [Read the guide.](https://bertui-docswebsite.vercel.app/server-islands)
|
|
622
|
-
**Need help?** [Join our Discord.](https://discord.gg/kvbXfkJG)
|
|
611
|
+
**Made with β‘ by the BertUI team**
|
|
623
612
|
|
|
624
|
-
|
|
613
|
+
*"Speed is not a feature. It's the foundation."*
|