Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Project roadmap #5

Open
clayrisser opened this issue Sep 26, 2017 · 17 comments
Open

Project roadmap #5

clayrisser opened this issue Sep 26, 2017 · 17 comments

Comments

@clayrisser
Copy link
Owner

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

@romgrk
Copy link

romgrk commented Aug 9, 2018

Hey! Is this project stil active?

@clayrisser
Copy link
Owner Author

It is 👍

@clayrisser
Copy link
Owner Author

Feel free to make any contributions or suggestions

@clayrisser
Copy link
Owner Author

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
Copy link

romgrk commented Aug 9, 2018

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
Copy link
Owner Author

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
Copy link
Owner Author

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
Copy link
Owner Author

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

@romgrk
Copy link

romgrk commented Aug 9, 2018

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:

  • Has 95% (estimate) the same API as node-gir, no cost to switching
  • Supports container datatypes: Lists, Arrays, HashTables
  • Supports OUT arguments & multiple return values (important for functions like gtk_widget_get_size_request)
  • Supports structs & unions (node-gir support is experimental)
  • More extensive test suite
  • Pre-built binaries available for linux/osx, users don't need to compile anything
  • Memory management actually works (node-gir is littered of leaks, no way it's production ready anytime soon)
  • Supports the whole gnome ecosystem as well, not just Gtk

Let me know if you're interested.

@clayrisser
Copy link
Owner Author

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

@clayrisser
Copy link
Owner Author

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

@clayrisser
Copy link
Owner Author

I just need to know how it works :)

@clayrisser
Copy link
Owner Author

This project is now using node-gtk

@ozra
Copy link

ozra commented Apr 10, 2019

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:

  • text input field for the fuzzy-filtering input
  • possibility of making a scrollable list of items with text-label
  • navigating the list with arrow keys
  • obviously also catch clicks: selecting item by mouse

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

@clayrisser
Copy link
Owner Author

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
Copy link
Owner Author

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

@clayrisser
Copy link
Owner Author

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants