Hi
I was reading a while ago that Xojo apps weight “a lot” since they are 100% true standalone EXE’s (not like VB.net or VB6) and for this reason, for not having any dependancies they carry all the weight on their own.
So I was wondering how much is a simple “hello world” compiled with Xojo for Windows
(With VB6 is just a few Kbytes to put things in prspective)
The reason a Xojo app is large is because it does not make static linking and carries entire dynamic libraries used by your base program, not just the needed parts. The “hello world” size varies with Xojo version and target OS.
Run it (Ctrl-R or green right point arrow on top of the IDE)
Do not quit the program, and open the folder where you saved the source
Open Debughello folder
Inside, you will find a 2,507 Kb EXE … and a folder called Debughello Libs which contains the framework. Now, the total weigh 5.52 MB. Before you scream, remember that today’s computers have huge hard drives, and often pictures are just as big…
This is not the real problem about the size. The problem is that if you have, for example a shared library with 400 functions and 2Mb size, and you will use just one function from that lib, say 1kb, the entire lib need to be packed together with your app.
Somehow, I doubt the OP intends to create couple lines apps. Developing larger apps makes the size of the libraries negligible in the total size of the files.
I was just wondering…coming from VB6 where such app would weight a few Kb I wanted to know the differences with Xojo and I don’t have the “professional” version so I cannot compile, otherwise I wouldnt even asked in the first place.
I was initially shocked by the size of RB/Xojo programs, until I compared it to the free space remaining on my hard drive and the fact that the 10K VB program required 200MB of runtime to function. It’s apples and oranges. Neither is significant any more.
Actually, you can. When you run from the IDE, it actually does a full compile which you can examine while it’s running. (It is deleted when it quits.) So you can get a pretty good idea of what the actual EXE will look like if you built it.
You are missing the 9.8MB runtime that is required for VB6 executables in your sticker shock. I just downloaded it from Microsoft to see what it currently is.
Also worth noting is that my company has a few VB6 apps still around and they flat out will not run on 64bit as many of the controls can not run under WoW64. These are being migrated.
Yep, the infamous Msvbvm60.dll file required for any VB6 app to run at all is almost 1.5MB by itself, so it really ends up being 6 on one and a half-dozen on the other.
Quite compact, but Is any computer today indigent enough to require such small executables ? I remember the pocket Atari from the eighties that may have enjoyed that (did not run Windows though) but TODAY ?
Actually, this discussion is rather irrelevant in terms of why and how one may use Xojo to create programs, and which programs. As a professional, I need foremost a powerful and reliable language. I must supply apps that will not break down or suffer random crashes because that would be the end of my business. I need the best possible support in terms of documentation and counsel to carry on the task of generating efficient code. Xojo support is exemplary, both in terms of documentation (thank you Paul :)) and actual community support, which I find to be outstanding here.