Home   Archive   Permalink

GUI's ... Saphir vs R3-gui vs RebGUI vs VID vs View

I understand that "Core" is the most basic executeable for Rebol and that various GUI's are built on top of Core for various ways to process GUI's.
What is the main difference between these other versions / forks?, and what are they well suited for? It isn't clear to me where to find that information. Preferences for beginners? What to use for Advanced users?
Saphir http://development.saphirion.com/rebol/saphir/
r3Gui http://www.rebol.com/r3/docs/gui/gui.html
RebGui http://www.dobeash.com/RebGUI/functions.html
Vid    http://rebol.com/docs/view-guide.html

posted by:   Patick       21-Nov-2013/17:51:10-8:00

Saphir is Saphirion's fork of the open source R3 (Rebol version 3) initially created, but never finished, by Carl Sassenrath. Saphirion has released versions for Android and MS Windows, and they're working on completing releases for Linux and Mac.
Saphir is currently the only release with a fully operational version of R3-GUI, which is the default GUI dialect for R3. R3-GUI is meant to fix some of the limitations and problems in R2's native GUI dialect (VID). In Saphir, you use the "load-gui" function to download the dialect file from http://development.saphirion.com/resources/r3-gui.r3 . The "view []" function is used to display GUI widgets, as described at http://learnrebol.com
VID is the default GUI dialect for R2. It's built into R2 - you use the "view layout []" functions to display GUI widgets, as described in http://business-programming.com . R2 VID has been around a long time, so it has many code examples available. It's mature on all desktop platforms, but has an older look, and some users find it limiting for larger applications (I've found comfortable workarounds for anything I've ever needed to accomplish in R2). It's great for creating little scripts on desktop OSs.
RebGUI is a third party GUI dialect for R2, by Ashley Truter. It's very similar to VID, and has a number of benefits in certain cases. See http://business-programming.com/business_programming.html#section-17.22
There's nothing in RebGUI that you couldn't accomplish in VID, it just contains some nice additional widgets (for example, built-in table, spreadsheet, pie-chart widgets, etc.), and a bunch of practical solutions for common situations, like automated handling of window close events, undo-redo, spell check, etc.
Saphirion has released their own version of RebGUI for R2, with features they've found useful, bug fixes, etc.
I use R2 and VID for most simple scripts. I used RebGUI for the Merchants' Village software, because of the many useful features described in the link above.    
Since R3 is the only version of Rebol that runs on Android, I use Saphirion's release of Saphir and R3-GUI to create any scripts for that OS.
You should be aware that all the GUI dialects are built on Rebol's "View" engine, the lower level graphics rendering subsystem. The "layout" function is basically a code generator that produces view code to display and handle events for common GUI widgets. Anyone could create a new dialect to display GUI widgets, with any visual style, and with any preferred language syntax. Years ago, Nenad created a skin that looked just like the then-current Windows API GUI widgets. None of the current Rebol GUIs use native OS GUI widgets - they're all drawn from scratch, so appear the same across platforms (Doc is planning the opposite initially for Red's first GUI(s)).

posted by:   Nick       21-Nov-2013/19:21:50-8:00

And to be clear, none of the core versions contain the view engine. Core is a console-only version of Rebol. Not only does it not have GUI, it doesn't have any graphic engine at all, and things like sound and other desktop only features are not in core. For things like server and CGI scripting, it requires fewer resources, opens faster, etc.
Also, to clarify a little bit more about Saphirion, their releases contain other improvements besides GUI, like secure networking protocols and platform-specific features.
Those guys have been great at responding to donations for specific development requests. They're putting a lot of their own money and time into creating releases that everyone can use, and from what I've seen, they put all donated money to productive use.

posted by:   Nick       22-Nov-2013/14:02:38-8:00

(I have no affiliation with them - just grateful for the ports they've accomplished so far)

posted by:   Nick       22-Nov-2013/14:10:29-8:00

Unfortunately the Saphirion server is down right now, so Patrick may not be able to download the sources.
The Treemapper application by Saphirion uses the R3-GUI and is a commercial application. There will be more apps, hopefully within a couple of years (as I look at my frighteningly large todo list) that use the R3-GUI.
Currently the R3-GUI suffers also from not so pretty skinning. I want to rectify that, when I get time, but it should be quite capable and is developed with needed features first.
(Disclaimer: I work for Saphirion)

posted by:   Henrik       22-Nov-2013/16:34:54-8:00

Here are the most recent versions of R3 for MS Windows, Android, and r3-gui.r3 (released on or around 7-17-2013):

posted by:   Nick       22-Nov-2013/21:18:20-8:00