Comparing Lazarus to Xojo

In my search for Xojo alternatives I was pointed to Lazarus https://www.lazarus-ide.org which is a cross-platform IDE that uses a Delphi-compatible language (i.e. object Pascal). I was pretty happy to see that it has a Mac version of the IDE and I will freely admit that I prefer to work on MacOS for a variety of reasons. Among them is usually ease of installation and Lazarus completely fails on this count in my opinion.

Let’s start with installation. The Lazarus website takes you to a SourceForge repository that has three downloads. fpc is the compiler, command line tools and non-visual components. fpcsrc is the sources of fpc and its packages and you need that for code browsing. And then finally there is the lazarus IDE itself with visual components and help files.

First issue is that none of the Package files are code signed which means you automatically have to work around Apple’s security. Not hard but still it doesn’t give you warm fuzzies right off the bat. I forget which step made me do this but I had to upgrade to the latest version of Xcode and install the Xcode command line tools.

Then there was the issue that the Lazarus downloads doesn’t included a Mac version that will run on newer Mac systems. So you end up going to the Free Pascal Compiler repo on SourceForge to get it to install.

Finally, you get to the point where the Lazarus IDE installs and then you get to the configuration screen. As you can the FPC sources can’t be found. But wait, wasn’t that part of the big three downloads I did to begin with?

In the long run no amount of reinstalling or internet searching could solve this problem. There does happen to be an entry in the ComboBox at /usr/local/share/fpcsrc and when you use that option a dialog warning you “Without the proper FPC source code browsing and completion will be very limited.” But it lets you ignore it and actually open the IDE. For now we’ll ignore that the debugger doesn’t appear to exist either.

A blank project appears including a blank form (Form1). The component library window is spread across the top of the window with 15 tabs to break it up. In the Standard tab double click on the TLabel adds it to the form. From there you can drag the control to the location of your choice.

Things go very downhill from here. The label is selected and the eight handles appear and the mouse cursor changes when hovering over them. One would think that you can simply grab the handle to resize the control. Alas, I could not with the label even though I could with the other controls. I couldn’t even change its width from the properties list.

The properties list is pretty standard. All of the properties are listed in alphabetical order which I can live with but I definitely appreciate the grouping that Xojo does (although I still prefer the older Real Studio properties list to the Xojo Inspector). Logical groupings make life easier in a properties list.

A tab control on the properties list also shows the available events for the control. If you click on the right side of the event I immediately get an error “Error: include file not found ‘typshrdh.inc'”. Um…sure. Anyway, at this point I can’t do much more without getting these setup properly.

After spending a couple of hours over the course of three days I’ve given up. My Google-Foo is pretty strong but I keep getting nowhere. The directions I’ve found are pretty minimal and I’ve done what they say I should be doing to no avail.

All of this tells me several things. The lack of documentation, particularly for MacOS, tells me that that it’s not well maintained for MacOS and I don’t think it’s used by Mac developers very much. And this is long before I get into evaluating the language and libraries that are available for it.

For ease of installation and getting that first Hello World application up and running Xojo is by far the clear winner. Look, I don’t expect an open-source project to be as easy to setup as a commercial tool so perhaps it’s not a fair evaluation. But it is one of my criteria because I have clients that take over development of their projects after we do the initial work. So if I’m having these types of problems I can’t imagine a less skilled developer having any less.

If you’re using Lazarus on the Mac I’d love here from you. Drop me a line at support@bkeeney.com and perhaps we can get me past this hurdle so I can do a real evaluation of the tool.

19 thoughts on “Comparing Lazarus to Xojo

  1. I don’t why is hard on a mac. Lazarus easily install on my win10 pc and on Linux(opensuse). I also have Delphi ( free version) to compare it with Lazarus.

  2. I do know the windows installer works fine, at least.
    Why don’t you give that a go? The Lazarus forum would be the best bet to get answers regarding installation on the Mac.

    • It’s on my list and I’ve had a demo with their sales team. Not having a Mac IDE isn’t a deal breaker especially with the way Parallels and VMWare allows Windows apps to run in the Mac environment.

  3. I did a test with this environment years ago (Windows) and came to the conclusion that no customer would take me seriously when it comes to professional software development.
    This is difficult enough to keep up with Xojo as a niche product, but at least this still works and you are in contact with Xojo people quickly if there is anything not clear or working as expected.. Delphi (Pascal) is seen by many as legacy, not clear anymore who is the owner nowadays since it was sold many times. Difficult to explain what Lazarus is and who is behind this product if there are problems.
    Hope this discussion can get back to Xojo soon. There is still chance that we can rapidly forget about 2019R2 because the team came to other insights. The approach they took with all these renames was a mistake if you should ask me.

    • I think there is 0% chance all the re-naming will be reverted.

      I did get Lazurus to installed on my Mac, but it was not straightforward and I was not impressed with it. It would take me a good while to get familiar enough with it so see what I could do with it.

    • Lazarus is not a product in the traditional sense, it is an Open Source project — like Go, Python, Perl or PHP. Free Pascal and the Lazarus IDE have been around for decades and won’t go away any time soon. It also works amazingly well on Linux and Windows. Yes, the support for macOS is more or less an afterthought at this point. But let’s be honest here: Even Apple has not properly supported macOS for years now. Apple only wants you to use Xcode and Swift on the Mac — so that you can write software for iOS. The Mac has become an unloved legacy platform and Apple will finish it off as soon as iOS/iPadOS become self-hosting (read: can run Xcode natively).

      • You are being hyperbolic. The Mac platform is what many Xojo developers use and love.

        I believe I was quite clear in the article that I prefer using native Mac apps. I *know* I can get Windows and Linux versions but it’s a review of how it compares against Xojo. It failed completely on the Mac.

        • Yes but in one of your comments you did say words to the effect that the Delphi IDE being windows only, wasn’t a deal breaker.It feels a bit like you are judging Lazarus to a higher standard.

          • The standard test is this:
            A) Does it have a Mac version?
            B) Does it actually run on the Mac?

            If it didn’t have a Mac version then item B is irrelevant. It just needs to work.

  4. Since you don’t have a problem with using Windows in a VM on your Mac, give the B4X family a shot. B4J targets the Java VM, B4A Android and B4I iOS. There’s even an Arduino version, B4R. Except for the mobile platforms, the dev tools are free. You should feel right at home with the language, the community is helpful and welcoming and the developer does listen to his customers.

    • I’ve written a couple of applications in B4A and it is awesome.
      Erel is a genius as far as I’m concerned. Even though I only use B4A, I’ve bought ahead for a couple of years for both it and b4i. Firstly the price is a steal and secondly, anything I’m happy to support such a great product, I’m happy to do.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.