In VB the most basic app (say ‘hello world’) would compile as a 2.5 meg monster. Add DB runtime files to that and you ended up with something that would take up half a CD to deploy. When I moved to Clarion (a language constantly in Beta), it produced minuscule executables. Is there any feature or plugin that makes Xojo unreasonably fatter?
Unless your customers are still using AOL disks I doubt a few mb makes a big difference.
The VB framework is included with the OS on a PC. The Xojo framework is not and is included with the app.
Xojo apps are self contained meaning that they can literally be moved to a new machine (without installer) and they’ll just work. Xojo adds the necessary libraries for your app to run without having to install anything else and those libraries add to the overall size of the deployment package.
I don’t know anything about Clarion, but in general vendor frameworks (VB, .NET, Cocoa) are included as part of the OS, so you don’t see them as part of the app size. Our framework is not included in any OS so it has to be bundled with the app. This makes for nice, self-contained apps that don’t require OS updates or system-level installations.
Java FX has this same issue and Paul answered the reason why above. We compiled a small program that was TINY in size for Xojo (8.5MB), but in Java FX it was 50MB. Talk about size of the framework…
I suppose it could be possible to make the Xojo built app to download the library on the computer if not already there, but it wouldn’t be very usefull regarding the gain in App size.
And I didn’t know that a Xcode app need the system library to run. Then, if those library weren’t on the computer (then in the app), an app build with Xcode would be as fat as the same app build with Xojo?
I remember reading about why the framework was built the way it was (to avoid .DLL hell, etc) and included with the program. I like the way it is now because i’m not depending on some MSVB DLL to be present on someone’s machine to run my product.
As people still not convinced, let me tell the truth: high caloric diet, maybe burgers based.
It’s not FAT… It’s just BIG BONED!!..
I can attest to that : when I was selling VB applications back in the late 90’s and early 2000’s, I got a lot of support requests because the DLL was not in the system. That all went away with RealBasic
Probably much, much fatter.
Out of all the third party toolkits that I’ve come across on the Mac, Xojo is the most efficient (in terms of total package size). Here’s what I’ve discovered, in weight order (heaviest first).
A simple Filemaker based application, easily weighs in over 100 mb, without any code!
Apps written in C with Nokia’s QT, have a main executable of over 50mb, without the support libraries!
Lazarus is way bigger (a simple app is 27mb).
py2App weighs 8mb.
Simple LiveCode apps are close to Xojo (4mb), but then they only have .5% of Xojo’s functionality.
Simple Xojo app, takes about 4mb.
Swift, currently builds simple apps that are 3mb in size.
Objective-C produces much smaller executables, but that’s because all the support libraries are in the OS
Apple Script apps are minuscule, but you’re not going to get very far on MAS!
When you compare it that way, Xojo looks like a super model.
If you do not use XojoScript and are crying because your stand alone is fat (too heavy, > 4MB), add XojoScript code to your project and create the Stand Alone, then start to cry.
Question: Is it really an issue if a small built app is 2 or 10MB nowadays(is this a word?)?
It probably is good practice to be size aware to prevent bloated software.
One of the biggest reasons (apart from writing xplat applications) I switched to Xojo from .Net, was because deploying tiny apps that required 100MB framework to go with it just wasn’t practical.
But I can live with 10MB.
According to Google nowadays is a word… “at the present time, in contrast with the past.”
Why would you cry? XojoScript requires the compiler to be included in your executable so of course its size will grow substantially. And thats fine because without the compiler XojoScript wouldnt work. It would only be an issue if the compiler was included even when you were not actually using XojoScript.
I think that if you throw away the art of code reduction or efficiency then does not advance or evolve the way it should. BTW: wasnt Agnetha Fältskog born in Jonkoping Albin?
If one is crying because “standard” Xojo Stand Alone “fat” applications that are around 5/5MB, what would that person tell if you add 10MB to that by including a single line of XojoScript ?
I hope that I am more clear now.
The idea is: the more features you add to your project, the fatter the Stand Alone Application will be. I only checked (Graphics) and XojoScript, but one can check RegHex added size to its application, etc.