Atlas - a new word in web programming
Today, continuing the theme of Cappuccino related posts, I present to you Atlas , the Cappuccino application development environment.
Atlas activists expected for a long time, and now, today, the public registration of beta testers is open, and you can raise the veil over the future web solutions based on Cappuccino.
Literally from the first window it becomes clear - Atlas itself is written in Cappuccino. But the general mechanism is much more interesting. First of all, the native application is launched (for now Atlas is available only under OSX, the Windows version will be in about a month), which performs, with reservations, the role of SSB (Site-Specific Browser). So, all Cappuccino windows turn into native ones, the same thing happens with the menu bar. Also in the background, a web server is launched based on Narwhal JS , which runs the same Objective-J, but already outside the context of the web browser (WebKit SSB), and can access the user's file system for reading and writing files. Jack runs on top of Narwhal , on the basis of which WebDAV is implemented, through which the Atlas client part already gets access to files.
But enough about the internal implementation, let's go directly to the IDE. Atlas has a built-in source editor:
Perhaps the only plus is that it is written in Cappuccino and potentially interestingly made internally. The font size cannot be changed, as well as the color theme. Okay, the font cannot be reduced, but not even auto-indent! In general, you can edit the code, but while Cappuccino is already only for the Mac, it is easier to use Xcode or TextMate.
The interface editor does not seem to reach Interface Builder, but it has several significant advantages. Firstly, it modifies the cib file directly, and you can avoid the long step of compiling xib to cib. Secondly, it is really WYSIWYG, in the converted xib-files the sizes and position often walked.
Using the editor is quite simple, you need to declare local variables in the class implementation file with @outlet keyword, and use the usual IBAction for actions:
(at this stage it turned out that copy-paste works only within Atlas ...) After that, outlets appear in the editor interface and they can be assigned by dragging an object onto an object while holding opt (alt). The created interface can be tested right there, without leaving the cash desk. And finally: Atlas allows you to compile not just a web application, but also a native OSX application (the same as Atlas itself). Thus, the creation of mixed desktop / web applications is potentially simplified (both one and the other, and the server can be based on common code).
@implementation AppController : CPObject
@outlet CPWindow theWindow; //this "outlet" is connected automatically by the Cib
@outlet CPTextField userField;
@outlet CPTextField greetLabel;
var user = [CPString
stringWithFormat:@"Hello, %@! Atlas greets you!",
Is it worth spending $ 20 on beta? Only if you are seriously ready to start writing something grand on Cappuccino here and now. Glitches are more than enough, there are many nuances in the work. But the ability to abandon Interface Builder is very captivating.