Re: iPad keyboards
Re: iPad keyboards
- Subject: Re: iPad keyboards
- From: Greg Parker <email@hidden>
- Date: Wed, 11 Dec 2013 23:20:13 -0800
On Dec 11, 2013, at 10:46 PM, Maxthon Chan <email@hidden> wrote:
> Bad example - you should use the example between NeXTSTEP/Mach and OS X, which the identical technology, library versioning, is used. (People do you still remember that OS X derived from NeXTSTEP, to the extent that OS X 10.0 have version number 4.0, picking up where NeXTSTEP left off, and this still count till now like OS X 10.9 = NeXTSTEP 13?)
>
> Also, there is no need of “compatibility mode” as library versioning will allow that with a framework like this
>
> UIKit.framework/
> + UIKit -> Versions/Current/UIKit
> + Headers -> Versions/Current/Herders
> + Resources -> Versions/Current/Resources
> + Versions/
> ++ A/
> +++ UIKit
> +++ Headers/
> +++ Resources/
> ++ B/
> +++ UIKit
> +++ Headers/
> +++ Resources/
> ++ Current -> B
>
> The version A of UIKit library is what is shipped in iOS 6 (and before), almost as-is. Version B is iOS 7 UIKit that have all the new bells and whistles.
UIKit does not use this versioning mechanism. I believe no framework on OS X uses it, and the machinery may have been removed from iOS.
Framework versioning does not scale. The problem is that any use of versioning requires duplication across the rest of the system. Say you created Versions/A/UIKit and Versions/B/UIKit. Any client of UIKit like MapKit now also needs versions A and B, because it can't have just one version that links to both UIKits. Propagate that across the rest of the framework tree and you end up with two complete copies of every system framework. That's bad for disk space and memory usage, if you have two apps open that use different versions.
Versioning might have been during NeXT's great Object->NXObject or NXObject->NSObject overhauls. (I don't know, I wasn't there.) It has been used approximately zero times in the OS X and iOS eras.
--
Greg Parker email@hidden Runtime WRangler
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden