Objective-J
Les programmes écrits en Objective-J ont besoin d'être compilés avant de pouvoir être lancés dans un navigateur web. Cette compilation peut être effectuée directement dans le navigateur au moment de l'exécution par un compilateur qui compile les programmes Objective-J en pur code Javascript. Le compilateur Objective-J est écrit en JavaScript, de ce fait le déploiement de programme écrit en Objective-J ne nécessite pas de plugin attaché au navigateur. ApplicationLa première utilisation connue de l'Objective-J a été faite avec le framework Cappuccino pour le développement de l'application web 280Slides. Bien que l'Objective-J peut être utilisé (et a été conçu) indépendamment du framework Cappuccino, Objective-J a été, à la base, inventé pour supporter le développement web avec Cappuccino. SyntaxeObjective-J est un sur-ensemble du Javascript, cela implique que n'importe quel code JavaScript valide est aussi valide dans du code Objective-J. L'exemple suivant montre la déclaration en Objective-J d'une classe nommée Address, cette classe est une sous classe de l'objet de base CPObject qui joue le même rôle que le NSObject en Objective-C/Cocoa. Même si ce n'est pas le même nom pour l'objet de base, ce code pourrait être aussi un exemple pour une déclaration de classe en Objective-C. @implementation Address : CPObject
{
CPString name;
CPString city;
}
- (id)initWithName:(CPString)aName city:(CPString)aCity
{
self = [super init];
name = aName;
city = aCity;
return self;
}
-(void)setName:(CPString)aName
{
name = aName;
}
-(CPString)name
{
return name;
}
+(id)newAddressWithName:(CPString)aName city:(CPString)aCity
{
return [[self alloc] initWithName:aname city:aCity];
}
@end
Tout comme en Objective-C, la déclaration des méthodes de classes et des méthodes d'instances commencent respectivement par '+' (plus) et '-' (moins). Gestion de la mémoireContrairement à l'Objective-C, les objets en Objective-J n'ont pas besoin d'être libérés étant donné qu'ils sont automatiquement libérés par le ramasse-miettes en anglais : Garbage Collector de JavaScript. Voir aussiArticle connexeLiens externes |