4 ms·
I'd say that with Lazarus (http://www.lazarus-ide.org/ http://www.lazarus-ide.org/) it even easier - just drag/drop the controls to forms to build your GUI, dou
by badsectoracula 9y ago
I'd say that with Lazarus (http://www.lazarus-ide.org/ http://www.lazarus-ide.org/) it even easier - just drag/drop the controls to forms to build your GUI, double click on buttons/checkboxes/radiobuttons/whatever or click on menus or double click on the event editor to automatically write the event handling boilerplate code and you just write the actual code in-place. Creates native executables without need for runtimes or big DLLs (you can use Qt as a backend if you like though and in Linux you have to choose between Gtk and Qt).
Here is an old video i made 2-3 years ago where i write a small 2D tilemap editor with Lazarus (the first 5-6 minutes are downloading and installing Lazarus and a tile editing tool i wrote since i used Windows 7 for that vidoe and the Win7 paint program sucks) https://www.youtube.com/watch?v=_3JgeIUo1X0 https://www.youtube.com/watch?v=_3JgeIUo1X0
- squarefoot 9y agoIn my previous life as a cubicle drone in the late 90s I have worked with Delphi under Windows and always dreamed about it being ported/cloned/whatever on Linux. After seeing a demonstration of Kylix many years ago I almost lost any hope (slow as molasses and buggy), then one day I saw this new project called Lazarus which promised high compatibility with Delphi code and to allow building of native apps. Admittedly it was very buggy then, but eventually it matured over time and I'd say it has been damn ready to be used for production for some years. Give it a try and you won't be disappointed.
- fiddlerwoaroof 9y agoI've tried to use Lazarus five or six times now, as a one-time Delphi developer: the main issue is that the lazarus ide likes to crash on the slightest provocation (and the 64bit mac versions don't work very well either)
- squarefoot 9y agoThis is strange. The IDE once surely had stability problems, but I've never encountered them since years. I even installed Lazarus on small NanoPI and OrangePI boards and although definitely not fast it runs natively there and produces native code for them.
- badsectoracula 9y agoWhich version did you use and when? 10 years ago the IDE would crash at you sneezing at it and it wasn't until 7-8 years ago that things became stable. However i cannot remember the last time i saw the IDE crash (and wasn't my own fault with a component i was making that caused it to crash, but even that that is rare). Note that there are a few versions flying around that are unofficial builds, some with addons that break it. Sadly one of them is the one from getlazarus.org which is both unofficial and often comes with unfinished and buggy features from development versions that cause it to crash and be generally more unstable. Combine this with the fact that the guy behind getlazarus.org tries his utmost to promote Lazarus (his version from his site) and there is a chance people who first learn about Lazarus will use the buggy one. He obviously means well, but i really wish he would link to the official site (http://www.lazarus-ide.org/ http://www.lazarus-ide.org/) instead. The builds there are much better tested and there are many week-long release candidate builds that are tested by many people in the mailing lists, forums, etc before an actual final release is made. Also note that the native Mac version is really in a worse state than the Windows and Linux versions. Thanks to Apple discontinuing Carbon (which is what Lazarus uses on Mac by default), a ton of work has to be done to rewrite the backend in Cocoa and there are very few programmers working on the Mac version so this progress is slow (also AFAIK this was delayed to implement the "Objective Pascal" extension to the compiler that would allow using Objective C classes directly without needing an intermediate C layer). Today you can use both Carbon and Cocoa as backend targets, but between the two the Carbon one is still the most stable. As an alternative you can use the Qt backend though that is more stable and featureful (thanks to it being also worked by the Linux devs), but you'll need to bundle a bunch of shared libs and are throwing all notions of minimalism out of the window :-P. Still it is the only way to get full featured stable 64bit apps with Cocoa made in Lazarus, at least until the Cocoa backend improves. And it isolates the bloat to a single platform, which while not ideal, is better than nothing (and IMO even the Qt+LCL combo is still better than bundling an entire web browser with your program).
- fiddlerwoaroof 9y agoSo, I do most of my work on Mac, so that's what I'm using. It took me forever to figure out how to rebuild it as a 64bit app using Qt (I built the Qt5 version, maybe that's part of my problem?). Anyways, once I did that, it started fine but I ran into several issues where changing properties of Data Access components would crash the IDE. (postgresql-related things in particular). If I find time, maybe I'll submit some sort of bug report with a reproducible scenario.
- StavrosK 9y agoDon't you need to be using Lazarus' language (Delphi?) for that? In most cases, that's very prohibitive, since a language with a large ecosystem is usually what you'd want to be writing stuff in.
- badsectoracula 9y agoYes, but there is a ton of functionality already out there, Object Pascal is popular enough to have almost everything available and for the stuff that aren't available it is trivial to call into other native languages (and there are many bindings already available). If you have a C header you can even use a conversion program that comes with Lazarus to create a binding for it. Of course it all depends on what you want to do, but for me at least that was never a problem.