IDE features comparison

IDE features comparison

  • mdo  DigitalBox
  •   Dev
  •   December 4, 2024

Today we will review and compare 3 Integrated Development Environment (IDE) tools available on Haiku.

They should facilitate the creation of applications for Haiku and you might already know some of them : Qt Creator, Paladin and Genio.

Which one is best suited for your needs ?

Which features are available on each IDE ?

Which one is reactive to use ?

You will know everything at the end of this article. Before entering into the details of the features, here is a brief description of each IDE :

  • Qt Creator is a multi-platform IDE mainly used to write Qt Applications. It can also let you write or debug native Haiku applications
  • Paladin is a lightweight native IDE released in 2018 which is relying mainly on other applications to work (default Pe editor to code / Debugger application to debug)
  • Genio is also a lightweight native IDE but released recently in 2023. It has an integrated editor and seems to be one of the most used today on Haiku

List of features

Below is a list of features an IDE can propose nowadays to help developers write their applications.

For each IDE (Qt Creator / Paladin / Genio), it indicates if the feature is available or not :

Feature Qt Creator Paladin Genio
Syntax coloring Yes Yes (1) Yes
Auto-completion Yes No Yes
Integrated debugger Yes No No
Release/Debug build Yes Yes (2) Yes
Code navigation Yes No Yes (3)
Refactoring Yes No Yes (4)
Integration of version control systems Yes Yes Yes
Plugins support Yes No No
Framework integration Yes No No
Multi-platform Yes No No
Integrated terminal Yes No Yes
Integrated help/documentation Yes No Yes (5)
Files preview Yes No No
Code fix suggestions Yes No Yes (6)
Custom templates No (7) No (7) Yes
Last version / date 14.0.1 / 2024 2.9 / 2023 (8) 3.1 / 2024
Memory footprint 160 Mb 15 Mb 20 Mb

Syntax coloring

All three IDEs have syntax coloring as per below :

From left to right : Qt Creator, Genio, and Paladin.

(1) Paladin rely on an external code editor, so the syntax coloring will depend on the editor used (default is Pe editor)

Auto-completion

The code auto-completion is handled by Qt Creator :

But Genio is handling this feature quite well also :

For Paladin, if you use the default Pe code editor, you will not have code auto-completion.

However if you have attached your ".cpp" source files to an editor like KDevelop, then it will work.

Integrated debugger

Both Genio and Paladin are just launching the default Haiku debugger, and do not provide any GUI which can interface with a debugger like GDB.

Qt Creator, on the opposite, can nicely communicate with this debugger like below :

For huge projects, GDB debugger is the recommended solution as the default Haiku Debugger has some known limitations and bugs.

Release/Debug build

All three IDEs propose to build your project in Release or in Debug mode.

(2) Please note, I found Paladin IDE a bit more tricky to use to deal with dependencies or to external build tool like CMake.

Code navigation

Qt Creator has the ability to go through the sources of the classes definition in header files. If you do Alt+Click on the BHandler class :

Then it will open automatically the corresponding header file at the BHandler class definition line :

For Genio, it's more straightforward regarding the header files.

You just need to click on it, because it's considered as a link :

For class definition like BGLView :

You need to use the pop-up menu "Go to definition" :

(3) Genio can open definition of class in the included header files, however once in a header, it seems it cannot go deeper compared to Qt Creator.

Refactoring

In Qt Creator, you can rename a symbol - like a class name - and it will impact all the files referencing that symbol with the new class name :

Qt Creator propose also other refactoring options like below :

Genio can also rename symbol via the pop-up menu "Rename symbol" :

(4) Genio has only the option to rename symbol in the refactoring feature, compared to Qt Creator which has other refactoring possibilites.

Integration of version control systems

All three IDEs propose an integration with version control systems like GIT.

For Qt Creator, it's done via the "Tool>Git" menu

For Genio, the "Git" menu provide access to version control features :

And for Paladin, the access is via the "Project>Source control" menu :

Please note, I didn't test in details this feature in Qt Creator, Genio or Paladin.

So you will need to explore which one is best suited for your need.

Plugins support

Only Qt Creator is able to handle plugins whatever the area : build systems, c++, code analyzer, other languages, scripting... :

Framework integration

Qt Creator is primary used to develop applications with the Qt framework, that's why the integration of this framework is very well handled in this tool (usage of qmake or ".pro" files to setup a project for instance).

The two other IDEs do not integrate any specific framework.

Multi-platform

The aim of Qt Creator is to propose a multi-platform framework.

It's the only one in the list to be able to do that, ie write applications for Windows, Linux, Macos or even Haiku. In case you use Qt Creator under Haiku, you will have two possibilities :

  • Write applications using the Qt framework
  • Write native applications using the Haiku API (in that case, you will loose the portability of your project)

Integrated terminal

Qt Creator gives the possibility to display the application's output inside the IDE :

Genio propose also the Terminal integration, you just need to tick the "Run>Run in terminal" option in the project preferences :

So that when you run the application, its output will be visible inside Genio console :

Integrated help/documentation

Qt Creator propose a nice integrated help and documentation about the Qt Framework.

In case you need it, you can install it via pkgman :

pkgman install qt6_doc

If you ask for the Help on the QMainWindow class, it will display inside the IDE all the details about that class:

There are also nice schema like below in this documentation :

(5) Genio has a limited documentation focused on the IDE GUI details, but not on the Haiku API :

Files preview

Qt Creator is able to preview Markdown files.

It can be very interesting in case you need to create a README.md file or any kind of markdown file for your project:

Code fix suggestions

QtCreator is able to provide some suggestions on code fix like below :

For Genio this feature is not available out of the box

(6) However Genio can provide code fix suggestions if you have the "llvm18_clang" and "gcc_syslibs_devel" packages installed.

To complete the setup, type :

pip3 install compiledb

Then in the directory of your project :

compiledb make -Bnwk

And then you should see the code fix suggestions in the "Problems" tab :

Custom templates

In case of Genio, some default templates of code are available when you create a new file:

In case of custom template, you just need to create a new folder containing all the files required your code template in the "/boot/home/config/settings/Genio/templates" folder :

It will then make this template automatically available in Genio the next time your launch the IDE !

(7) Qt Creator and Paladin are not handling custom templates, however you can use under Haiku, some existing templates like below :

Qt Creator code templates

Paladin code templates

In case new templates are needed for Qt Creator or Paladin, they must be provided in the package directly, because the below template folders are system only :

Last version / date

Both Qt Creator and Genio proposes regular updates of their IDE.

(8) Regarding Paladin, no major update has been noticed since 2020. Year 2023 is only a minor update.

Memory footprint

If you are limited in memory on your Haiku machine, maybe this criteria is important.

Genio or Paladin do not require much memory when the IDE is opened : between 15-20 Mb.

On the opposite, Qt Creator will require 160 Mb for the same project.

Final toughts

You should now have all the criteria to select the Haiku IDE which match the best your need.

In my case, I would use the Genio IDE for native projects, while I would use Qt Creator in case I need to work with the Qt framework for cross-platform applications.

Another usage of Qt Creator, when dealing with native Haiku projects or ported applications, is its ability to nicely interface with the GDB debugger.

What about your current choice ?

If you would like additional details for each IDE on Haiku, you can check the articles Develop with Genio, Develop with Paladin, or Develop with Qt Creator.


Powered by Bludit - Hosted by Planet Hoster
© 2025 Haiku Insider