[GDataService fetch:myFeed]
April 16th, 2007 | Published in Google Code
Twenty years ago, C++ defeated Objective-C in the battle to become the next generation of C. Objective-C soldiered on as the language for NextStep and Mac OS X, as C++ dominated desktop software development everywhere else. As standards committees have given their love and attention to make C++ grow, Objective-C has remained simple and powerful.
When I switched from C++ to Objective-C, I was quickly hooked. Objective-C's runtime bindings make it easy to write flexible, extensible applications. Its verbose naming conventions make new code easy to read. The standard libraries are simple to use. And the whole language can be learned in an afternoon.
Sure, Objective-C looks a bit funny at first, with brackets galore and named parameters. But just treat [obj func] as if it's "if (obj) obj->func()", and [car go:destination] like "if (car) car->go(destination)", and you're on the road to being a fluent speaker.
A slick feature of Objective-C, called Key-Value Coding, allows external code to probe and manipulate data structures using strings. To get the title text from a feed in my application, I can send my application this message: [myApp valueForKeyPath:@"feed.title.stringValue"]. Even cooler, user interface elements can bind to key paths. Without writing any code, I can make my user interface show all the titles of my Calendars by telling the interface editor to bind a scrolling list to "calendarFeed.entries" and to bind the lines of the list to "title.stringValue".
Because Objective-C is the lingua franca of Mac OS X development, it was natural for the Mac developers inside Google to want to use it when we write applications that talk with Google services. That led me to develop a framework to use Google data APIs to bridge the divide between Mac desktops and Google.
Today, we're making our Google Data APIs Objective-C Client Library available as an open-source project. Initially, the framework supports Google Base, Calendar, Spreadsheets, and generic Atom feeds like Blogger. Support for more services is already underway, and contributions are welcome. I hope that Cocoa developers will join the project, try the framework, and enable their users to take advantage of Google's services from the Mac.
- Greg Robbins, Software Engineer
When I switched from C++ to Objective-C, I was quickly hooked. Objective-C's runtime bindings make it easy to write flexible, extensible applications. Its verbose naming conventions make new code easy to read. The standard libraries are simple to use. And the whole language can be learned in an afternoon.
Sure, Objective-C looks a bit funny at first, with brackets galore and named parameters. But just treat [obj func] as if it's "if (obj) obj->func()", and [car go:destination] like "if (car) car->go(destination)", and you're on the road to being a fluent speaker.
A slick feature of Objective-C, called Key-Value Coding, allows external code to probe and manipulate data structures using strings. To get the title text from a feed in my application, I can send my application this message: [myApp valueForKeyPath:@"feed.title.stringValue"]. Even cooler, user interface elements can bind to key paths. Without writing any code, I can make my user interface show all the titles of my Calendars by telling the interface editor to bind a scrolling list to "calendarFeed.entries" and to bind the lines of the list to "title.stringValue".
Because Objective-C is the lingua franca of Mac OS X development, it was natural for the Mac developers inside Google to want to use it when we write applications that talk with Google services. That led me to develop a framework to use Google data APIs to bridge the divide between Mac desktops and Google.
Today, we're making our Google Data APIs Objective-C Client Library available as an open-source project. Initially, the framework supports Google Base, Calendar, Spreadsheets, and generic Atom feeds like Blogger. Support for more services is already underway, and contributions are welcome. I hope that Cocoa developers will join the project, try the framework, and enable their users to take advantage of Google's services from the Mac.
- Greg Robbins, Software Engineer