getlazarus.org appears to be a fan site. The builds are unofficial, but unlikely to be harmful. Might be safest to get the software from the official site or your distro packages though.
As it happens, I'm in the market for a cross-platform, database-driven GUI right now. I'd looked briefly at Lazarus, but the fact it still uses GTK 2 (when GTK 3 has ended development and GTK 4 is available) makes me worry about the longevity of the platform.
That said, my other candidates were learning Tcl to write a Tk app (it's gotta be easier than deploying Python/Tk, right?) or biting the bullet and trying to write a single-page webapp that can talk to a local SQLite database, so maybe GTK 2 isn't the worst thing in the world.
maui/xamarin is terrible( MAUI is xamarin renamed).
It can't build a macOS desktop version. This was found out a week ago in a "shipping to production" thus forcing a certain team to say no macOS version until v2.. Which is now flutter 3.x now. Flutter better? nah.. just it has a macOS desktop option now.
I've been in a similar situation. I wanted to write a simple app for desktop and mobile, I didn't want to do a webapp. I'm looking into dart/flutter for this.
Are there already recommended widgets for desktop? I've read a little and it seems that you have to write your own widgets or use existing ones that don't seem comparable to something like winforms/gtk. Lazarus is attractive because of RAD, but I'm also on the look for an alternative using a more familiar language.
Look at it from the other side - it is a base memory required for a hello world app. A very complex app won’t take significantly more memory than that.
There is not even a JRE for quite some version now. You are supposed to bundle a slimmed down “JRE” which only contains the modules that your program uses.
I don’t think that it is fair to say that. JavaFX is a really great, undervalued framework — and it might be even considered ultra lightweight compared to today’s Electron apps.
Yes, the java platform is performant, it has a huge ecosystem for all kinds of libraries, multiple languages and JavaFX itself has many components pre-made - though not nearly as many as web technologies.
Is there any equivalent to Lazarus that uses a modern programming language and can output standalone binaries? I really miss the days when you could build simple, _native_ desktop GUI apps for various purposes.
(I have been using Godot Engine to do some toy apps and it sort of works, but…)
"Plain" Pascal is about as efficient as C, uses slightly less memory, is safer because of its lower dependency on pointers, and is easy to work with, especially with strings.
An alternative would be to build a Go program with a wish/tk frontend, which is also cross platform, native and simple to write. It's actually straightforward to do with go-pipes for the binding with wish, and provides a nice decoupling between the program and its UI. Also, it's fairly small and efficient unlike Qt, or worse, web technologies.
As someone who wrote it 30 years ago, I have no interest in going back. And if any of my little tools become popular, I couldn't find anyone to pick them up after me.
A couple years ago I worked as a programmer in a 1-2M SLOC enterprise Delphi codebase for 6 months (I believe Delphi is basically Object Pascal). It let me do my work. Under the hood there is the same simple machine model as C and you can access it ok, but the ecosystem around it is considerably clunkier. 90's OOP craze is very present. The various container libraries are composed of different strata of types and classes that do the same things but with different philosophies that were popular over time. Mix of 0-based and 1-based indexing in various string and array types is one of the most annoying problems that I can recall.
Syntax-wise, it was weird the we had to do a lot of "PFoo" pointer-to-foo style typedefs. Syntax has a few strange "addressing" models builtin, including out vars etc. Allocation using "SetLength" is weird, a function that takes a dynamic array can realloc it but the changes would not (or only when reallocation was required?) reflect in the caller. I resorted to plain pointers and manual memory management, because everything else was too confusing for me.
To wrap up, it has a lot of fluff built in that doesn't scale because of non-orthogonality of features, and some OOP that is hard to use IMHO because it is too implicit. As a C programmer I am biased but I find that the usable parts are the C-like parts. The syntax is considerably more clunky compared to C, with all the keywords that tire the eyes and fingers after writing a couple hundreds lines of code.
On the plus side, I'm not an ecosystem guy but I'm sure the ecosystem has a lot to offer functionality-wise, including extensive coverage of the Win32 API. And the compiler is really fast, I have good memories of it and the (Embarcadero) IDE. A big reason why it's fast is that the syntax and module system are better designed than C as far as allowing efficient implementation.
I find it clunky and verbose. I wrote Pascal and Modula-2 during my VAX years and honestly don't want to go back 30 years or so... But I do find go to be an interesting alternative, as long as no web components are involved.
Qt Creator? It definitely comes with some headaches but it ticks the boxes of being modern and cross-platform. I've used it to develop fairly complex applications that run on multiple OSes and look/feel IMHO pretty good.
The state of affairs for cross-platform Python GUIs is pretty underwhelming right now, and I want something that doesn’t carry a Python disto around. We should be able to do single megabyte executables real again…
This might be my lack of knowledge in this area since I'm just reading at the minute but from my reading that's not the case. If you create a standalone app (exe compile option) there is no JIT, just: "A standalone, architecture-specific executable file containing the source code compiled to machine code and a small Dart runtime." that "... handles type checking and garbage collection."
Unless that runtime is what you're referring to as a JIT. But since it outputs machine code that is a compiled program, not a JIT. I obviously can't speak to the size as I've not written anything yet, I'm just practing.
Quite happy to be corrected if I'm misreading things though.
OP's link leads to a totally different download system