forum-msg-id-129165-edit

Original date:2015-12-10 16:33:37 Edited by: _tom Subject: Re: UI/IDE committee

Tom's rambling on choosing a GUI for Euphoria.

We need a GUI today, so IUP is the supported GUI toolkit for OpenEuphoria. If someone makes a convincing argument for a better toolkit we will adapt. What remains is documentation and examples, a slick installation method, and ultimately bundling with the Euphoria distribution. A lot of practical details remain before you get a "click and run" download of IUP; it is a bit early for a grand announcement about IUP. You can preview Iup for Euphoria at: https://bitbucket.org/ghaberek/editor/overview IUP will be a great addition to Euphoria.

GUI of the day is IUP (Interface User Portable)

  • multi-platform
  • wrapper by G. Haberek
  • interface by Tecgraf
  • looks like it has a maintainable future
  • lacks documentation, examples, tutorial
  • first impression: a practical way to add a GUI to a small program
  • could use: more Euphoric feel
  • Progress report: 70,000 words of documentation grabbed from IUP and 30 examples working.
  • Iup is used with: Euphoria, Bacon, Chicken, Lua, Python, and others

Multi-platform GUI options

GTK

  • great on Linux
  • works on Windows, but install requires a large set of dependencies

wxWidgets

  • multi-platform
  • has documentation, examples, editor, designer
  • should be the dominant GUI
  • I am not clear about who is maintaining the wrapper
  • I am not clear about an effortless installation
  • could use: more Euphoric feel
  • debatable: is IUP or wxWidgets "easier" to use?

Note: Can't define "Euphoric feel" but we do have opinions about it.

Survey of languages and GUI options

Class Promoter Language GUI Notes
Corporate
Microsoft Net Windows all integrated
Apple Swift OS X all integrated
Google Go
Mozilla Rust
Oracle Java AWT
Tekgraf Lua IUP
Academic
Python
Pascal
Lisp
Unix
C
Perl
Tk/Tcl
Independent
OpenEuphoria

Other than Microsoft and Apple, everyone is scrambling to get a GUI working. No obvious winners here. The ideal GUI package remains elusive for everyone.

Language success needs:

  • corporation or benefactor
  • money
  • open-source
  • a nice name
  • hoola-hoop factor

The Euphoria family--OpenEuphoria, Phix, Euphoria--is the only Friendly, Flexible, and Fast programming available. It's just too good to ignore.

How to get a GUI working

(1) Program OS directly.

Euphoria --> GUI

Suitable only for the determined.

(2) Use a toolkit.

Euphoria --> toolkit --> GUI

Suitable for one operating system: win32lib, tinEWG, euGTK

(3) Add an interface for multi-platform use

Euphoria --> toolkit --> interface --> GUI

Suitable for many uses: wxWidgets, IUP, euGTK

(4) Piggyback another language.

Euphoria > toolkit > ( language + interface ) > GUI

Workable with a large install: AWT from Java, Net from Mono (example is JAPI wrapper Euphoria to Java)

Installations increase in size as you go from (1) to (4). Ease of distributing programs goes down as you go from (1) to (4).

Some creative thinking:

REDY

  • works only on Windows so far

wxBasic

  • D. Cuny integrated wxWidgets into his own language

Bach

  • K. Boechert integrated IUP into a custom build of RDS2.4 Euphoria

Agar

  • multi-platform and opensource
  • feature is that modern graphics cards are exploited

The UI/IDE committee?

  • We have failed to produce the ultimate GUI solution that other programming languages will copy from us.
  • We have a supported GUI that will be useful to many Euphoria programmers.
  • The committee idea resulted in a burst of progress.
  • Euphoria is better than when we started.

Thanks to Greg and xecronix

_tom

Not Categorized, Please Help

Search



Quick Links

User menu

Not signed in.

Misc Menu