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

UI library like Jasonelle #42

Closed
dumblob opened this issue Nov 3, 2020 · 1 comment
Closed

UI library like Jasonelle #42

dumblob opened this issue Nov 3, 2020 · 1 comment
Labels
enhancement New feature or request library Issues related to the standard library ui Issues related to the UI

Comments

@dumblob
Copy link

dumblob commented Nov 3, 2020

Is your feature request related to a problem? Please describe.

No. Well, yes, kinda. Arturo wants to have UI, so here are some bits for the puzzle 😉.

Describe the solution you'd like

Have a UI library which works top-down (more like "sculpting" - i.e. first something rough and later the details) and not bottom-up (e.g. VID dialect of Red/Rebol).

Maybe Jasonelle (and subsequently Jasonette) could be a good source of inspiration.

Describe alternatives you've considered

Mostly-immediate-mode libraries (Nuklear, ImGui, Quarks, microui, ...), mostly-retained-mode libraries (99% of currently existing GUI libraries), streaming libraries (Flyd, S), etc. See also this whole thread.

This top-down approach shall allow for later fine-grained improvement.

Additional context

Shall be built around "everything live" principle (i.e. streams/reactivity). Otherwise it'll become yet another boring verbose complicated library.

For stuff Jasonelle-approach can't (or shouldn't) express I'd recommend trying SRP (synchronous reactive programming) rather then FRP (functional reactive programming) due to much lower complexity, much lower verbosity and generally simpler structure making it easier to reason about.

@drkameleon
Copy link
Collaborator

drkameleon commented Nov 3, 2020

@dumblob

Well, before even reading the whole question, let me tell you: you are absolutely reading my mind. (Now I can keep reading what you wrote lol)


EDIT:

I'll definitely have a look into what you mention. I already have different ideas in mind, and I think - the way Arturo is written - they will come quite nicely together.

My main focus of research right now is not the semantics or the general idea... but a UI library to use as some sort of basis. Preferably one being portable, and with a native look'n'feel.

The one I find most interesting is definitely libui. It's in C, the controls look fine (basically, the UI is native) and there is already a port to Nim.

Another idea - which I'm already working on in parallel - is the option to build a web-based application. Think of ElectronJS/Flutter/etc, but much more lightweight and easy to set up (perhaps, that was one of my first inspirations before starting Arturo: something that can be easily portable to the different platforms, but without the fuss it is to use any of the existing "solutions")

Ah, and preferably in ONE language, not 10 different ones...

In short: anything relevant (or not) you can suggest is more than welcome! :)

@drkameleon drkameleon added enhancement New feature or request library Issues related to the standard library ui Issues related to the UI labels Nov 3, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request library Issues related to the standard library ui Issues related to the UI
Projects
None yet
Development

No branches or pull requests

2 participants