What is XFrames?
XFrames is a high-performance framework for building native desktop applications with minimal overhead. Designed for developers who want to leverage the power of languages like JavaScript, Python, Lua, OCaml, and more, XFrames allows you to create applications without the usual resource-intensive web technologies like DOM, CSS, or Electron. By utilizing OpenGL and GLFW3 on native platforms or WebAssembly and WebGPU in the browser, XFrames provides fine-grained control over performance and memory usage.
Getting Started
The requirements will depend on which programming language you wish to use with XFrames.
So far, XFrames has been tested with the following languages/platforms:
- JavaScript/TypeScript
- WebAssembly
- Free Pascal
- Delphi
- Python
- Julia
- Lua
- OCaml
- C#
- F#
- Rust
- Ada
- D
- Crystal
- Ruby
- Nim
- Zig
- Haskell
- Racket
- Gnu Step
- Gnu Smalltalk
- Swift
- Java
- Kotlin
- Scala
JavaScript / TypeScript (Node.js)
Generate a new Node.js desktop application
npx create-xframes-node-app
You can type this command into Command Prompt, Powershell, Terminal, or any other integrated terminal of your code editor.
The command also installs all necessary dependencies you need to run your XFrames app.
Enter a project name, cd into the newly created project folder then run
npm start
WebAssembly
Generate a new WASM-enabled, Webpack-based web application
Detailed instructions are coming soon! Meanwhile, please refer to this example.
Python
Instructions coming soon! There might be details in the project's README file.
Rust
Instructions coming soon! There might be details in the project's README file.
Julia
Instructions coming soon! There might be details in the project's README file.
Zig
Instructions coming soon! There might be details in the project's README file.
Swift
Instructions coming soon! There might be details in the project's README file.
Gnu Step
Instructions coming soon! There might be details in the project's README file.
Gnu Smalltalk
Instructions coming soon! There might be details in the project's README file.
Nim
Instructions coming soon! There might be details in the project's README file.
Lua
Instructions coming soon! There might be details in the project's README file.
Free Pascal
Instructions coming soon! There might be details in the project's README file.
Delphi
Instructions coming soon! There might be details in the project's README file.
OCaml
Instructions coming soon! There might be details in the project's README file.
C#
Instructions coming soon! There might be details in the project's README file.
F#
Instructions coming soon! There might be details in the project's README file.
Ada
Instructions coming soon! There might be details in the project's README file.
D
Instructions coming soon! There might be details in the project's README file.
Racket
Instructions coming soon! There might be details in the project's README file.
Haskell
Instructions coming soon! There might be details in the project's README file.
Crystal
Instructions coming soon! There might be details in the project's README file.
Java
Instructions coming soon! There might be details in the project's README file.
Kotlin
Instructions coming soon! There might be details in the project's README file.
Scala
Instructions coming soon! There might be details in the project's README file.