Tuesday, 22 December 2009

Kylix comeback or something better?

Heise.de reports, that the Qt toolkit is currently being ported to Google's Native Client (NaCl). Qt was known as the GUI framework for Kylix on Linux, and once Qt has been ported, it seems like a very easy thing to make Kylix able to compile GUI apps for Google NaCl, providing a development kit that creates GUI apps with native code to run as managed code inside a browser.

Does this make sense? Some of it does. Delphi/native developers create cool GUI apps, but most of them are networked. If we can create a applications, that are delivered as easily as web pages, using the same source code as our native Win32 apps, that would be extremely great. However, Qt or CLX would not be the best framework for it... so if Embarcardero delivers a CLX-based tool for Qt & NaCl, most users would probably initially not dare to use it for anything else than products with short expected support lifetime. However, the internet has a lot of these.

In order to invest a large amount of R&D money into apps developed using Delphi for Qt&NaCl, right from the first version, we need at least TCanvas support, but preferrably support of the visual components of the VCL.

I seriously hope that there is a business case for some of this. Embarcardero has a unique chance to create something great, based on existing technology. One of the cool things about Google Chrome and Google NaCl is, that they do not require administrative rights to be installed on a PC - unlike the .net runtime. And with Google Chrome Frame, even MSIE will be able to run this.

9 comments:

C- said...

Qt is also the native framework of Maemo 6 and can be used on Maemo 5. I would be in Heaven were I to have Delphi for Maemo/Qt.

mariuz said...

we have a delphi for qt is called ... http://lazarus.freepascal.org/>lazarus

and what is needed is to be recompiled for nacl (salt) I will ask on lazarus list about it

LDS said...

The last thing any x-plat Delphi should do is build a wrapper over a wrapper - especially over wrappers Embarcadero has no control on. Performance will suffer, and lots of compromies would be needed because of different design goals. If you like Qt, wxWidgets or whatever, use them directly. Wrapping them is useless and pretty stupid.

Lars D said...

@LDS: I totally agree - it makes sense to create cool developer tools for Qt/NaCl, and it makes sense to create libraries, that makes existing code run on NaCl.

Fletch said...

Maybe not a wrapper but bindings to QT like some other languages do - Languages such as Python, Free Pascal, Lua, Java.
Because I believe that the future for a developer is in a cross-platform environment, I have been playing with QT and C++ as my fallback position to another possible "BorGearDero" fiasco. Kylix was a good idea poorly implemented. QT is really great, so much so that I would consider it as my main cross-platform development environment in a heartbeat.
Cross platform on itself requires compromising at some level. Qt is a mature cross-platform environment that works. It has been designed from the beginning to be a cross platform environment. And, like C pointed out QT has the potential to open other platforms to us.
I want to be able to write and deploy to Windows, Linux, Mac, Phones, PDAs and whatever else I can find. I am of the opinion that Embarcadero should provide us with an insanely great Object Pascal cross-platform development environment. Anything short of that I will consider it as a failure and a reason to leave.
I recommend that you take the time to play around with QT, if nothing else just to experience what a mature cross platform environment should feel like. I have it on my Linux, Mac OS and Windows. It just works!
Go to http://qt.nokia.com and download the QT SDK play around with the demos and see for yourself.

mariuz said...

I forgot to post the correct link for freepascal qt

http://users.telenet.be/Jan.Van.hijfte/qtforfpc/fpcqt4.html

I'm very interested into lazarus + qt + nacl technology because i have one crm application that needs to be ported to web and i want in the end to be fast really fast , off course i could use extjs pascal for some parts but nothing beats native code .

Lars D said...

Another blog post about Qt for NaCl:

http://labs.trolltech.com/blogs/2009/12/17/take-it-with-a-grain-of-salt/

and here is the Youtube video:

http://www.youtube.com/watch?v=U6xZsqcA-Sk

mariuz said...

playing with nacl is amazing , i tried 9 instances of quake in the browser

http://www.youtube.com/watch?v=8_zbFuaB2wc

Now i try to build the qt nacl to see how it works
I will ask on freepascal how hard it is to modify the compiler for this target

Lars D said...

Quake as a web application... nice one ;-)

I imagine that Google Earth, Google Picasa, Google Sketchup and other Google apps become NaCl in the near future.