New Project: yabDevelopment Studio

yabDevelopment Studio

EN (Google translated): I would like to introduce my newest project, a new IDE for the yab script language.

The goal of this project is to create a development environment that allows newcomers as well as experienced developers to work quickly and effectively in yab. In addition to the usual functionality of the current IDEs, many improvements and innovations have already been introduced.

Each yab file consists essentially of four areas. The program start, a loop (loop), the operation (cases) and the swapping areas (subroutines). Because of this fact, I have always asked myself why you have made the use of libraries so unnecessarily difficult and why this function is limited to the subroutines.

This IDE consists of four editors, one editor for each program area. One for the main area (program start, program window, first queries), one for the loop area (running loop around the program open until the user terminates it), one for the case area (processing of the operation by the user) and one for the subroutine
(depletion area for a permanent access in the program).

This allows a larger overview, a faster finding of the area to be edited and the comparison and transfer of required information and queries.

Creating new projects is made easier by accessing templates, examples and existing project files. The various yab components (widgets) can be transferred into the editor via several ways. The yab commands can be viewed via a list (description) and can be transferred to the editor via a double-click. In addition, the widgets can also be selected via the program menu and transferred to the editor. For more information on the widgets from the beginning, you can open them in an extra window via a menu bar, in order to take all the necessary information (example Window Open: Size, Frame, Functionality). The color selection is equipped with various colors (also by name). Certain characters can not be displayed in yab and must be specified in a hex code. For this there is a list in which you can transfer these with a double-click in the editor. Unlike the
current IDEs, you can not open any single files in yabDS, everything must be created as a project.

A real-time GUI builder is also at work, but still at the beginning.

function Description

  • Open yabDS
  • Create a new project in the menu under Projects (Projects)
  • Create or import a new main file
  • Create or import a new loop file
  • Edit the main file and adjust the loop
  • Create files, create and import cases and subroutines
  • Test project (Main Menu Test) or yab Binding (Main Menu Build)
  • To be able to use loops, cases and subroutines, they must be called via the
    menu (Calling Loop here 
, Calling Case here 
, Calling Subroutine here
    
).

I have created a HPKG with the current state of the work. The work specified in the function description can already be carried out. The yab commands can also be used as described above. Importing examples and project files as well as adding templates is possible. The error output and the jumping into the respective file and line I have installed however so far only in the examples tested.

You can get the HPKG from our repository web site.

http://software.besly.de

If you are interested in supporting me, please feel free to contact me. I would be happy to receive information about the functionality. Also ideas are welcome. In addition, I would be happy about further examples and templates. But I would like to pray, not to use libraries, although they can still be used in the editor (main area), but these are actually unnecessary in this IDE.

I hope the idea and implementation so far applies to sympathy.

Screebshots:

Main View
yab Commands
yab Commands Menu
Example Pic the Stick

DE: Ich möchte hier mein neuestes Projekt vorstellen, eine neue IDE fĂŒr die yab Script Sprache.

Das Ziel bei diesem Projekt ist eine Entwicklungsumgebung zu schaffen, die es
Neueinsteigern ebenso wie erfahrenen Entwicklern ermöglicht schnell und effektiv in yab zu arbeiten. Neben den gewohnten Funktionsumfang der gÀngigen IDEs sind schon viele Verbesserungen und Neuerungen eingeflossen.

Jede yab Datei besteht im Wesentlichen aus vier Bereichen. Dem Programmstart, eine Schleife (Loop), die BedienungsĂŒbergabe (Cases) und den Auslagerungsbereichen (Subroutinen). Auf Grund dieser Tatsache habe ich mich immer gefragt wieso man das nutzen von Bibliotheken so unnötig schwer gemacht hat und wieso sich diese Funktion auf die Subroutinen beschrĂ€nkt.

Diese IDE besteht aus vier Editoren, jeweils einen Editor fĂŒr jeden Programmbereich. Einen fĂŒr den Main-Bereich (Programmstart, Programmfenster, erste Abfragen), einen fĂŒr den Loop-Bereich (Laufende Schleife um das Programm solange geöffnet zu lassen, bis der Netzer dieses beendet), einen fĂŒr den Case-Bereich (Verarbeitung der Bedienung durch den Nutzer) und einen fĂŒr die Subroutinen (Auslagerungsbereich fĂŒr einen permanenten zugriff im Programm).

Dies ermöglicht eine grĂ¶ĂŸere Übersicht, einen schnelleres finden des zu bearbeitenden Bereiches und das Vergleichen und Übertragen von benötigten Informationen und Abfragen.

Neue Projekte zu erstellen wird erleichtert durch den Zugriff auf Templates, Examples und vorhanden Projektdateien. Die verschiedenen yab Komponenten (Widgets) können ĂŒber mehrere Wege in den Editor ĂŒbertragen werden. Die yab Commands sind ĂŒber eine Auflistung einsehbar (Beschreibung) und ĂŒber einen Doppelklick in den Editor ĂŒbertragbar. Außerdem können die Widgets auch ĂŒber das ProgrammmenĂŒ ausgewĂ€hlt und damit in den Editor ĂŒbertragen werden. Um von vorne herein mehr Angaben fĂŒr die Widgets vor zu nehmen, können diese ĂŒber eine MenĂŒ-Leiste in einen extra Fenster geöffnet werden um dort gleich alle nötigen Angaben vor zu nehmen (Beispiel Window Open: GrĂ¶ĂŸe, Rahmen, FunktionalitĂ€t). Die enthaltene Farbauswahl ist mit diversen Farben ausgestattet (auch nach Namen). Bestimmte Zeichen können in yab nicht einfach so angezeigt werden und mĂŒssen in einen Hex-Kode angegeben werden. FĂŒr diese gibt es eine Auflistung in der du diese mit einem Doppelklick in den Editor ĂŒbertragen kannst. Anders als in den gĂ€ngigen IDEs kann man in yabDS keine Einzeldateien mehr öffnen, alles ist als ein Projekt anzulegen.

Ein Echtzeit GUI-Builder ist ebenfalls in Arbeit, aber noch in den Kinderschuhen.

Funktionsbeschreibung

  • yabDS öffnen
  • Neues Projekt anlegen im MenĂŒ unter Projekte (Projects)
  • Neue Main-Datei anlegen oder importieren
  • Neue Loop-Datei anlegen oder importieren
  • Die Main-Datei bearbeiten und die Loop anpassen
  • Benötigte Dateien anlegen, also Cases und Subroutinen erstellen oder importieren und editieren
  • Projekt testen (Main Menu Test) oder an yab Binden (Main Menu Build)
  • Um Loops, Cases und Subroutinen nutzen zu können, mĂŒssen diese ĂŒber das MenĂŒ gerufen werden (Calling Loop here
, Calling Case here
, Calling Subroutine here
).

Ich habe eine HPKG erstellt mit dem derzeitigen Stand der Arbeiten. Die bei der Funktionsbeschreibung angegeben Arbeiten können bereits durchgefĂŒhrt werden. Auch die yab Commands können wie zuvor beschrieben genutzt werden. Importieren von Example und Projekt Dateien sowie das hinzufĂŒgen von Templates ist möglich. Die Fehlerausgabe und das Springen in die jeweilige Datei und Zeile habe ich eingebaut aber bisher nur in den Examples getestet.

Ihr könnt die HPKG von unseren Repository Webseite beziehen.

http://software.besly.de

Wer Interesse hat mich bei meinem Projekt zu unterstĂŒtzen, kann sich gerne melden. Ich wĂŒrde mich dabei vor allen darĂŒber freuen, Infos ĂŒber die FunktionalitĂ€t zu erhalten. Auch Ideen sind willkommen. Außerdem wĂŒrde ich mich ĂŒber weitere Examples und Templates freuen. Ich möchte aber darum beten, dabei keine Bibliotheken zu verwenden, diese können zwar auch weiterhin im Editor verwendet werden (Main Bereich), aber diese sind eigentlich in dieser IDE unnötig.

Ich hoffe die Idee und bisherige Umsetzung trifft auf Sympathie.

7 Likes

Looking pretty darn good. I would to be able to configure the syntax colors similar to Pe.

This would be madeable then the settings are included.

Here a smal list of the features of the app and his status:

yabDevelopment Studio

  • Create Project – ok
  • Editor Main – ok
  • Editor Loop – ok
  • Editor Case – ok
  • Editor Subrountine – ok
  • Widget Windows – ok
  • Color Palette – ok
  • Patern Editor – not correct
  • Test function – ok
  • Build Source – ok
  • Build/Test Output – ok
  • Jump to Error in Sourcefile – ok
  • yab Commands – ok
  • Backup function – open
  • Create HPKG file – open
  • Project files browser – at work
  • Templates system – ok
  • Import from projects – ok
  • Import from Examples – ok
  • Export as default yab file – ok
  • Notice – ok
  • Chr$ table – ok
  • Settings – open
  • Open calculator over the menu – open
  • Open terminal – ok
  • Open project folder – ok
  • Open example folder – ok
  • Add file as template – open
  • Calling loop – ok
  • Calling case – ok
  • Calling sub – ok
  • Line number – simple
  • Mark selected editor colored – ok

yabGUI Builder

  • GUI with smal viewable parts – ok
  • Widget entry input sites – at work (Window Open ready for testing)
  • Real time display of entered data – at work
  • Export for yabIDE or other IDEs – open
  • Export to yabDevelopment Studio – open

Long time no info about the progress of my project.

I am working on it sience some weeks. Every day a little part.

4 Likes

The word you want is not ‘proceed’ but rather ‘progress’ as the former is usually used as an verb except when it is used as a noun, proceeds, and in the latter case it usually refers to money. Also you misspelled since and a better sentence might be “I have been working on it for several weeks.”. Just a few tips since English is clearly not your primary language.

You might consider just having a blog for detailing your progress on this and any other projects, so that you can simply post a blog link and a few relevant details.

Is yab really a “scripting language” or is it more akin to XML/JSON/Yaml/Make in the sense of being for configuration or specifying parameters to some default “directives”?

So far it’s not super clear what the point of your project is.

Here some pictures to explain it better. Thanks for your help writing better english. Translation and overworking it for me are welcome.

yds01
Main IDE view with the four editors (Main, Loop, Case, Subroutine)

Yds02
One of many little windows with configuration of the language widgets.

Yds03
Running one of my example games “OXO”

yds04
Instead of a text file for the yab command i add a menu to selest, get infos and add to the editors

yds05
The same for the yabasic commands

2 Likes

I see, you are referring, in part, to Yabasic. So this is basically an IDE for that particular dialect of the BASIC programming language. What distinguishes ‘yab’ from ‘yabasic’?

With api commands

yab is a fork of yabasic adding Haiku API bindings. So you can write apps using the native UI with it.

1 Like