Document Information

Last modified:
2009/12/15 23:50 by ecker

Framework Features

A typical qooxdoo application is created by leveraging the integrated development tools and the client-side programming model based on object-oriented JavaScript. Since no HTML, CSS nor DOM knowledge is needed, developers can fully concentrate on creating application classes without worrying about low-level cross-browser issues.

Language

  • qooxdoo runs in any modern web browser, including
    • Internet Explorer 6+
    • Firefox 2+
    • Opera 9+
    • Safari 3.0+
    • Chrome 2+
  • No plugins required (neither ActiveX, Java, Flash nor Silverlight needed)
  • Non-critical modifications of the native JavaScript objects to allow for easy integration with other libraries and custom code
  • Cross-browser JavaScript 1.6 string/array generics

Object-orientation

  • Framework is fully class-based (currently about 350 classes)
  • No pollution by global variables due to namespacing
  • Besides regular classes, it offers abstract, static or singleton classes
  • Constructors and destructors
  • Public, protected and private members by naming convention, that can (partly) be enforced during development
  • Single inheritance, full polymorphism
  • Java-like interfaces
  • Ruby-esque mixins
  • So-called dynamic properties, a very convenient and powerful way to have optimized setter and getter methods generated from simple configuration

Programming

  • Purely client-side JavaScript
  • No HTML knowledge required
  • No CSS knowledge required
  • No DOM knowledge required
  • Complete support for event-based programming
  • Development of qooxdoo applications fully supported on all platforms, e.g. Windows, Linux, all Unixes, Mac OS X
  • Quickstart for easy evaluation of the framework without the need to install any software
  • Skeletons as pre-configured basis for full-featured custom applications
  • Many sample applications and examples
  • Designed for high performance
  • Framework is memory-leak free
  • Aid in developing memory-leak free user applications
  • Extensive logging capabilities (e.g. different log appenders, Firebug support)
  • Straightforward debugging (e.g. object introspection, benchmarking)
  • Browser history management, i.e. browser back/forward button, bookmarks
  • Cookies
  • Generic JavaScript pretty printer / code formatter for unified code style

Internationalization

  • Built-in internationalization (i18n) and localization (l10n) support
  • Supporting all languages and locales, at least on this planet
  • Based on the comprehensive Common Language Data Repository (CLDR)
  • Internally using the mature GNU gettext tools
  • Well-known translation file format (*.po)
  • Support by professional, free translation tools (”po editors”) on all platforms

API reference

  • Extended Javadoc-like source code comments
  • Full API reference for both framework and custom application
  • Online and offline API viewer application

Testing

Deployment

  • Generation of a self-contained and easily deployable “build” version
  • Complexity of the build process hidden behind user-friendly commands
  • JavaScript compression (removal of whitespaces, etc.)
  • Automatic dependency resolution of JavaScript classes; no need for manual “require” statements or tweaking a custom build
  • Automatic linking of JavaScript classes (”JS linker”)
  • Copying of required static resources like images or other external files into a self-contained build
  • String extraction (tremendous performance improvement for IE6)
  • Shortening and obfuscating local variables and/or private members
  • Optional browser-specific variant for each supported browser (e.g. Firefox-only build)
  • Generation of build versions depending on user-defined variants, which allows for different products from same code base
  • Removal of debug statements within the application code before deployment

Migration

  • Support for easy migration of custom applications from one framework release to another
  • As painless as technically feasible
  • Fully integrated into the regular build system
  • All non-ambiguous changes are done automatically for maximum convenience and to avoid manual find/replace errors
  • All ambiguous or semantic changes that require some developer decision are put into a comprehensive checklist

Alternative programming models

Information

Last modified:
2009/12/15 23:50 by ecker

Account

Not logged in

 
 

Rich Ajax Platform (RAP)

RAP uses qooxdoo, Java and the Eclipse development model to build rich web applications. Read more...

qooxdoo Web Toolkit (QWT)

Similar to GWT this framework allows to create impressive qooxdoo applications just using Java. Read more...

Pustefix

Pustefix is a MVC-based web application framework using Java and XML/XSLT. Read more...

 
SourceForge.net Logo

Bad Behavior has blocked 0 potential spam attempts in the last 7 days.