Pull to refresh

Atlas – новое слово в веб-программировании

Reading time 3 min
Views 2K

Сегодня, продолжая тему постов, связанных с Cappuccino, я представляю вам Atlas – среду разработки приложений на Cappuccino.

Напомню, что Cappuccino – это Cocoa-like фреймворк для написания веб-приложений на языка Objective-J (Objective-C like суперсет JavaScript), подробнее тут.

Atlas активистами ожидался долгое время, и вот, сегодня, открыта публичная регистрация бета-тестеров, и можно приподнять покрывало над будущим веб-решений на базе Cappuccino.



Буквально с первого окна становится понятно – Atlas и сам написан на Cappuccino. Но общий механизм куда интереснее. В первую очередь, запускается нативное приложение (пока что Atlas доступен только под OSX, Windows-версия будет где-то через месяц), которое выполняет, с оговорками, роль SSB (Site-Specific Browser). Так, все окна Cappuccino превращаются в нативные, то же самое происходит со строкой меню. Так же в фоне запускается веб-сервер на базе Narwhal JS, который выполняет все тот же Objective-J, но уже вне контекста веб-броузера (WebKit SSB), и может получить доступ к файловой системе пользователя для чтения и записи файлов. Поверх Narwhal работает Jack, на базе которого реализован WebDAV, через который клиентская часть Atlas уже и получает доступ к файлам.

Но хватит о внутренней реализации, перейдем непосредственно к IDE. В Atlas встроен редактор исходного кода:



Пожалуй, единственный плюс – то что он написан на Cappuccino и потенциально интересно сделан внутри. Размер шрифта изменить нельзя, как и цветовую тему. Ладно шрифт уменьшить нельзя, но нет даже автоотступов! В общем, код править можно, но пока Cappuccino и так только для мака, проще использовать Xcode или TextMate.



Редактор интерфейса внешне еще не дотягивает до Interface Builder, но у него есть несколько существенных преимуществ. Во-первых, он модифицирует cib-файл напрямую, и можно избежать долгого этапа компиляции xib в cib. Во-вторых, это действительно WYSIWYG, в сконвертированных xib-файлах размеры и положение зачастую гуляли.

Пользоваться редактором достаточно просто, в файле реализации класса локальные переменные надо объявить с кейвордом @outlet, а для действий использовать привычный IBAction:

(на этом этапе выяснилось, что copy-paste работает только в пределах Atlas...)

@implementation AppController : CPObject<br/>
{<br/>
    @outlet CPWindow    theWindow; //this "outlet" is connected automatically by the Cib<br/>
    @outlet CPTextField userField;<br/>
    @outlet CPTextField greetLabel;<br/>
}<br/>
 <br/>
- (IBAction)onGreet:(id)sender<br/>
{<br/>
    var user = [CPString<br/>
                stringWithFormat:@"Hello, %@! Atlas greets you!",<br/>
                [userField stringValue]];<br/>
    [greetLabel setStringValue:s];<br/>
}


После этого аутлеты появляются в редакторе интерфейса и их можно назначать перетягиванием объекта на объект при зажатом opt (alt).

Созданный интерфейс можно тут же, не отходя от кассы, и протестировать.

Ну и напоследок: Atlas позволяет скомпилировать не просто веб-приложение, но и нативное приложение для OSX (такое же, как и сам Atlas). Таким образом, потенциально упрощается создание смешанных десктоп/веб-приложений (и то, и другое, да и сервер, можно основывать на общем коде).

Стоит ли тратить $20 на бету? Только если вы всерьез готовы начинать писать что-то грандиозное на Cappuccino здесь и сейчас. Глюков более чем достаточно, есть множество нюансов в работе. Но возможность отказаться от Interface Builder очень подкупает.
Tags:
Hubs:
+23
Comments 15
Comments Comments 15

Articles