Monday, May 09, 2011

Qt 5 #ftw

I just finished reading Lars Knoll's blog and his whitepaper on Qt 5, the next major version of Qt. I don't think their plans can get any better. I am an instant fan.

They are planning on making it a true open source project "from day 1." This is critical to the future success of Qt 5, especially given all the questions over Nokia's future direction with Qt. While it helps with the trust factor, it's also a great move by Nokia who are showing they are concerned for Qt's future and community.

The most exciting stuff though is technical. They recognize that user interfaces are going through dramatic change. And that hardware accelerated graphics is at the root of that change. People want to manipulate objects in their applications, not stare at static widgets. As I mentioned to a colleague the other day, people want their user interfaces to be real, for the objects to have realistic physical properties, to have weight. With the architectural changes they are planning for Qt 5, it'll be a lot easier to build such interfaces.

There's also the recognition that people don't want to write reams of code to make these interfaces happen. Qt will bring their markup language, QML, front and center to the developer. JavaScript, using Google's V8 engine, will be the secondary programming language. C++ will still be available but you only need to use it where you need to use it. Again, all this is focused on making applications easier to build.

One of the key advantages of Qt has been multi-platform support. With the focus on using scenegraph's as the key composition mechanism, the requirements on the host windowing system is reduced greatly. And with their new Lighthouse architecture, porting will be even easier. And what that should lead to is the quick arrival of ports to Android and iOS, bridging the gap between the desktop and mobile device like no one else has. And with Wayland given prominence as one of the primary supported platforms, my hopes for a revamped Linux desktop are given a lifeline.

I'm pretty pumped about this news (obviously). And I'm excited for the future of computing devices with truly usable UIs. But seeing this news, along with watching demos of Apple's new tablet apps (especially Garageband), Android's Honeycomb, RIM's Playbook with the TAT interface, Eclipse's UI all of a sudden looks very old. I'm not sure if Eclipse 4.x gets us any closer to this level, but I'll be very curious to see how we can bridge Eclipse onto the new Qt 5. This is where I fear for the future of Eclipse.

6 comments:

  1. Eclipse 4.x allows you to completely replace the rendering system - just did that as a proof of concept with Swing - all we need is a Qt-Java interface - but I agree SWT will not get us any close to what we need to address user needs in future

    ReplyDelete
  2. This leads us to the paradigm shift. If SWT won't get us there, and Qt runs on every platform we care about, why not just use Qt for the UI. QML/JavaScript sitting on top of Eclipse core bundles. Mind blowing stuff.

    ReplyDelete
  3. Doug - that's exactly i was always enforcing. The problem is that most of the existing IDE-UI-Code depends on SWT so for those parts we'd need an integration story.

    For RCP-Application the situation is different so ideally we should try creating a Qt-Java interface - guess it doesn't has to be very big because all we need is pass in JavaScript and QML ;-)

    ReplyDelete
  4. I am not at all excited to see QML/JavaScript presented as the future of UI programming; quite the opposite actually.

    ReplyDelete