gtkx README

The project's README from github.com/gtkx-org/gtkx. As one markdown file: README.md.

GTKX

GTKX

The React framework for Linux
Build native apps with React, TypeScript, and Adwaita widgets.

npm version npm downloads Node >= 26.7 License: MPL-2.0 CI status TypeScript

Homepage · Documentation · Examples · Contributing · Sponsor

Start an app

This branch develops GTKX 2.0, currently in beta. The stable release is scheduled for 1 December 2026. For the current stable release, use the 1.x documentation.

You need Linux, Node.js 26.7 or later, GTK 4.20 or later, libadwaita 1.8 or later, and the native development libraries. Follow Getting Started to install and check them before scaffolding:

npm create gtkx@beta my-app
cd my-app
npm run dev

The native addon ships prebuilt for x64 and arm64 glibc Linux. Other targets require building it from the repository with Rust.

Build with React

GTKX renders native Adwaita and GTK widgets. Use React state and events to update them, Node.js for filesystem and network access, and npm packages that do not require a browser DOM.

This is a complete entry point in a scaffolded app:

import {
  AdwApplication, AdwApplicationWindow,
  AdwHeaderBar, AdwToolbarView,
} from "@gtkx/jsx/adw";
import { GtkLabel } from "@gtkx/jsx/gtk";
import { createRoot, quit } from "@gtkx/react";

const App = () => (
  <AdwApplication>
    <AdwApplicationWindow title="My App" onCloseRequest={() => quit()}>
      <AdwToolbarView topBar={<AdwHeaderBar />}>
        <GtkLabel>Hello from GTKX</GtkLabel>
      </AdwToolbarView>
    </AdwApplicationWindow>
  </AdwApplication>
);

createRoot().render(<App />);

The CLI generates @gtkx/jsx elements and @gtkx/gi bindings from your configured native libraries. They are local to the app, not installed from npm.

Learn GTKX

The Tasks app: an Adwaita window with a sidebar of smart views and colored lists on the left, and a boxed task list on the right.

The Tasks app you build in the tutorial.

Contribute

See CONTRIBUTING.md for setup and checks, the Code of Conduct, and the security policy. Architecture and maintainer procedures are in the contributor docs.

Support GTKX

Contribute through Open Collective to help cover recurring costs. Our funding plan explains expenses, fees, and the operating reserve.

License

MPL-2.0.

gtkx (gtkx-org/gtkx)

Searching Database…

487 ·GitHub
Что это такое?GTKX — фреймворк для создания нативных десктопных приложений Linux на React и TypeScript, который отрисовывает настоящие виджеты Adwaita и GTK4 вместо интерфейса на базе браузера.
Это обёртка над UI-тулкитом или полноценный рендерер React?GTKX — полноценный React-реконсилер: состояние и события React напрямую управляют нативными виджетами Adwaita/GTK, а для доступа к файловой системе и сети используется Node.js вместо браузерного DOM.
Как запустить приложение?Установите необходимые нативные библиотеки, затем создайте каркас проекта с помощью GTKX CLI, который также генерирует элементы @gtkx/jsx и привязки @gtkx/gi локально для вашего приложения, а не подтягивает их из npm.
Что нужно установить перед началом?Нужны Linux, Node.js 26.7 или новее, GTK 4.20 или новее, libadwaita 1.8 или новее и библиотеки нативной разработки; для целей за пределами предсобранного x64/arm64 glibc Linux также потребуется собрать нативный аддон с помощью Rust.
Готово ли это к использованию в продакшене?Эта ветка — GTKX 2.0, сейчас в бете, стабильный релиз запланирован на 1 декабря 2026 года, так что до этого момента стоит ожидать изменений.
Что такое Adwaita и почему это здесь важно?Adwaita — нативная дизайн-система и набор виджетов GNOME; GTKX отрисовывает настоящие виджеты Adwaita/GTK4, поэтому приложения выглядят и ведут себя как нативное ПО Linux, а не как встроенный просмотр браузера.
Можно ли использовать обычные npm-пакеты с GTKX?Да, подойдёт любой npm-пакет, которому не нужен браузерный DOM, поскольку приложения GTKX работают на Node.js с обычным доступом к файловой системе и сети.
Чему можно научиться из официального туториала?В документации шаг за шагом разбирается создание приложения для задач от начала до конца: формы, навигация, анимация, стилизация, тестирование и упаковка для распространения.
Creator
gtkx-org
Size
75.8 MB
Stars
487
Age
1y
Commits · 90 Days