What is a Distro anyway? and why are there so dang many of them?
While at the Xojo Developers Conference (XDC), I was hearing a lot of developers saying that they didn’t develop for Linux because “there are so many distributions!” The perception is that each distribution does things so differently, that it makes it hard to develop on Linux. I’m hoping to correct some of these misconceptions.
The truth is, that Xojo makes developing for Linux easy.
Here’s the main point: The plumbing of Linux is almost all the same from distro to distro. Xojo uses the GTK control set and almost each and every Linux distribution comes with that installed so your Linux distributions should just … run and run just fine. Period.
If what I said above is true, then why are there so many distributions?!? Here’s my quick video explaining it as I see it.
So when you think “Distro”, think  the GNU/Linux part is all the same.  The Base basically works on how the distro and applications are updated and how often.  There is a desktop and a theme that gives you an initial look and feel.  Finally, there is a certain set of applications installed that the distro has chosen. You can add more if you like. In fact, you can change all of this up to suit you.
So … there are tons of distributions, and that’s a good thing. In fact, I’m currently having trouble with Ubuntu running the Unity desktop. Xojo runs slow on it because Unity draws to the screen really slow. The remedy: try another distribution! FREEDOM FOR THE WIN! (More on this in part two!)
The main problem I am currently having with Xojo on Ubuntu Linux is the time it takes to right+click on a control and for the menu to appear. It takes a whole 5 seconds for the menu to appear! Unacceptable. Is this the fault of Xojo or Linux itself? It turns out that it is NOT! On the same machine running the GNOME desktop, it takes 3 seconds. Still not good enough. I won’t spoil the results, but there are several distributions that take 0 (zero) seconds for the menu to appear. That’s more like it! It can’t get much better than zero seconds!
Imagine that your new version of Mac OS X started taking 5 seconds when you right+click on a control. What options would you have? What if Windows 8.2 delayed your development efforts? We could hope for relief from Xojo, but it wasn’t their fault to begin with. With Linux, we have lots of options.
There’s some issues with Xojo of course, but lets take a look at these issues.
The 32 bit problem: Linux users (mostly because if you’re currently a Linux users, you’re hard core!) more quickly transitioned to 64 bit than Mac and Windows users. The Linux distributions typically don’t bundle the 32 bit libraries in their distributions any more. Mac and Windows operating systems still bundle them as part of their standard installation. It’s easy to get the 32 bit libraries as a developer. These two lines will get you the libraries on Debian based Linux distros:
sudo apt-get install ia32-libs sudo apt-get install ia32-libs-multiarch
If you develop an application, in your package you can specify that that these libraries are a dependency and they will be installed when your application is installed. When you get it down once, it will always be done. I’m hoping that Xojo gets their 64 bit version released sometime early in 2015.
The WebKit problem: Xojo uses the WebKit browser for their HTMLViewer. It’s very powerful and a great way to display information to the user. There’s a problem using Xojo and 64 bit versions of Linux. This is a big problem and one that I haven’t fully resolved yet. All I can say is I hope the 64 bit version comes sooner than later. I think I already said that in the previous paragraph, but this is a sticking point. I’m calling it like I see it. It won’t be a problem forever. The ease of developing a Linux application in Xojo outweighs some awkward issues we’re currently having. Growing pains, right?!?
Stay tuned in part 2, where we take one of my recommended Linux’s for a quick spin.