Making a GUI on Linux
David B
Posts: 592
In Windows, I've had great success using Delphi for making GUIs to interact with the propeller over the serial port and to provide external propeller program control and data visualization with buttons and checkboxes and graphical plots and scrolling text screens and stuff like that.
Delphi makes it really easy to make screens with buttons, edit boxes, graphical plots, and also provide easy access to fast-compiling and high-speed code behind the screen objects. In the past I've also used Visual Basic, which also had quite a nice drag-and-drop GUI builder with easy-to-use code behind it.
But Windows has its annoyances, and I'd like to find a similar programming language that runs on Linux. Can anyone recommend a language that runs on Linux that provides a similar crisp and clean, drag-and-drop GUI builder plus efficient code and fast, easy compiling?
I really don't want to have to get involved with pages and pages of code to build and manage the screen objects; I'm looking to be able to just click and drag up a GUI and use it right away. I'd also like to avoid excessive object-oriented constructs and wordiness; I don't care whether the language is correctly objected-oriented or not; all I want is to be able to throw up a working program in the shortest time so I can move on with the rest of the project.
I tried Kylix (Delphi on Linux) when it was first released, with miserable results. I tried a little Perl with Tcl with even worse results. (I use Perl all the time for quick scripting tasks, but as a GUI-oriented language it didn't do so well.) Java is a pretty strong contender, although it wouldn't be my first choice if there were a more drag-and-droppish Delphi-like programming environment available.
I've never used Ruby or Python - Would anyone recommend them, or not? Python sounds like a good possibility. Looking around, I see packages like BoaConstructor, NetBeans, wxPython...
Does anyone have any suggestions?
Delphi makes it really easy to make screens with buttons, edit boxes, graphical plots, and also provide easy access to fast-compiling and high-speed code behind the screen objects. In the past I've also used Visual Basic, which also had quite a nice drag-and-drop GUI builder with easy-to-use code behind it.
But Windows has its annoyances, and I'd like to find a similar programming language that runs on Linux. Can anyone recommend a language that runs on Linux that provides a similar crisp and clean, drag-and-drop GUI builder plus efficient code and fast, easy compiling?
I really don't want to have to get involved with pages and pages of code to build and manage the screen objects; I'm looking to be able to just click and drag up a GUI and use it right away. I'd also like to avoid excessive object-oriented constructs and wordiness; I don't care whether the language is correctly objected-oriented or not; all I want is to be able to throw up a working program in the shortest time so I can move on with the rest of the project.
I tried Kylix (Delphi on Linux) when it was first released, with miserable results. I tried a little Perl with Tcl with even worse results. (I use Perl all the time for quick scripting tasks, but as a GUI-oriented language it didn't do so well.) Java is a pretty strong contender, although it wouldn't be my first choice if there were a more drag-and-droppish Delphi-like programming environment available.
I've never used Ruby or Python - Would anyone recommend them, or not? Python sounds like a good possibility. Looking around, I see packages like BoaConstructor, NetBeans, wxPython...
Does anyone have any suggestions?
Comments
-Phil
Phil, it's been so many years ago I don't remember why I gave up on Perl/Tk. But I do use Perl a lot, and still have my old Tcl/Tk book in the garage, so if you recommend it then I'll think about giving it another shot. Thanks!
-Phil
Works both on win and Linux, and you can cross compile (at least from linux to win).
If I remember correctly BST is programmed with Lazarus.
Massimo
Most importantly is the fact that there isn't just one GUI in Linux. The two leaders are Gnome and KDE, but I suspect there are others. (This is a reality in Linux, more choices.)
Python appeals to me as a good choice, but it is not just a tool for GUI and may be a bit too low level for your desire.
Qt-4 seems to be mainly for GUI in Linux. There is indeed C++, of course.
Another important fact about the GUI in Linux is that it can be completely removed. This is not possible in Windows. Why is it important? You can work with the GUI in many levels, from the lowest of installation and initialization levels up to the highest levels. So the learning curve may be a bit steeper. Once again, many more choices that in Windows.
Kylix is indeed Delphi for Linux.
http://delphi.about.com/od/kylix/Kylix_Delphi_for_Linux.htm
Also in use here is Qt. Again very portable.
Over this past week I downloaded an Ubuntu 10.10 ISO image, burned an install CD, swapped out my Windows XP hard disk with an empty spare and got Ubunto installed and running. It took a little hand-holding, but eventually finished successfully. It even configured my USB wifi and connected to the internet with no hiccups whatsoever!
Next step is installing Brad's bst and seeing if it will program "Hello World" onto a propeller, after which time I'll start trying out some of these suggestions.
-dan
I just downloaded and installed bst onto my brand new Ubunto, wrote a little "Hello World" spin program, imported my LCD library, plugged in my propeller development platform, hit F9, then F10, and it just works!
Tried F11, restarted the propeller and write to EPROM works, too.
The bst editor font looks a little funny, though. I guess it's time to read the manual.
embedded terminal, with auto disconnect/connect
works perfectly under win and linux
support for "@@@", so SpinLMM appeared
Massimo