
dashersw/gea
Developer toolsЭта страница переведена автоматически. Технические детали смотрите в оригинале. Открыть оригинал
dashersw/gea — это кандидат на навык агента, импортированный из https://github.com/dashersw/gea.
Обзор
dashersw/gea — это кандидат на навык агента, импортированный из https://github.com/dashersw/gea.
Обзор (машинный перевод)
Реактивный JavaScript-фреймворк JavaScript-интерфейса с компилятором. Нет виртуального DOM. Преобразования JSX во время компиляции. Хранилища на основе прокси. Хирургическое патчирование DOM. Сборка hello-world продакшн — это 121 B brotli; эквивалентный интерактивный todo содержит 4,9 КБ JavaScript brotli.
Gea компилирует ваш JSX в эффективные шаблоны HTML-строк во время сборки, отслеживает изменения состояния через глубокие прокси и патчет только те узлы DOM, которые действительно зависят от изменённых данных — без диффингов, без накладных расходов на сверку.
Svelte сделал «компиляцируй фреймворк» известным. Gea воспринимает эту фразу буквально: в статичном приложении hello-world runtime фреймворка исчезает из пакета.
Компилировать почти ни к чему
В свежей сборке Vite Hello World Gea отправляет 121 B brotli JavaScript. Эквивалентная Solid сборка — 3,6 кБ, Svelte — 8,5 кБ, Vue — 20,7 кБ, а React — 50,8 кБ.
| Фреймворк | Версия | Raw minified JS | Brotli JS | Brotli против Gea |
|---|---|---|---|---|
| Геа | 1.3.0 | 214 B | 121 B | 1.0x |
| Solid | 1.9.12 | 10 196 B | 3 601 B | 29.8x |
| Svelte | 5.55.5 | 23,461 B | 8,537 B | 70.6x |
| Vue | 3.5.33 | 58 174 B | 20 711 B | 171.2x |
| React | 19.2.5 / React DOM 19.2. |
Эта страница переведена автоматически. Технические детали смотрите в оригинале.
README
Показан фрагмент оригинального README. Открыть оригинал.
Gea
A compiler-first reactive JavaScript UI framework. No virtual DOM. Compile-time JSX transforms. Proxy-based stores. Surgical DOM patching. A hello-world production build is 121 B brotli; an equivalent interactive todo ships 4.9 kb of brotli JavaScript.
Gea compiles your JSX into efficient HTML string templates at build time, tracks state changes through deep proxies, and patches only the DOM nodes that actually depend on the changed data — no diffing, no reconciliation overhead.
Svelte made “compile the framework away” famous. Gea takes the phrase literally: in a static hello-world app, the framework runtime disappears from the bundle.
Compile To Almost Nothing
In a fresh Vite production hello-world build, Gea ships 121 B of brotli JavaScript. The equivalent Solid build ships 3.6 kB, Svelte ships 8.5 kB, Vue ships 20.7 kB, and React ships 50.8 kB.
| Framework | Version | Raw minified JS | Brotli JS | Brotli vs Gea |
|---|---|---|---|---|
| Gea | 1.3.0 | 214 B | 121 B | 1.0x |
| Solid | 1.9.12 | 10,196 B | 3,601 B | 29.8x |
| Svelte | 5.55.5 | 23,461 B | 8,537 B | 70.6x |
| Vue | 3.5.33 | 58,174 B | 20,711 B | 171.2x |
| React | 19.2.5 / React DOM 19.2.5 | 189,717 B | 50,816 B | 420.0x |
Measured from fresh Vite 8.0.10 production apps, summing JavaScript assets only. Gea used the compiled component output; React, Vue, and Svelte used equivalent minimal hello-world components.
Stays Lean When The App Does Work
Hello world proves the compiler can disappear. Todo proves the runtime stays lean when the app actually does something.
In an equivalent interactive todo app with reactive state, input handling, filtering, item updates, and identical CSS, Gea ships 4.9 kB of brotli JavaScript. Solid ships 5.7 kB, Svelte ships 13.7 kB, Vue ships 22.6 kB, and React ships 51.5 kB.
| Framework | Version | Minified JS raw | Minified JS brotli | Total raw JS+CSS | Total brotli JS+CSS |
|---|---|---|---|---|---|
| Gea | 1.3.0 | 15,364 B | 4,896 B | 18,075 B | 5,664 B |
| Solid | 1.9.12 | 16,181 B | 5,721 B | 18,892 B | 6,485 B |
| Svelte | 5.55.5 | 38,812 B | 13,661 B | 41,523 B | 14,429 B |
| Vue | 3.5.33 | 63,676 B | 22,585 B | 66,387 B | 23,411 B |
| React | 19.2.5 / React DOM 19.2.5 | 192,330 B | 51,460 B | 195,041 B | 52,287 B |
Measured from fresh Vite production builds in /tmp/gea-todo-framework-size-compare. CSS was identical across all builds: 2,711 B raw, 746 B brotli.
// counter-store.ts
import { Store } from '@geajs/core'
class CounterStore extends Store {
count = 0
increment() { this.count++ }
decrement() { this.count-- }
}
export default new CounterStore()
Рекомендуемые инструменты
Попробуйте другой запрос или уберите фильтр.
Установка
npx skillfish add dashersw/gea