What about the possibility of having a universal JavaScript UI for all languages compiling to WebAssembly?


(davidizadar) #1

Many years ago we started sharing mainframes for giving access to computing resources to many users.
I still remembered Isaac Asimov’s MultiVAC as the future of the UniVAC. In his mind, the future of computing was a huge mainframe shared by everyone on the planet.
Reality is far from fiction, and a few years later the PC was born. A lot of computer power in every desk, but totally disconnected between them.
Then, networks, and the World Wide Web.
Now we use all kind of devices to consume services in the cloud, our new MultiVAC.
The thing is, we use our devices like the old dumb terminals. But our modern devices are incredibly powerful and we are not exploiting this power when using a browser.

A few years ago, RemObjects DataAbstract was the perfect solution for using the client computing power and the server power. The only problem was that it was tied to one language, Delphi, and one platform, Windows.
DataAbstract evolved, but not to the degree where it could be the universal solution which could replace so many failed attempts targeting the browser.

Now that Elements added WebAssembly as a new target platform, I see other possibilities.

Currently, if you use Delphi, you can create web applications using uniGUI (www.unigui.com), which creates the necessary supporting back-end framework and generates the user interface based on a modern JavaScript set of components (former Sencha ExtJS, now from Embarcadero).

The applications you build with Delphi, uniGUI, and ExtJS, are still tied to one development platform (Windows) and one target platform for the server (Windows, and possibly Linux in the near future).

On the other hand, imagine if we use any of the Element languages capable of compiling to WebAssembly, add a version of uniGUI creating similar JavaScript code, and resolve all data access using DataAbstract.
Just by adding a good user interface designer (almost readily available in uniGUI), it could be possible to deliver a truly universal solution for creating modern web applications, fast and scalable.

I’d love to program using Oxygene, having a modern HTML 5 user interface based on ExtJS, and a strong and scalable back-end using DataAbstract.

What do you think?