More on Day 1 at WWDC
Tuesday, June 7th, 2011 Jim Underwood, Chief Architect
Well all was not lost – the rest of the day was much geekier.
We got a really great Kickoff keynote on the Core OS evolution in Lion (I am growing tired and you are probably not interested in these details except that Sandboxing has come to iOS land). Starting in November, all apps must be sandboxed to increase the collective security of the platform attacks from virulent ads, etc.
There is a whole new level of entitlement primitives being asserted which will really narrow the accessibility of the general file system and other services to just those needed by the app. Of course they recognize that all of the apps out there were written prior to November so they will, for a limited time only, allow certain “indulgences” in exchange for your first born app – not really, but you must carefully explain why you need the indulgence and commit to a date of compliance.
Cocoa and Cocoa Touch have gotten a MAJOR new feature which will greatly streamline internationalization – AutoLayout. This allow the runtime to dynamically resize all the aspects of the UI to accommodate changes in size of text content and window sizing, even dynamically moving left-justified text to right-justified for right-to-left languages.
The Developer Tools keynote was similarly engaging. Two new versions of XCODE (that is Apple’s Visual Studio) bring near parity with Visual Studio in respect to the use of a single-window work space. They have added this cool new feature that allows you to tell XCODE what windows and tools you want visible when you perform specific tasks. As a part of the AutoLayout feature support, the Interface Builder now allows you describe relative constraints among the several elements of a View which dynamically determines the appearance and limits of window resizing, etc. Very cool.
The Unit Test Tool allows you download defined datasets to the device under test prior to running the test. But that is only if you unit test. There are several new features which support game development although some of it may be of value in UI prototyping – Story Board Editor. It allows you to define Scenes and Segues between them. You can easily attach navigation controllers (toolbars) and exercise the thing very simply. The real jackpot is the new Open GL Performance Detective, Analyzer and DEBUGGER. Yes, an actual debugger for drawing sequences.
And the last bit that is – LLVM version 3 – Apple’s replacement for GCC (the GNU C compiler) will now fully support C++ and it is getting rid of the need for manual memory management in Objective C – not by implementing garbage collection but by static analysis and your own sleuthing abilities. They are including a smart tool to convert your existing code with NSAutoreleasePools into sparking clean code with compiler-generated allocation and deallocation of objects and with a sprinkling of “weak” references which the programmer must discover using the Instrument (profiling) tool and denote to overcome those stubborn “retain cycles”.
All of that has resulted in a much improved performance for memory management and without the non-deterministic performance of garbage collection. (Are you still reading???). All this joy is soon to be available – version 4.1 will support Lion and 4.2 shortly later will support iOS 5 too.
Now far away from the patter of 5,200 geek feet, this was how June 6th looked to your erstwhile correspondent. More tomorrow, I hope.
Tags: Apple, iOS, iPad, iPhone




