[V4RB] Macho VComponents folder is 22mb???

Dave Addey listmail1 at dsl.pipex.com
Fri Aug 25 08:48:52 CDT 2006


Hi Sean,

This may be the preferred Apple way of doing things, but I would still much
rather offer a complete download, with the Vcomponents inside my
application's bundle, even if this means the download is bigger.  Many
applications do this for private code (and frameworks) they use - just look
inside Photoshop CS2's bundle, there are 24 private frameworks in there in
the bundle's Contents/Frameworks/ folder.

I would be quite happy if V4RB was *packaged* as a framework, but only if I
could choose to place this framework inside my application bundle, rather
than having to place it at /Library/Frameworks/.  I don't release new
versions of my software that often - certainly no more often than new minor
releases (2.x) of Valentina are released - so I would be unlikely to benefit
from the download speed benefits of a framework installer.  And I really
don't want to have to ship an installer of any kind with my application,
even one embedded in the application bundle.  I use the "copy this folder to
your Applications folder" approach, and it makes support issues non-existent
for application install.

Just my 2 pence - I'm sure other people will think differently!

Dave.

> From: Shaun Wexler <dev at macfoh.com>
> Reply-To: Valentina Developers <valentina at lists.macserve.net>
> Date: Thu, 24 Aug 2006 16:13:22 -0700
> To: Valentina Developers <valentina at lists.macserve.net>
> Subject: Re: [V4RB] Macho VComponents folder is 22mb???
> 
> On Aug 24, 2006, at 3:57 PM, Ruslan Zasukhin wrote:
> 
>> On 8/25/06 1:33 AM, "Shaun Wexler" <dev at macfoh.com> wrote:
>> 
>>> The logical step is to have one universal "Valentina.framework"
>>> stored
>>> in /Library/Frameworks, to which all app's can link.
>> 
>> How this differ from /usr/local/VComponents ?
> 
> /Library/Frameworks is the proper location, as defined by Apple.  The
> VX project bulids the all-in-one Valentina.framework to be much
> smaller than the combined dylibs of VComponents, and it is faster and
> more efficient in operation, due to the lack of dyld stubs and
> associated overhead, not to mention C++ code duplication, etc.  The
> total framework which encompases VShared+VKernel+ICU is only 21 MB as
> a Universal binary for Tiger.
> 
>>> I can write some code for applications to download/embed/install
>>> their
>>> minimum version of Valentina.framework, and install a newer version
>>> into the system if necessary.
>> 
>> Sounds interesting. But not all developers/apps can rely on online
>> connection.
> 
> Exactly, which this fulfills by allowing the installer for Valentina
> to be embedded within the app.  The developer can choose to offer a
> downloadable app version which contains a "lite" plugin that will use
> the existing Valentina installation in /Library/Frameworks, and/or can
> download a newer version from the internet (if no embedded copy is
> included in its plug-in package).  Simple; some of my other apps use
> the same technique.
> 
>> What scary me in this design: is versions of frameworks or dlls.
>> 
>> Yes I know that frameworks can contain few versions.
>> But then we again go in trap of big size?
> 
> NO!  Smaller, because lack of individual dylibs and stubs, etc, and it
> places all resources in a well-known location and they are loadable
> using standard bundle API's.
> 
>> Valentina is in active development, we produce versions not so often
>> like
>> this was in 1.x but still quite often.
>> 
>> * For example, how you image shipping of 2.4.1 and 2.4.2 in such
>> design?
>> 
>> * How will co-exist on the same computer 2 apps:
>>     one made with V4RB 2.4
>>     another with V4REV 2.4.2   ?
> 
> When you reach a point of version incompatibility, then the framework
> version in bumped from "A" to "B", etc, and a framework can itself
> contain multiple versions within the same bundle if necessary.  This
> allows backwards compatibility for older app's, because they are built
> against a certain framework version, even though the framework path
> points to the bundle wrapper directory... that's why frameworks exist,
> for this reason.
> 
>> Apple's OS X 10.4 was about 10Gb on HDD if I not mistake.
> 
> Panther is 1.5 GB - 2.3 GB.
> Tiger is only 2 GB, up to 6 GB with developer tools and no extra
> printer drivers or localizations.
> Leopard is proportionately larger, but NDA precludes... although I can
> say yes, libraries, frameworks and app's are built fat with 4 arch's
> each.
> 
>> 10.5 as we see, is going to be 4 times bigger? Because each dll and
>> each
>> framework should go in ppc32, ppc64, x8632, x8664 ?
> 
> To compare, on Leopard, Calculator.app is 1,138,370 bytes on disk.
> 
>> I wonder if 10.4 is shipped already on few DVDs? :-)
>> 
>> All this sizes somehow sounds shocking ...
> 
> Yes.  Don't ask me about how Leopard performs [currently] either; you
> might not like the answer...  ;)
> 
> -- 
> Shaun Wexler
> MacFOH
> http://www.macfoh.com
> 
> 
> _______________________________________________
> Valentina mailing list
> Valentina at lists.macserve.net
> http://lists.macserve.net/mailman/listinfo/valentina




More information about the Valentina mailing list