Cel-J - Objective-J
Paradygmat | Wieloparadygmat : refleksyjny , obiektowy , funkcjonalny , imperatywny , skryptowy |
---|---|
Deweloper | Cappuccino Core Deweloperzy i społeczność. |
Po raz pierwszy pojawiły się | 2008 |
Dyscyplina pisania | dynamiczny , słaby , kaczka |
Licencja | LGPL |
Stronie internetowej | cappuccino-project.org |
Wpływem | |
Cel-C , JavaScript |
Objective-J to język programowania opracowany jako część frameworka do tworzenia stron internetowych Cappuccino . Jego składnia jest prawie identyczna ze składnią Objective-C i dzieli z JavaScriptem tę samą relację, jaką Objective-C ma z językiem programowania C : jest to ścisły, ale mały nadzbiór; dodanie tradycyjnego dziedziczenia i dynamicznej wysyłki w stylu Smalltalk /Objective-C . Czysty JavaScript, będący językiem opartym na prototypach , ma już pojęcie orientacji obiektowej i dziedziczenia, ale Objective-J dodaje użycie programowania opartego na klasach do JavaScript.
Programy napisane w Objective-J muszą być wstępnie przetworzone przed uruchomieniem przez maszynę wirtualną JavaScript przeglądarki internetowej. Ten krok może wystąpić w przeglądarce internetowej w czasie wykonywania lub przez kompilator, który tłumaczy programy Objective-J na czysty kod JavaScript. Kompilator Objective-J jest napisany w JavaScript; w związku z tym wdrażanie programów Objective-J nie wymaga wtyczki przeglądarki internetowej . Objective-J można skompilować i uruchomić na Node.js .
Aplikacje
Pierwszym powszechnie znanym zastosowaniem Objective-J było użycie aplikacji internetowej 280 Slides opartej na Cappuccino, opracowanej przez samą firmę 280 North. Mimo że Objective-J może być używany (i został zaprojektowany) niezależnie od frameworka Cappuccino, Objective-J został wynaleziony przede wszystkim do wspierania tworzenia stron internetowych w Cappuccino.
Aplikacje zaprojektowane przy użyciu Cappuccino Framework
- Słoń RW
- Przedrzeźniacz
- Problemy z Github
- Enstore (do października 2013 r. przepisano go za pomocą Ember )
Składnia
Objective-J jest nadzbiorem JavaScript, co oznacza, że każdy poprawny kod JavaScript jest również prawidłowym kodem Objective-J.
Poniższy przykład przedstawia definicję i implementację w Objective-J klasy o nazwie Address; ta klasa rozszerza główny obiekt CPObject, który odgrywa rolę podobną do NSObject Objective-C. Ten przykład różni się od tradycyjnego Objective-C tym, że obiekt główny odzwierciedla podstawową strukturę Cappuccino w przeciwieństwie do Cocoa , Objective-J nie używa wskaźników i jako takie definicje typu nie zawierają znaków gwiazdki. Zmienne instancji są zawsze definiowane w @implementation.
@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
Podobnie jak w przypadku Objective-C, definicje metod klas i definicje metod instancji zaczynają się odpowiednio od „+” (plus) i „-” (myślnik).
Zarządzanie pamięcią
Objective-C używa ARC (Automatic Reference Counting) do cofania nieużywanych obiektów. W Objective-J obiekty są automatycznie usuwane przez Garbage Collector JavaScript .
Zobacz też
Bibliografia
- ^ „Demo w Cappuccino” . Prezentacje w Cappuccino . Zarchiwizowane z oryginału w dniu 25 sierpnia 2013 roku . Źródło 26 lutego 2011 .
- ^ http://blog.acclivitynyc.com/post/64981755172/dumped-cappuccino-and-switched-to-ember
Linki zewnętrzne
- Oficjalna strona internetowa
- "Cel nauczania-J" . Struktura sieciowa Cappuccino.