Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/9214/7guis-red

7GUIs tasks in Red.
https://github.com/9214/7guis-red

7guis benchmark comparisons graphical-user-interface gui red redlang

Last synced: 17 days ago
JSON representation

7GUIs tasks in Red.

Awesome Lists containing this project

README

        

# About

https://eugenkiss.github.io/7guis[7GUIs] benchmark tasks implemented in https://www.red-lang.org[Red] programming language.

This project serves a fourfold purpose:

. A fresh take on all the seven challenges, without peeking into existing solutions;
. A baseline for comparison of Red's approach to GUI programming with other mainstream toolkits;
. Evaluation of VID dialect and View engine, search for their potential improvements;
. Testbed for GUI backends supported by View.

Other known implementations:

* https://github.com/greggirwin/7guis/tree/master/Red[Gregg Irwin].

## Status

All the 7 challenges are completed and clock under 270 lines of code, barring script headers.

The project was tested on all supported View backends with Red https://github.com/red/red/commit/32f10e8a3cb058fd3274bc024f65a809124dd699[`32f10e8`]; the following issues were found:

.Known issues.
[cols="1,1,6"]
|===
| Backend | Task | Issue

| Cocoa
| link:tasks/timer.red[Timer]
| Progress bar is not updated.

| Cocoa
| link:tasks/cells.red[Cells]
| Spreadsheet cells are unresponsive.

| GTK
| link:tasks/CRUD.red[CRUD]
| Some critical assertions are failing inside the GTK library.

| GTK
| link:tasks/cells.red[Cells]
| Evaluation of self-referential formulas hangs the application.

|===

## Structure

link:/tasks/[Tasks]:: Solutions to 7GUIs challenges; files are named after a task they implement.

# Setup

. Clone project's repository.
. Setup the Red toolchain by downloading the automated build from the https://www.red-lang.org/p/download.html[official website].
. Having toolchain binary and this repository in place, check out the implemented tasks:
* with `red ` from system shell;
* from the interpreter (`do %` or `File > Run...` in Red console);
* or via compilation for your platform of choice (see `red --help` for details).

Alternatively, Red console and 7GUIs tasks can be built https://github.com/red/red#running-red-from-the-sources-for-contributors[from sources].

# License

The project is released under link:COPYING[3-clause BSD license].