Qt Creator Plugin Framework
-
Hi there,
are there any plans to extract the Pluginframework used by Qt Creator and provide it as a general purpose plugin framework for GUI applications? I did some research and I couldn't find any mature GUI plugin frameworks based on Qt. But having such a plugin framework is a strong benefit if you develop bigger GUI applications and want to make them extendable. Using a plugin architecture as a base for your applications has many advantages. I would like to see something like the plugin architecture of Qt Creator as a general purpose feature in Qt. The C++ world is still missing something like that. If Qt would have that feature I would use it for a bigger commercial application that is about to be kicked off. Since it isn't available I'm probably gonna use Eclipse RCP.
Best regards,
Tobias -
There actually is such a framework. At least, I think it is what you mean. Have a look here: http://www.kdab.com/products/kdcf
-
What do you want to see there? It does sound a lot like "Qt Creator without plugins" to me... which is really easy to do even now (just do not have the plugins directory build).
-
@Andre: Are there any "success stories" of commercial projects using the "GCF"? I didn't find any. How mature is this? It's not open source, is it?
@Tobias: Well, yes. That would be possible. But I don't want to fork Qt Creator. Furthermore with Qt Creator you have the rule "Read the source, Luke". And that's not a particularly appealing idea to my managers. The plugin framework should be well documented. Do you know of any projects that have adopted the plugin framework of Qt Creator?
I have found a Qt based plugin framework: http://www.commontk.org
But this also doesn't seem to be very mature, yet and it is focused on medical applications. -
Just found the website http://www.vcreatelogic.com/products/gcf/. This seems to be the open source version of the product offered by KDAB. And there are some case studies for commercial usage... I'm gonna have a closer look to that framework now. Thanks for your link, Andre!
-
[quote author="smalltobi" date="1294739452"]@Andre: Are there any "success stories" of commercial projects using the "GCF"? I didn't find any. How mature is this? It's not open source, is it?
[/quote]
To be honest: I don't know. I know I have seen it around for some time, and there do seem to be some actual projects using it, but as to how mature it is? I don't dare to say. I guess it depends a lot on your requirements. I am not sure if this particular product is available as open source; the rest of the KDAB products are (under GPL) if you "know how to get them":http://developer.qt.nokia.com/forums/viewreply/19178/, but this one is, I think, developed by a third party. You could try and see if you can get this one in the same way. -
You know, I'm also looking for standardized solutions that have broad acceptance in the SW industry. With Eclipse you have the advantage that its plugin framework is based on OSGi. Generally in the Java world there seems to be a bigger tendency to standardize technologies than in the C++ world.
-
So I've just taken a look at GCF. Apparently the basic idea is to build something like ActiveX, COM, KParts, etc. with Qt. It's focused only on UI components, though. I'm interested in a generic plugin framework that lets me develop both UI and non UI plugins. It should take care of dependency checking, plugin lifecycle management, update management / deployment and it should offer me solutions for standard ui parts like log /error views, configuration dialogues, etc. Eventually I'm gonna end up using OSGi / Eclipse, although I'm a big fan of Qt and its API's.
-
Would be a nice thing to have yes.
I'm currently evaluating this possibility, I took creator src and removed everything not usefull for my application then started to build my own managers and plugins...
And I start to see the complexity to have a really generic plugin framework.
The extension system is ok, but if you need action manager, property manager, and then dockwidgets being build in plugins etc... it becames more and more complicated :)
-
I was also looking for something similar to OSGi in the C++ world, ideally with a Qt-like API. I did not find something meeting the requirements for our projects and since I already had quite some experience in porting OSGi API to C++, I started working on the CTK Plugin Framework https://github.com/commontk/CTK/tree/master/Libs/PluginFramework (CTK is an international project involving major players in the field of medical imaging).
[quote author="smalltobi" date="1294739452"]
I have found a Qt based plugin framework: http://www.commontk.org
But this also doesn't seem to be very mature, yet and it is focused on medical applications.[/quote]Although the context was originally medical applications, the plugin framework is not biased in any way towards certain types of applications. In fact, it is a very close imitation of the OSGi Life Cycle and Service Layer, with a Qt based API. As such, the API can be considered stable, although using applications just start to be developed.
Further, we also have implementations for some of the OSGi Compendium specifications. For example, EventAdmin (an event bus spec), ConfigAdmin (used to provide and manage configuration data for services), Logging, and MetaType implementations.
The plugin framework has no dependencies on QtGui and is licensed under Apache License 2.0.