Капучино (программное обеспечение)


Cappuccino — это среда разработки приложений с открытым исходным кодом для разработки веб-приложений, которые выглядят и работают как настольные приложения для Mac OS X. Cappuccino был разработан выпускниками Университета Южной Калифорнии Франсиско Толмаски, Томом Робинсоном и Россом Баучером, которые также являются основателями 280 North. , Inc. Он в первую очередь ориентирован на разработчиков веб-приложений.

Cappuccino состоит из двух отдельных компонентов: языка программирования под названием Objective-J и объектно-ориентированной библиотеки, которая является портом Objective-J нескольких фреймворков Cocoa , а именно Foundation Kit , Application Kit , CoreGraphics и CoreAnimation.

Objective-J добавляет в JavaScript традиционное наследование и вызовы сообщений Smalltalk / Objective-C . Objective-J компилируется в JavaScript и является его строгой надстройкой. Это означает, что весь правильный код JavaScript также является допустимым кодом Objective-J (это то же самое отношение, которое имеет Objective-C к языку C). Objective-J и JavaScript можно свободно смешивать в одном и том же исходном файле (с расширением файла «.j»), и многие классы фреймворка «бесплатно связаны» со своими аналогами JavaScript. Например, CPArray (эквивалент Cocoa NSArray) и собственные массивы JavaScript связаны между собой и могут использоваться взаимозаменяемо.

Программы, написанные на Objective-J, очень похожи на свои аналоги, написанные на Objective-C. Однако есть существенные отличия: например, в Objective-J нет файлов заголовков, а локальные переменные объявляются с помощью ключевого слова JavaScript «var», а не объявления типа. Большинство классов платформы Cappuccino названы так же, как и их аналоги Cocoa, за исключением префикса класса «CP» вместо «NS», и большинство функций API идентичны или очень похожи. Компилятор Objective-J написан на JavaScript, и программы, написанные на Objective-J, могут быть напрямую скомпилированы на стороне клиента (обычно в веб-браузере) компилятором Objective-J через среду выполнения Objective-J. Фреймворк также включает инструмент, который может выполнить эту компиляцию заранее, чтобы клиенту отправлялся только обычный JavaScript; это значительно более эффективно и, как правило, предпочтительнее. Однако вариант компиляции на лету удобен для целей разработки.

Несмотря на то, что фреймворк Cappuccino использует стандартные веб-технологии для рендеринга веб-страниц, такие как JavaScript, объектная модель документа браузера и каскадные таблицы стилей , он не является классической библиотекой виджетов JavaScript, такой как ExtJs , jQuery или Prototype . Разработчикам Cappuccino никогда не нужно напрямую манипулировать DOM или разрабатывать документы CSS. Вместо этого эти задачи выполняет Cappuccino, что позволяет разработчику приложения сосредоточиться на реализации функций приложения, не отвлекаясь на особенности механизма рендеринга. Cappuccino, компилируемый непосредственно в веб-браузере , не зависит от серверной логики. Таким образом, Python ,PHP или Ruby , например, могут использоваться для внутренней логики приложения.

Cappuccino совместим со многими новейшими браузерами, включая Internet Explorer 7+, Firefox 2+, Safari 3+, Opera 9+ и Google Chrome.