GUI Internals Presentation

There was planned another one for Fabian. This time a deeper insight to the internals of qooxdoo's Widget system. Because the first workshop took too long there was no more time for this one. Without the oral narrative this is quite lightweight. Hope this is still interesting for you. More detailed documentation is planned for 0.8 in the next weeks.

Web Application Development Workshop

There was another workshop at the Webinale 2008 in Karlsruhe, Germany hold by me: Web Application Development with qooxdoo. The intention was to show the needs and possibilities to solve enterprise needs in web application development. This was done using the qooxdoo tool chain.

The workshop went quite good. Some people did the stuff practically during the workshop with great success. Others just followed the presentation theoretically.

For all of you who want to try it on your own, I have uploaded the workshop material to our server. The downloadable archive (about 12 MB) contains a prepared qooxdoo distribution (contains the API viewer, the framework sources and the tool chain).

Inside the archive you can find a folder Snapshots which contains three interesting folders:

  • app1: Feed Reader
  • app2: Feed Reader with usage of parts (only for build target)
  • app3: Feed Reader with usage of browser variants (only for build target)

Please have a look at the file config.json for the configuration data of the build system. This really might to be a good chance to all of you who want to learn the new generator features practically in a safe, prepared environment.

In each folder you can find a shell script and a batch file to execute the new generator (generator II). You should be able to execute all offered jobs (source, build, api and clean). For the batch files you need to have a Python installation under C:\Python25. Please install Python natively under this path (This is the default path for the Python installer). There is no need for Cygwin when using these batch files.

GUI Development with qooxdoo Workshop

Together with Fabian I did a workshop GUI Development with qooxdoo using the brand new qooxdoo 0.8-alpha1. The workshop was planned for three hours on the workshop day of the Webinale 2008 in Karlsruhe, Germany. It contains these parts:

  • Status of 0.8
  • First Steps
  • Understanding the GUI
  • Creating the GUI
  • Data Handling
  • Making It Work
  • Improving the GUI

Due to the fact that the topic is quite advanced, the workshop ended without showing the last third of the presentation.

If you were in the presentation or are interested in a qooxdoo 0.8 workshop, please feel free to download the prepared material (about 13MB). The archive contains a snapshot of the framework folder of qooxdoo. The prebuilt application steps make use of this qooxdoo version (Due to the trunk's nature to change rapidly newer or older versions may not work by the way). You do not need to have a current checkout of qooxdoo's trunk.

Try to follow the described steps on your own. Each snapshot (in the Snapshots folder) contains the full implementation done the corresponding slide. You can find step-by-step code blocks in the Steps folder. At the bottom of some slides you can find a small area where the current step is mentioned. Use this to keep in sync with the snapshot or code block.

If you have questions or comments feel free to post them here or on our mailing list. We are really interested in any feedback for this quite new presentation style (at least for us).

Advanced Object-Oriented JavaScript

The following slides were part of a talk about features and implementation of object-oriented JavaScript. The talk was given at Dynamic Languages World, the first European conference dealing with the shared concepts and frameworks of all important dynamic languages (including Ruby, Groovy, PHP, Python and, of course, JavaScript).

The talk attracted quite a number of people. Interestingly, while most of the audience was familiar with JavaScript, some important concepts like closures still seem not to part of the everyday programming arsenal. The native capabilities of JavaScript as a programming language are really fascinating, and frameworks like qooxdoo try to make them as powerful yet comprehensible and practical as possible. Especially if you are new to qooxdoo or object-oriented JavaScript, make sure to read about and also try out qooxdoo's OO syntax and features:

BOM and Animation Presentation at Webinale

After Sebastian's presentation on Monday (as part of the Power Workshops) Alexander, Martin and I had our presentations as guest experts.

Alexander's and my presentation covered the low level parts of qooxdoo. Alexander talked about the browser object model a normalized and extended layer for DOM manipulation, event handling and cross browser XMLHTTP communication. After that I continued with a presentation about qooxdoo animation a low level animation package, using the BOM layer.

Web Testing Presentation

Here is the presentation about testing Web apps with Selenium RC.

The presentation has three parts. The first is a very generic introduction to Web testing in general and should be beneficial to people who want to get an orientation in the field; the second part introduces Selenium RC, this should be beneficial for people looking at concrete test products; and the third part shows how to extend Selenium RC with custom code, which should be beneficial for people committed to Selenium RC.

The slide show is double length, first the normal presentation slides for a quick overview, and then all the slides again with notes which should make it easier to get to grips with the material without the oral narrative.

JavaScript Tooling Presentation at Webinale

In one of the last sessions of the Dynamic Languages World I did a talk about JavaScript tooling. My objective was to give a general overview over some current JavaScript tools.

I covered JavaScript linker, tools to generate API documentation, lint tools and JavaScript packer.

You can download the demo application used in the presentation. I have included a stripped down qooxdoo version so you can just download and run it.

qooxdoo 0.8 Event Layer

qooxdoo 0.8 will include a new, sophisticated low-level event layer. Not only does this separate layer allow for a clean architectural design (with a high-level GUI toolkit on top), it will also make it possible to use this reduced set of low-level DOM features without qooxdoo's advanced widget system. Particularly for rather traditional web pages instead of full-featured rich internet applications, such a light-weight, standalone qooxdoo built might be more favorable. One central element for such a low-level layer is DOM event handling.

In qooxdoo 0.7, event handling is tightly integrated, rather intermingled, with the widget system. We have now taken the best parts of the old event handler, like key and mouse event normalization, and integrated them into a new standalone event layer.

This event layer has many interesting features. Unlike event layers commonly seen in other JavaScript libraries it does much more than just providing a cross-browser API wrapper for attaching event listeners:

We just did a presentation about this new event layer. Take a look at the Slides: qooxdoo 0.8 Event Layer [PDF] or at the corresponding wiki pages [5] for more information.

[1] http://www.w3.org/TR/DOM-Level-2-Events/events.html#Events-flow
[2] http://msdn2.microsoft.com/en-us/library/ms537630.aspx
[3] http://www.w3.org/TR/DOM-Level-2-Events/events.html#Events-interface
[4] http://qooxdoo.org/documentation/0.7/keyboard_events
[5] http://qooxdoo.org/documentation/general/dom_event_layer

qooxdoo 0.8 Layout Concepts

Last Monday I did a presentation about the new layout managers we already started to implement for qooxdoo 0.8. The presentation is meant as an overview of what we propose to do, are actually doing already and why we do it. I think the slides give a good overview even if my spoken comments are missing. If you have any questions or comments feel free to post them as comments to this blog entry, and -- even better -- also to our mailing list to have a better basis for discussion.

Download: qooxdoo 0.8 Layout Concepts slides

 

Control

 

Categories:

Archives:

 
SourceForge.net Logo

Bad Behavior has blocked 635 access attempts in the last 7 days.