RemObject's Unified GUI Editor

No, but for RemObjects Mercury I am implementing a new Unified GUI system - based on standard WebAssembly that runs native on each platform, Linux, MacOS, Windows, Andoid, iOS.
No JIT. All OAT compiled.

1 Like

Hi Theo, and Welcome!

That’s quite interesting. I’m not really familiar with RemObjects so I did a google search to read up. My favourite programming language is definitely VB.NET so that sounds intriguing!
How far along are you? How is the UI created?

Welcome Theo !

Native widgets everywhere or emulated ?

Thank you.

The GUI is 100% WASM - so: Html 5 + CSS 3 + AOT Wasm code in VB / C# / Java / Pascal / Swift.
Business code: platform native, also in one of the languages above.

I also don’t “get” what RemObjects is, even though I think others have tried to explain. Is the full VB.NET supported? Is it some sort of wrapper that makes it X-Plat somehow? I thought only C#, C++ and F# were X-Plat on .NET…

Ok, so how would that be different than say, Blazor?

Mercury (Remobject VB) is in beta at this stage.
The Unified GUI is also in development - hoping to release the first GA version in 1 / 2 months.

The UI is 100% Ahead Of Time compiled WebAssembly, as I answered to npalardy.
You can load different CSS on the different platforms to create a native looking experience for that platform, although you don’t have to. If you use the same CSS on each platform it will give the same, pixel precise, result on every platform.

Blazor:

  • works with Razor - code in your Html.
  • works only with C#.
  • ships a complete JIT compiler in the WebAssembly, making it bloat.

Unified GUI:

  • works with real Html5 + Css3, all dynamics are in code
  • works with 5 different languages
  • compiles AOT
  • runs the business code native on each platform without JIT

So the UI is not native widgets per platform but ones that can be made to LOOK native via css etc (kind of what Qt does) ?

1 Like

Thank you for clarifying.
With your solution, for server apps, what software is required on the Server? The server requirements for Blazor are what put me off that solution.

What does “native” even mean on a Web App? Aren’t all controls rendered by the browser?

RemObjects: Just another company that builds programming languages.
Yes the full VB .Net is supported. It’s not a wrapper. Mercury has it’s own compiler, that also supports .Net (core) - unsafe has been added to Mercury to open up all X-Plat in .Net core for Mercury too.

But for X-Plat you don’t need .Net. You can also use the native cross platform technologies from RemObjects itself.

well a web app doesnt have “native” in the same way windows mac os or linux would

but I dont do web apps so … :slight_smile:

They are no web apps.
It’s just using Html as GUI (just like electron, although they do it in another way).
And to show how powerful that can be: just look at Microsoft Teams and Visual Studio Code.

Hint about .Net: For real X-Plat, Microsoft doesn’t use it’s own technologies.

both of which do not behave “correctly” on macOS
they have little tells that they arent fully native apps

1 Like

So, excuse my ignorance, but I would consider Electron apps “Web Apps” or anything that renders in a browser to be a Web App. Are you saying the compiled app doesn’t render in a browser?

I guess if it’s not rendered in a browser, does it support server apps?

Native GUI: how it looks (in windows: whatever, I don’t know what the native look is; user32? Metro? WinUI? …)
native code: code that runs without translation - using the official API’s of the platform.

Yes, the GUI is rendered in a browser.
Just like electron.
Just like UNO.
Just like Blazor.

As well as how the controls operate. This can be important to some programmers (read: programmers here)

Not sure what you mean. There’s no such thing except in the binary compiled files at the end. Every program code written has to be “translated” by the compiler in every language. X-Plat even more!

Gotcha. So Web apps only then. That’s fine. I didn’t realize.

Again, are server apps possible too, or just local Web Apps?