OS hacking: Let's load GUI's at runtime from JSON

preview_player
Показать описание

Рекомендации по теме
Комментарии
Автор

Immediate thought as a guy that dislikes most GUI frameworks out there, it would be great if we don't repeat the odd disconnect between the UI and the code that most other GUI frameworks have (I'm specifically talking about registering actions in registries and such).
And I _do_ have a reason for this!
While doing so might make things seem simple from the declarative json world, it tends to make the API very unusable in the long run.

describing _just_ the UI composition in json is an awesome idea though!

cxboog
Автор

Great new feature :) Having the option to move the GUI layout to a seperate file removes a lot of boilerplate clutter from the C++ in my opinion

PreyMa
Автор

this structure reminds me of React! Nice feature

sammmba
Автор

Coming up next is ReactNative for SerenityOS ;)

DmitriyKubyshkin
Автор

15:05
Seems like _someone_ doesn't remember (cross_out "/know about") `R"()"`~

cxboog
Автор

I can't recall what it's called but there was some app years ago that used a simple plain text format to describe GTK. It allowed you to create GUIs in basically any language because you could at worst wrap the app in a shell script and pipe the output of the application building the UI into this tool. I believe it also had a way to communicate events over stdout (of this tool) so that app could interact with the created UI.

Unrelated but related to GUI work... Joe Armstrong of Erlang fame had talked about his ideas of building an actor based UI framework where all widgets are actors and the hierarchy was mimicked in some fashion with the actor hierarchy as you find in Erlang. Everything concurrent and async. Sending messages to one another. A much nicer design vs the wxwidgets integration they have which is basically just an extension of the C++ interface.

spawnlink
Автор

Nice, it looks a lot like Serenity QML.

matheusc
Автор

What happened to your "bogi" computer? :)

TheKittko
Автор

Andreas, I'm taking some source code in SerenityOS for my own hobby OS, but it is licensed under GPLv2. I don't know anything about licensed. Please help me

yeppiidev
Автор

it was a bit painful to see you miss the \ in the raw string in text-to-cpp-string.sh near the end. we all have those days, cool video otherwise. keep up the good work.

ricknaam
Автор

lol so painful watching you miss that little escape slash over and over again.

lithium
Автор

Great job, make a tutorial for beginners OS development please

luandkg
Автор

JSON for storing GUI data. what? that's crazy, why not use XML?

newtechandcoding
Автор

JSON... pfft... millenials and their fads... What's wrong with good ol' XML?! KappaHD

thegabriel
join shbcf.ru