There are a lot of new things introduced in OS X 10.7.
Here is a document which enlist most of them.
Because most interesting things were already mentioned a lot, I don’t want to talk about them. However, there are some which don’t seem to be talked much but significant.
- Mac OS X File Coordination : allows processes to access files and directories serially. This is good for atomicity and transaction. This feature doesn’t ensure those but very important ingredient for those.
- Popovers : just like that of iOS
- Sandboxing & Privilege Separation : this is talked a lot already but no harm to mention once more
- AV Foundation : is recommended for transitioning existing apps written with QuickTime/QTKit. However, still a lot of features of QuickTime are missing. 64 bit native
- QTKit can export movies in different formats. can read movie/track metadata; QTKit is still alive although they brought AV Foundation to Mac OS X.
- View-Based Tables and Outlines : NSTableView and NSOutlineView can be view-based. What it means is that each cell now can host any NSView derivatives. So, NSButton, for example, can be put into each table cell. This allows placing widgets other than cells onto each cell using resource editor. (IB module). You don’t need to customize using custom draw message for hosting many different cells to implement iOS-like table view (i.e. multi-line messages in a cell, etc )
- Core Data : GCD-aware, nested managed object context, ordered relationship, external storage
- Index Set Range Enumeration : now you can traverse data in an index set by specifying ranges of its values.
- JSON serialization : can convert JSON data <-> Foundation types, can be beneficial for SOAP/cloud based apps.
- XML Streaming Parser : Even when XML is partially fed into a memory space, it can be parsed. Can be beneficial for XML-RPC / SOAP
- Linguistic Tagging : can break down a sentence into its grammatical components ( nouns, verbs, adverb, etc. ). Works for English. Are they preparing for Siri for Mac?
- Regular Expression : you don’t need to use regex library directly