I decided to take qooxdoo for a test drive, and the results left me feeling cold. If you want to check out the library for yourself, this article provides some information that will be useful to you.
How to get qooxdoo
Qooxdoo is freely available for download in these options:
- Quickstart: This is the easiest way to take a peek at qooxdoo. A simple application is included, along with a pre-build script, so no software is installed on your system. You can view the samples via your browser.
- Evaluation: This allows you to view qooxdoo in action without actually installing any software. You can run all sample code to get an idea of what qooxdoo can do for you.
- SDK: All source code is included, so you can dig into the meat of qooxdoo. It allows you to build full-blown qooxdo applications. It does require some system setup to use the integrated tools.
- Skeleton: This is a starting point for building custom applications via qooxdoo. The build process has been pre-configured, so you can concentrate on development as opposed to system setup. This download is included with the SDK installation as well.
Each download option includes a link for the latest stable build as well as a link to older builds. The downloads are contained within compressed files that include release notes and a readme file to guide you through any necessary setup. You can take a look at the quickstart or evaluation downloads to get an idea of what is possible with qooxdoo.
What qooxdoo provides
The code has been tweaked and tested to eliminate any memory leaks, and popular browsers (Internet Explorer, Firefox, Opera, and Safari) are supported.
- Event-based programming: It fully supports events-based programming to handle user interaction within the UI. In addition, you can use AJAX functionality to communicate with the Web server.
- Layout manager: Qooxdoo provides various ways to lay out a UI, including the Canvas, Box, and Grid. The concept of a layout manager will be familiar to Java developers. The layout managers are flexible and provide support for auto-sizing UI elements.
- Widgets: Various UI elements or widgets are available to quickly build a Web interface. This includes building a menu, toolbar, text fields, and so forth.
- Themes: Qooxdoo allows you to set up and use consistent presentation or themes for a Web application. This includes such things as colors, fonts, borders, and icons.
- Communication: Qooxdoo embraces AJAX. You can easily achieve server-based communication using the XMLRequest object.
- Internationalization: Qooxdoo has built-in support for both internationalization and localization, which provides support for all languages and locales across the world.
- Optimized code: The code has been designed for high performance applications with no memory leaks present.
Current and future qooxdoo releases are made available under the GNU Lesser General Public License (LGPL) and the Eclipse Public License (EPL). You choose which license to follow, so review both licensing options before using qooxdoo in an application.
My thoughts on qooxdoo
My very first impression of the qooxdoo library was positive, but this quickly went south as I dug deeper into actually using it. First, it has been developed on UNIX with UNIX in mind. This is painfully clear to non-UNIX developers when qooxdoo requires usage of many UNIX-based tools like make. The setup requirements for Windows are complicated, and the process of actually building and rolling out an application is confusing and not worth the time. However, you may have a different opinion when or if you give it a try.
The abundance of free code both simplifies and muddles the life of a developer. The code available via libraries such as qooxdoo is well-tested and rock solid, but deciding on which library to use (if any) can be an arduous process.
If you are looking to build power Web interfaces that employ AJAX functionality, qooxdoo may be a good choice. The key is that you need to spend time learning about it in order to make a well-informed choice.
Have you used qooxdoo in past or present development projects? Do you prefer other libraries? Share your thoughts and experience with the Web development community by posting to the article discussion.
Tony Patton began his professional career as an application developer earning Java, VB, Lotus, and XML certifications to bolster his knowledge.
---------------------------------------------------------------------------------------Get weekly development tips in your inbox Keep your developer skills sharp by signing up for TechRepublic's free Web Development Zone newsletter, delivered each Tuesday. Automatically subscribe today!
Tony Patton has worn many hats over his 15+ years in the IT industry while witnessing many technologies come and go. He currently focuses on .NET and Web Development while trying to grasp the many facets of supporting such technologies in a production environment on a daily basis.