You are here: Home / videos / GNU Hackers Meeting 2011 / Extensibility in GNUstep and Étoilé

Extensibility in GNUstep and Étoilé


"Extensibility in GNUstep and Étoilé"
by Quentin Mathé, on 2011-10-04 16:18 recorded at n/a
Playing Time: 00:47:38
Download this video:

 

This talk will present the various interesting mechanisms to support extensibility in Objective-C, how GNUstep uses them as a Cocoa-compliant implementation, and how Étoilé leverages Objective-C and GNUstep to push flexibility even further on both the user and developer sides.

Objective-C comes with various abilities to extend classes from other libraries, introspect code at run-time, resolve methods lazily etc. We will discuss these and some less common ideas such as class transforms, which are used to implement Prototypes or Key-Value Observing (a way to observe arbitrary changes in other objects).

GNUstep uses Objective-C's dynamism to implement its drawing backends, theme support or features such as Key-Value Coding or Key-Value Observing more well-known from Cocoa developers. GNUstep AppKit and Foundation are based on various recurrent patterns such as class registration or class cluster to extend the built-in classes, so we will detail them and give some concrete examples such as  NSImageRep .

On top of Objective-C and GNUstep, Étoilé builds a desktop environment, which is more or less a developer platform as it stands now. We will discuss LanguageKit that can be used to create dynamic languages that integrate seamlessly with Objective-C objects, and make possible to write methods that belongs to the same class in various languages. At a higher level, we will show the possibilites opened by EtoileUI, a UI toolkit where the User Interface is entirely modulalized into pluggable aspects (layouts, styles, tools, controllers etc.) in a way that allows to create new UI quickly or change the UI at run-time precisely and easily.

 

Slides

This talk will present the various interesting mechanisms to support extensibility in Objective-C, how GNUstep uses them as a Cocoa-compliant implementation, and how Étoilé leverages Objective-C and GNUstep to push flexibility even further on both the user and developer sides.

Objective-C comes with various abilities to extend classes from other libraries, introspect code at run-time, resolve methods lazily etc. We will discuss these and some less common ideas such as class transforms, which are used to implement Prototypes or Key-Value Observing (a way to observe arbitrary changes in other objects).

GNUstep uses Objective-C's dynamism to implement its drawing backends, theme support or features such as Key-Value Coding or Key-Value Observing more well-known from Cocoa developers. GNUstep AppKit and Foundation are based on various recurrent patterns such as class registration or class cluster to extend the built-in classes, so we will detail them and give some concrete examples such as  NSImageRep .

On top of Objective-C and GNUstep, Étoilé builds a desktop environment, which is more or less a developer platform as it stands now. We will discuss LanguageKit that can be used to create dynamic languages that integrate seamlessly with Objective-C objects, and make possible to write methods that belongs to the same class in various languages. At a higher level, we will show the possibilites opened by EtoileUI, a UI toolkit where the User Interface is entirely modulalized into pluggable aspects (layouts, styles, tools, controllers etc.) in a way that allows to create new UI quickly or change the UI at run-time precisely and easily.

 

Slides

Creative Commons BY-ND