For those who don’t know what WWDC is, this post will not make any sense. So, I will explain it, and then give you a link to go to to additional information if it so pleases you.WWDC stands for “World Wide Developers Conference” as is Apple’s massive conference for their developers. Its a week in San Francisco filled with presentations on the latest technologies of Apple’s operating system Mac OS X, and allows people who write software for the Mac to come, listen, learn, explore, ask questions, talk to us engineers, and such.The nice part about the conference for Apple engineers is that we get to go the conference if we sign up to run lab sessions (times when developers can come and ask questions). So we get to go the conference for free. However, there are rules for us, and they are rather clear: the developers who pay their thousands to come to the conference as the kings and queens, and we are basically janitors. That means that we get last dibs on getting into presentations. So if I really wanted to go to a presentation on “Performance Tuning Applications in Leopard”, for example, and it was full, I wouldn’t be able to get in.Though obviously I get to go to the lab sessions I am running, or rather helping at. Those labs are:
- General Developer Lab
- Developer Tools Lab: Code-level assistance for Xcode, GCC, and Interface Builder.
- Performance Tuning Lab: Code-level assistance for tuning performance of OS X applications with Xray, Shark, and D-Trace
- Cocoa Bindings in Practice: Getting Started: Cocoa bindings is a collection of technologies that provide a means of keeping model and view values synchronized in your application. This encompasses how to create a more consistent user interface with less code, and how to refactor your code to leverage built-in classes.
- Cocoa Bindings in Practice: Advanced: Receiving help on the most difficult Cocoa bindings problems.
But, most of the time, Apple employees get into sessions, and so there are a few sessions that I am really excited for. I am just going to paste the description from the WWDC website so you can get idea what these sessions are.
- Building Animated Cocoa User Interfaces: Delight your users with dynamic, responsive user interfaces. In Leopard, standard AppKit NSViews can be rendered and animated using Core Animation. Learn how to combine familiar Cocoa controls, views, and event handling with the power of Core Animation layers to create stunning user interfaces.
- Cocoa Drawing Techniques: The options available to the artistically-minded Cocoa developer have multiplied over the past few years. Learn about the appropriate use of NSImage, CGImage, CIImage, CGLayerRef, CG transparency layers, CoreAnimation, NSImageRep, NSCustomImageRep and more. We will also discuss HiDPI drawing and Cocoa’s resolution-independent architecture.
- Coding Smarter with Objective-C 2.0: Learn more about Objective-C 2.0 and how you can take advantage of it in your own applications. You’ll receive an introductory, hands-on primer to properties, fast enumeration, and common garbage collection design patterns. Gain a deep appreciation for how Objective-C 2.0 will help you write better, more maintainable, and more concise code
- Creating Leading-edge 2D Graphics with Quartz: Quartz is the high-performance 2D graphics system at the heart of the Aqua user experience. See how to directly access the Quartz 2D APIs to handle even the most advanced vector or bitmap drawing needs. Learn the fundamentals of the drawing model and how to use advanced rendering features to create high-quality 2D graphics. A key session for all application developers interested in creating more compelling 2D graphics in their application.
- Getting Started Performance Tuning with Shark: Shark is very powerful, yet easy-to-use tool for discovering where your application is spending its time. Learn practical ways to find performance bottlenecks, obtain tips on optimization, and understand how your software interacts with the system. Gain an understanding of how Shark can help your application perform at its best in today’s multi-core, 64-bit world.
- Getting Started with Mac OS X Kernel Programming: If you are new to Mac OS X kernel programming, attend this session to learn about the basics of the kernel architecture, building kernel extensions, and use of the kernel programming interfaces (KPIs) for maintaining release-to-release binary compatibility.
- Making Your Custom Controls, Icons, and Artwork Resolution Independent: If your application uses custom controls or artwork, make this session a top priority. Modern displays vary in size and pixels per inch. Find out how to design a rich, scalable user interface for your application. The session will discuss guidelines for revising icons and artwork, new functions to adopt, testing strategies, performance concerns, as well as common problems and solutions.
- Getting Started with Core Data: Core Data provides an infrastructure that manages model object graphs and object persistence. Learn how to use Core Data to define your application’s data model, access it from your code, and handle undo, redo, and data persistence. Find out how you can use Core Data to create high-performance, feature-rich applications.
- Optimizing Your Core Data Application: Learn how to make your Core Data application perform as well as it can. Discover how you can use new APIs in Leopard to create your own store type, and how you can fetch managed objects more efficiently, or avoid fetching them entirely. Find out how you can optimize the managed object model itself for a particular problem domain, and use multi-threading to maximize the responsiveness of application.
- Partitioning Your Cocoa Application: Multithreading and multiprocessing are powerful techniques you can use to improve your Cocoa application. Find out why and how to separate an application into independent pieces, and ensure those pieces interact smoothly. This is a good opportunity to build on your knowledge of multithreading and interprocess communication.
- Tracing Software Behavior with DTrace: Get an introduction to DTrace, the popular open source project that Apple has optimized for and integrated into Mac OS X. DTrace is embedded in the core of Leopard, underpinning many analysis instruments in the new Xray application. Learn how to directly interact with DTrace from the command line to observe the runtime behavior of an application, the kernel, or the entire system to gain valuable insight.
- Using Advanced Objective-C 2.0 Features: Gain advanced insight into using properties in threaded applications, implementing fast enumeration in your own classes, and designing rock-solid applications with garbage collection. This session builds on the concepts introduced in Coding Smarter with Objective-C 2.0.
So obviously I probably can’t go to all of these, but I will try to get to as many I can. It will be a busy week, with lots to learn. I’m pumped!
0 Responses to “WWDC Excitement”