Learn Objective-C on the Mac - Mark Dalrymple [166]
Cappuccino/Objective-J
Another interesting development from the past few years is the Cappuccino development environment. Unlike the other environments we’ve mentioned, Cappuccino is all about making web apps, not desktop apps. Cappuccino contains class libraries that mimic much of Foundation and AppKit in name and functionality, and even manages to pull off the amazing trick of implementing much of Objective-C’s syntax in Javascript, as we described when we mentioned JSCocoa. The applications you create using Cappuccino can then be published on any web server and run in any modern browser, just like any other web application. This implementing of Objective-C in Javascript is called Objective-J, and is a crucial part of what makes Cappuccino tick. The company behind this, called 280 North, is also working on a tool called Atlas to help you manage your Objective-J source define the GUI of your Cappuccino app, somewhat like Xcode and Interface Builder. Of course, following the spirit of the project, Atlas is itself a Cappuccino application, which runs in a web browser. As of this writing, all of the Cappuccino technology is still in its infancy (in fact, Atlas is only available as a private beta at this time), but it looks very promising indeed. Go to http://280north.com to follow the action.
Here at the End of All Things
That wraps up our discussion of future paths for you to take as you develop your Cocoa skills, and also concludes this book. We hope this book has taken you to a place you wanted to get to, but let’s not assume that stopping place is the final destination! Visit the Learn Cocoa on the Mac web site, where you’ll find forums for discussing with other Cocoa developers, source code for all the examples in this book, and more. Come and visit us at http://learncocoa.org where we’ll do our best to help you learn even more!
Index
Symbols
^ (caret) symbol, blocks
A
About NewApplication option
accessor methods
App Delegate implementation
managedObjectContext method
managedObjectModel method
persistentStoreCoordinator
actions (action methods)
calling actions with names containing “document”
Cocoa vs. Cocoa Touch
concurrency
connecting buttons to
connecting for AppController
connecting outlets to, Buttons app
connecting VillainTrackerAppDelegate
declaring
description
DungeonThing project
IBAction return type
implementing, Buttons app
menu items
passing sender object
planning GUI for VillainTracker
responder chain
SlowWorker application
takeName method
taking values from GUI
actions, list of
buttonPressed
createCharacter
createDungeon
createMonster
deleteVillain
makeKeyAndOrderFront
newVillain
Active Configuration, Overview menu sharing Hello World application
ADC (Apple Developer Connection)
alert panels
NSRunAlertPanel function
runModalAlerts method
alignment
guidelines, Interface Builder
alignment buttons
Attributes Inspector
Alignment menu
designing Buttons interface
alloc method
increasing retain count
nesting messages
Allowed Character Classes checkboxes binding to NSUserDefaultsController
ANIM_DURATION preprocessor definition
animation classes
CABasicAnimation
NSAnimationContext
animations
Core Animation
explicit animations
grouping
implicit animations
setting duration of
transitions between views
animator proxy
explicit animations
App Delegate interface, Core Data
adding predicate to
applicationShouldTerminate method
applicationSupportDirectory method
changing backing store type
changing file name
dealloc method
implementation
managedObjectContext method
managedObjectModel method
NSManagedObjectContext class
NSManagedObjectModel class
NSPersistentStoreCoordinator class
persistentStoreCoordinator method
saveAction method
windowWillReturnUndoManager method
app delegates see application