emacs-eaf / emacs-application-framework

EAF, an extensible framework that revolutionizes the graphical capabilities of Emacs
GNU General Public License v3.0
3.1k stars 235 forks source link

Add support for the `iced` toolkit. #1139

Open appetrosyan opened 9 months ago

appetrosyan commented 9 months ago

Is your feature request related to a problem?

No.

Introduction

The iced.rs toolkit is a stand-alone cross-platform statically linked graphical toolkit that allows one to produce a well-performing graphical application in Rust.

It doesn't have any dynamical dependencies, thus allowing Emacs to be compiled portably.

Potential solution

One easy way is to embed these applications as native WASM modules. This would give us better performance than either Vue or PyQt applications, and a much lower power draw for the Android port.

At a later stage, we might figure out a way to run these applications directly exposing the window, and allowing direct access to the underlying canvas.

Alternatives

Just don't.

This is not exactly necessary, but it would benfit the EAF significantly in the long run, given the popularity of Rust, and ease of development compared to PyQt, GTK and Vue.