Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

Objective-J - это язык программирования, разработанный как часть среды веб-разработки Cappuccino . Его синтаксис почти идентичен синтаксису Objective-C, и он разделяет с JavaScript те же отношения, что и Objective-C с языком программирования C : то, что он является строгим, но небольшим надмножеством; добавление традиционного наследования и динамической диспетчеризации в стиле Smalltalk / Objective-C . Чистый JavaScript, будучи языком на основе прототипов , уже имеет понятие объектной ориентации и наследования, но Objective-J добавляет в JavaScript использование программирования на основе классов .

Программы, написанные на Objective-J, необходимо предварительно обработать перед запуском виртуальной машиной JavaScript веб-браузера. Этот шаг может происходить в веб-браузере во время выполнения или компилятором, который переводит программы Objective-J в чистый код JavaScript. Компилятор Objective-J написан на JavaScript; следовательно, для развертывания программ Objective-J не требуется подключаемый модуль веб-браузера . Цель-J может быть собран и запустить на Node.js .

Приложения [ править ]

Первое широко известное использование Objective-J было в веб-приложении 280 Slides на основе капучино , которое было разработано самой 280 North. Несмотря на то, что Objective-J можно использовать (и был разработан) независимо от фреймворка Cappuccino, Objective-J изначально был изобретен для поддержки веб-разработки в Cappuccino.

Приложения, разработанные с использованием Cappuccino Framework [1] [ править ]

  • RW Слон
  • Пересмешник
  • GithubВопросы
  • Enstore (до октября 2013 года переписывали с помощью Ember [2] )

Синтаксис [ править ]

Objective-J - это надмножество JavaScript, что означает, что любой допустимый код JavaScript также является допустимым кодом Objective-J.

В следующем примере показано определение и реализация в Objective-J класса с именем Address; этот класс расширяет корневой объект CPObject, который играет роль, аналогичную NSObject Objective-C. Этот пример отличается от традиционного Objective-C тем, что корневой объект отражает базовую структуру Cappuccino, в отличие от Cocoa , Objective-J не использует указатели и, как таковые, определения типов не содержат символов звездочки. Переменные экземпляра всегда определяются в @implementation.

@implementation  Address  :  CPObject {  имя CPString  ; CPString city ; }  -  ( id ) initWithName: ( CPString ) aName city: ( CPString ) aCity {  self  =  [ super  init ]; name  =  aName ;  city  =  aCity ; вернуть  себя ; }-  ( void ) setName: ( CPString ) aName {  name  =  aName ; }-  ( CPString ) name {  возвращаемое  имя ; }+  ( id ) newAddressWithName: ( CPString ) aName city: ( CPString ) aCity {  return  [[ само  выделение ]  initWithName : aName  city : aCity ]; }@конец

Как и в случае с Objective-C, определения методов класса и определения методов экземпляра начинаются с "+" (плюс) и "-" (тире) соответственно.

Управление памятью [ править ]

Objective-C использует ARC (автоматический подсчет ссылок) для освобождения неиспользуемых объектов. В Objective-J объекты автоматически освобождаются сборщиком мусора JavaScript .

См. Также [ править ]

  • Капучино (фреймворк для разработки приложений)

Ссылки [ править ]

  1. ^ «Демо в капучино» . Демонстрации в капучино . Архивировано из оригинального 25 августа 2013 года . Проверено 26 февраля 2011 года .
  2. ^ http://blog.acclivitynyc.com/post/64981755172/dumped-cappuccino-and-switched-to-ember

Внешние ссылки [ править ]

  • Официальный веб-сайт
  • «Цель обучения-J» . Веб-платформа Cappuccino.