clayrisser / react-gtk

react Native bridge for gtk desktop applications
https://clayrisser.com
MIT License
308 stars 19 forks source link

Project roadmap #5

Open clayrisser opened 7 years ago

clayrisser commented 7 years ago

This issue is for discussion about a project roadmap. I've had several requests to create one.

romgrk commented 6 years ago

Hey! Is this project stil active?

clayrisser commented 6 years ago

It is :+1:

clayrisser commented 6 years ago

Feel free to make any contributions or suggestions

clayrisser commented 6 years ago

In summary, the goal is to fully implement the gtk api in react. Then another library will be built on top of it that matches the react native api.

romgrk commented 6 years ago

The GTK API is quite huge. Do you plan to implement each Gtk component in ./elements or do you think it's possible to implement general wrappers to make Gtk objects work with react?

For the record, here is a link to a previous react + gtk experiment: https://blogs.gnome.org/desrt/2016/08/17/a-quick-look-at-using-jsx-in-gnome/. I was surprised that a minimal amount of code was required to make a seemingly working experiment. (though I must admit I haven't looked yet at what should be implemented by a react renderer)

Btw, being the maintainer of node-gtk, I'm looking to create a react-gtk based on it. Comparison with node-gir has been discussed already, but basically I think it's a better option. We've also started shipping pre-built binaries, and I hope to have a 1.0 out soon.

clayrisser commented 6 years ago

The ultimate goal would be to build wrappers, but first I would like to implement a minimal set of components to get my architecture nailed out. I havn't done much with this lately, because I was finishing up reaction, a react framework with the goal of rendering anywhere.

I'm almost finished with the 1.0.0 release of reaction, and will be moving on to react-gtk full steam ahead starting in September. The ultimate goal is to include react-gtk in the reaction framework, so it can support native desktop. I would encourage you to go take a look at reaction.

clayrisser commented 6 years ago

I'm planning on using node-gir because I know how node-gir works behind the scenes (I've even contributed to it). It will make it easier for me to debug weird problems that come up. Also, node-gir supports most of the gnome ecosystem, so that's kinda nice.

clayrisser commented 6 years ago

@romgrk, if you're really serious about this project, I would definitely be down to add you as a maintainer of this repo.

romgrk commented 6 years ago

I'm definitely looking to develop a react+gtk project, but I'm not willing to using node-gir. There's certainly the fact that I know how node-gtk works so I can debug weird problems, but overall node-gtk beats node-gir on every aspect.

Reasons for using node-gtk:

Let me know if you're interested.

clayrisser commented 6 years ago

Well, I'm definitely interested in learning more about node-gtk, and why it is better. Could we schedule a jitsi meeting?

clayrisser commented 6 years ago

I'm not opposed to using node-gtk if it truly is better.

clayrisser commented 6 years ago

I just need to know how it works :)

clayrisser commented 5 years ago

This project is now using node-gtk

ozra commented 5 years ago

Sounds great, I've been looking for a gtk-react solution, during work breaks about every month, and still this is the first time I find one — this. Very interested. So what is the roadmap, and maybe more importantly, what's the current status, how usable is it?

My primary use-case wouldn't require much: I'm über-OCD on continuing to optimize my work environment, something I've refined over the last 22 years, at the current stage relying mostly on a core of xmodmap, xbindkeys, devilspie2 and xfce4 (no other desktop has been kind to let me use my own tools like that, they override too much and make it hard to get them out of the way).

But what I've longed for the last few years is having a "sublime menu" interface for basically all desktop/window resizing/moving/placement maneuverings.

So, personally I could probably make good use of react-gtk with only the bare basics of:

Would be great with an overview of current capabilities, API-stability, run-time stability, etc.

clayrisser commented 5 years ago

Honestly, I threw this project together after researching for two years. I'm really counting on the community to help discover what currently works and what doesn't work.

I would recommend that you just dig into this project and start using it. The documentation isn't that great right now, but there's pretty much a 1 to 1 relationship to the official gtk api, so it shouldn't be terrible to figure out.

I am pretty committed to this project, and am anxiously anticipating bug reports, feature requests and pull requests. Any questions you have I will answer.

clayrisser commented 5 years ago

I haven't created a roadmap yet because I'm waiting for more feedback to prioritize things.

clayrisser commented 5 years ago

I should also mention, I'm excited to feature the project you are working on in the README.md. I have more details about that in issue #10