Viruses continue to be a big problem on Windows. As a result, anti-virus software can be a bit over-zealous about detecting what it believes to be apps that have viruses embedded within them. We have had reports over the years that apps made with Xojo are sometimes falsely identified as being infected with a virus. This sometimes occurs because the 32-bit Xojo compiler puts executable code in a location where the anti-virus software doesn’t expect to find it. We’ve seen this occur even when users are debugging apps from the IDE. Fortunately in that case, there’s a fairly easy solution.
Once the front end has done its work its time for the back end components to take over.
This is the fifth in our compiler series and the first on the back end. We covered the parts of the compiler that are called the front end in these posts:
Back in 1998 when we shipped version 1 of what is now Xojo, it was a 32-bit application and has been ever since. Depending on the operating system, that meant the Xojo IDE itself had at most 4GB of RAM available to it. That would seem like more than enough for any project. However, we have some users that have really big projects. One project I know of has over 1500 project items!
In his poem, “The Mouse”, Robert Burns wrote:
The best-laid plans of mice and men oft go astray…
As Burns so eloquently stated, no matter how carefully you plan sometimes things just don’t work out. Anyone who has done software development for long knows this all too well.
Our goal has always been to let you focus your energy on what makes your app unique. One of the ways we do that is by handling the nitty-gritty details of the various platforms Xojo supports. For example, you don’t have to worry about the differences in how files are accessed on Windows, Linux, macOS or iOS. We take care of that for you.
Saying all this is one thing, however, and delivering it is quite another. We’ve been through some significant technological hurdles over the years. Over the past 12 months we’ve had two big transitions. The first was support for HiDPI (called Retina on macOS and iOS) which made it possible for apps created with Xojo to support high definition screens. For Xojo users, adding HiDPI support was mostly a matter of recompiling their app. If they had pictures or icons, higher resolution versions needed to be supplied but aside from that, it was effortless.
The second big feature we’ve been working on is support for 64-bit. Integers are the issue here and are almost certainly the most common data type used in apps built with Xojo. If you have used the generic Integer type, in theory, building a 64-bit version of your app should be a simple matter of recompiling. That’s the theory. What’s the reality?
Whether Software Developer is in your job description or not, you should understand the difference between 32-bit and 64-bit. Read on for a clear answer.
As you may already know, 2016 was Xojo’s 20 Anniversary. Sitting down to write this post, I can’t help but think back to 20 years ago and starting what has now become Xojo. Most of the developer tools that were around when we started either no longer exist or are no longer published by the people who had the original vision to create them in the first place. In that respect, we are members of a very exclusive club. I’m also pleasantly surprised at how many users from way back then are actively using Xojo today. I take great pride in the fact that we have created something that has that kind of staying power.