[Development] Frameworks on Mac?

Rutledge Shawn Shawn.Rutledge at digia.com
Thu Nov 22 13:03:28 CET 2012


On 22 Nov 2012, at 12:06 PM, Volker Götz wrote:

> Hi,
> 
> Am 22.11.2012 um 11:42 schrieb Rutledge Shawn:
> 
>> I don't understand either; I thought that frameworks have the advantage of being shared between applications.  If one application includes Qt 5.0.0 in the .app bundle and another includes 5.0.1, and you run both of them, does it mean that you will have duplicates of all the libraries that those apps need, in memory?  It's bad enough that they will be duplicated on disk, but I know it's becoming the norm not to worry about that, in exchange for not having the problems that Windows often does with incompatible DLL versions.  But we guarantee binary compatibility, so shouldn't it be OK for an application installer to upgrade the system Qt framework at the same time, the way an application's Windows installer would typically do?  (I'm referring to ordinary users rather than developers)
> 
> Usually, there are NO application installers on the Mac.
> 
> The regular way is to have application bundles (directories with a certain structure; the name ends on .app and is treated like a single file in the Finder) that contain everything that is needed to run the program, including all libraries and/or frameworks that are not pre-installed on the system. You just put that application binary into a ZIP or (preferrably) a disk image (DMG) and the user just drags and drops the application to a place on the filesystem.

Yeah I know, and that's very convenient, but I've seen installers sometimes too.  

We could even offer a way to make it easy for application developers to make installers, in order to standardize the Qt framework installation at bit more.  For example QBS could generate a target to build an installer.  If it will save memory on users' systems, it seems like a good thing, right?

Or maybe an application could install or upgrade the framework the first time it is run, and then delete its own copy from inside the .app bundle?  I'm sure that's unconventional, but I wonder if it's possible.

> Using frameworks inside an application bundle is possible, but a bit overkill, as one does not need to ship the header files in a release version (it bloats the size of the application bundle too).




More information about the Development mailing list