FEAST and Qt - a powerful combination
The Qt toolkit from Trolltech offers excellent support for developing feasible rich-client applications and a manifold GUI feature set that easily outperforms any browser based web application. The cross platform capability and increased developer productivity have made Qt widespread and appreciated.
Qt-based solutions are typically single client applications that know little about the outside world. FEAST closes this gap and opens the world of distributed applications for the Qt-based development by adding support for Web Services.
But this means no binding to the FEAST application server. With Qt and the FEAST platform it’s also possible to develop clients for all the other popular web services like Yahoo! or Flickr Search API.
But the power of Qt is also usable on the server side. FEAST provides the middleware and a framework for the functionality below the surface.
Why rich client?
Distributed applications that allow users to concurrently access data in real time are essential for every major organization. After the arrival of web technology, browser-based applications have gradually replaced client-server based applications mainly because of the ease of deployment. However, web-based applications have some major disadvantages compared to rich clients:
- Lower usability - No context menu in the browser and/or use of widgets. Advanced 2D and 3D graphics is difficult to implement at the best. Also the native look and feel of the desktop environment is usually not reflected in the web based application which can confuse the untrained user.
- Higher bandwidth requirements - A rich client application only needs to transmit the data whereas a web application also needs to retransmit the view on every access. Further a rich client is able to cache data, this avoids retransmission of unchanged data.
- Higher server load - With a web based application most (sometimes all) calculations and operations must be performed on the server side. This leads to higher requirements on the server CPU power. At the same time the totally unchallenged client workstation is twirling its thumbs while waiting for the answer of the overloaded server.
- Lack of platform independence - Different scripting for different browsers has always been an annoying characteristic of thin client development. A current example for this is AJAX, where developers are forced to use different browser dependent implementations of the core XML request object.
- Poor application state handling: By concept web services are stateless, also thin clients. This makes it hard to develop complex applications. With Qt and FEAST it is easy to have a client side state: It’s just like writing ordinary applications.