Objective-J, ծրագրավորման լեզու, մշակվել է որպես Cappuccino-ի մաս և նախատեսված է վեբ-հավելվածների համար։ Նրա շարահյուսությունը գրեթե նույնն է, ինչ Objective-C-ինը։ Objective-J-ն վերաբերվում է ինչպես JavaScript-ին, այնպես էլ Objective-C ծրագրավորման լեզվին. նրա խիստ, բայց կոմպակտ գերակայությունն է։ Objective-J-ն JavaScript-ում ավելացնում է ավանդական ժառանգություն և դինամիկ պլանավորում Smalltalk/Objective-C ոճում։ Մաքուր Javascript-ում, որպես նախատիպի լեզու, արդեն առկա է օբյեկտի կողմնորոշման և ժառանգության մասին պատկերացում, սակայն Objective-J-ն JavaScript-ին ավելացնում է դասակարգային ծրագրավորման օգտագործման հնարավորությունը։

Objective-J
Տեսակծրագրավորման լեզու և օբյեկտ կողմնորոշված ծրագրավորման լեզու
Լույս տեսավ՝2008
ԱրտոնագիրGNU Lesser General Public License
Կայքcappuccino-project.org

Objective-J-ում գրված ծրագրերը պահանջում են նախապատրաստում, նախքան JavaScript-ի վիրտուալ մեքենայի օգնությամբ վեբ բրաուզերում իրագործելը։ Այս փուլը կարող է կատարվել վեբ բրաուզերում իրագործման ընթացքում, օգտագործելով կոմպիլյատոր(բանաքաղ), որը ծրագրերը թարգմանում է Objective-J-ում` մաքուր JavaScript-ի ծածկագրով։ Objective-J բանաքաղը գրված է JavaScript-ում, այդ իսկ պատճառով Objective-J-ի ծրագրերի տեղակայումը բրաուզերի համար չի պահանջում որևէ հատուկ հավելում։

Կիրառումը խմբագրել

Objective-J-ի առաջին լիիրավ կիրառումը կապված է Cappuccino-ի շրջանակի հիման վրա ստեղծված 280Slides վեբ-հավելվածի հետ։ Թեև Objective-J-ն կարող է օգտագործվել Cappuccino-ից անկախ, սակայն այն առաջին հերթին նախատեսված է համացանցի կատարելագործմանն աջակցելու համար և ստեղծվել է Cappuccino-ի հիման վրա ։

Շարահյուսություն խմբագրել

Objective-J-ն JavaScript-ի գերշահույթն է, ինչը նշանակում է, որ ցանկացած JavaScript-ի վավերական համարվում է նաև Օբյեկտիվ-J-ի վավերական կոդ։ Հետևյալ օրինակում նկարագրվում է Objective-J դասը՝ Address անվամբ։ Այս դասը տարածվում է CPObject-ի արմատային դասի վրա, որը կատարում է NSObject-ի դերը Objective-C-ում։ Այս կոդը համարվում է նաև Objective-С դասի նկարագրման օրինակ։

@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

Ինչպես Objective-C-ի դեպքում, այնպես էլ այստեղ մեթոդի սահմանումները և օրինակները սկսվում են համապատասխանաբար '+' և '-' նշաններով։

Հիշողության կառավարում խմբագրել

Ի տարբերություն Objective-C-ի, Objective-J-ի օբյեկտները ազատ արձակելու կարիք չկա, քանի որ դրանք ավտոմատ կերպով ազատվում են JavaScript-ից։

Տես նաև խմբագրել

Արտաքին հղումներ խմբագրել

 
Վիքիգրքերի պատկերանիշը
Անգլերեն Վիքիգրքերում կան նյութեր այս թեմայով՝
Objective-J
  • «Objective-J-ի ուսուցումը». Cappuccino Web Framework. Արխիվացված է օրիգինալից 2012 թ․ մարտի 27-ին.