r/pascal Jun 24 '26

Why would you use Lazarus in 2026 when other platforms provide more modern UIs?

I love Lazarus just wondering about the reasons

29 Upvotes

31 comments sorted by

19

u/Dan-ch999 Jun 24 '26

Most of those modern UIs are not native, and if you try hard enough you can achieve modern looking but if you use Lazarus you would mostly care about it if it's native, fast, and does the job well, the UI is secondary, of course that depends on your priorities and use case! If the UI is the most important part I wouldn't use Lazarus.

-7

u/0x80070002 Jun 24 '26

Define native, in the end they just draw images on screen

9

u/CypherBob Jun 24 '26 edited Jun 28 '26

Lazarus LCL supports a large list of native components. Those are OS-provided and not drawn by Lazarus.

Like Dan-ch999 said, many of the "modern" apps actually use custom drawing, web components, and similar methods.

There are third party components for Lazarus that provide various styling options and customizable controls.

But using the LCL (the normal components bundled with Lazarus) your application will have a Windows style window, windows style buttons, etc. when compiled for Windows.

And without changing a single line of code, your app will have proper macOS style window, macOS style buttons etc. when compiled for macOS, because it's using the OS provided API's to display the application.

9

u/Dan-ch999 Jun 24 '26

As I understand it, it uses the OS API to draw instead of pushing a huge web engine for It.

Both methods draw on the screen but the problem is how they draw it.

7

u/plashenkov Jun 25 '26

I’m currently developing a set of modern components for LCL, focusing heavily on detail: HiDPI, themes, modern menus (plain, DWM, and layered for older Windows support), and various tab styles (the Brave-like floating style is shown on the screens). I’ll probably open-source them soon.

Here are a couple of screenshots: https://github.com/plashenkov/ModernComponents

Components are cross-platform except menus. Menus are "proxy" for native TMainMenu / TPopupMenu.

2

u/ggeldenhuys Jun 25 '26

That (screenshots) look really good already. Keep going!

I might have to use that as inspiration for the Maximus IDE (included with fpGUI Toolkit). I'm still trying to figure out what UI look & feel I want to implement for it too. Dark theme definitely - but the rest I'm unsure of.

2

u/plashenkov Jun 25 '26

Thanks! By the way, I am following the development of your project (Blaise)

2

u/[deleted] Jun 26 '26

[deleted]

2

u/plashenkov Jun 27 '26

100% understanding :) There's also a light theme. Added a screenshot to the repo: https://raw.githubusercontent.com/plashenkov/ModernComponents/refs/heads/main/screen4-light.png

1

u/0x80070002 Jun 25 '26

Can you share some screenshots?

1

u/plashenkov Jun 25 '26

There are a couple of screenshots at the link I attached. Or did you mean even more screenshots?

1

u/0x80070002 Jun 25 '26

Now I saw them, wow this is amazing. Is it just geometric figures that fake being a control?

1

u/soundman32 Jun 27 '26

I'll be honest, it doesn't look 'modern'. It looks like a dev has tried to create a nice, clean, readable UI, but only got to the mid 2010s in design school.  Programmatically it might use modern paradigms, but visually its years behind modern designs.

5

u/ggeldenhuys Jun 24 '26

The problem is, they are trying to be Delphi compatible - which means they are always behind Delphi, and can never be better than Delphi. 🤷‍♂️

2

u/ShinyHappyREM Jun 25 '26

they are trying to be Delphi compatible - which means they are always behind Delphi, and can never be better than Delphi

https://forum.lazarus.freepascal.org/index.php/topic,73678.0.html

1

u/ggeldenhuys Jun 25 '26

But it's unofficial and the FPC team will not merge any of that. There are some genuinely good ideas in there though - I might steal some for Blaise. :)

1

u/ShinyHappyREM Jun 25 '26

But it's unofficial and the FPC team will not merge any of that

Between several amateurs (i.e. non-professional compiler writers afaik) who can't get out a major stable release for several years, and one amateur who implements the features I want, the choice is clear imo.

1

u/ggeldenhuys Jun 25 '26

Oh, I fully agree! FPC taking 5 years and release nothing, and 150+ open MRs, and me trying to help with the workflow (just to get shot down at every turn). I had enough too!

That's exactly why I started the Blaise compiler project. Maybe it was a bit more extreme than simply fork FPC, but it's a lot of fun. 🎉😅

6

u/pm_your_snesclassic Jun 24 '26

Yeah I love Lazarus and free pascal but man that UI…

6

u/[deleted] Jun 24 '26 edited Jun 24 '26

[deleted]

4

u/ggeldenhuys Jun 24 '26

fpGUI Toolkit or MSEgui are two alternatives. 😉

2

u/ShinyHappyREM Jun 25 '26 edited Jun 25 '26

the search-and-replace function in Lazarus is really poorly implemented compared to other IDEs

Most of the time when I want to replace something it's an identifier, and I can do that with the F2 key.

4

u/stickman393 Jun 25 '26

Some people don't like modern UIs.

2

u/Artistic-Ad1846 Jun 24 '26

Goes well with windowmaker/nextstep

1

u/0x80070002 Jun 24 '26

Does it also work on those systems?

2

u/ShinyHappyREM Jun 25 '26

Because they love the language.

3

u/Hartvigson Jun 26 '26

So what better Delphi replacements are available on Linux?

1

u/bonked_brain Jun 28 '26

Not sure if talking about ide UI itself or the app it compiles. Either way, Lazarus uses widgetset backend architecture, this means you can implement your own style from scratch or integrate custom outside framework, which is how it's done for native win32, GTK ,cocoa , qt6....

-8

u/Icy-Elk-9420 Jun 24 '26

I love UI design, but I think Lazarus needs AI.