Scoriet – Ein Open-Source Programmgenerator
Scoriet ist ein Programmgenerator der mit Hilfe von Templates Quellcodes generiert. Im Moment noch auf PHP und MySQL beschränkt, ist die Zukunft des Tools noch offen!
Eine kurze Historie
Scoriet ist ein Kunstwort aus (S) Source (C) Code und ‚Oriet‘. Oriet bedeutet frei auf Latein er/sie/es wird entstehen. Also die Bedeutung des Wortes ist „Quellcode wird entstehen“.
Scoriet hieß früher ClassMax was auch anfänglich meinen Zweck erfüllte, eine Klasse für PHP zu erzeugen, also ohne GUI/Frontend CRUD (create, read, update, delete) Seiten. Später entwickelte ich auch Templates für ein CRUD RAD Muster und der Name ClassMax war etwas zuwenig. Verschiedene Namen folgten wie TotalSourceMaker oder NabooGenerator… aber Scoriet machte das Rennen!
Die Idee für Scoriet kam mir vor etwa 20 Jahren, zuerst in Visual Basic 6.0 entwickelt und dann verfeinert. Was wäre wenn, es einen Generator gäbe, der nur aufgrund einer Datenbank, ein Programm generiert, dann würden wir uns Wochen, Monate Arbeit ersparen, da wir wenn wir eine neue Datei in der Datenbank anlegen, nur mehr auf einen Knopf drücken müssen und die Datenerfassung/Datenpflege ist fertig, wir kümmern uns nur mehr um die Auswertung oder die Programme die die Daten benötigen. Keine Tabellen, keine Formulare, keine PDF Ausgabe (CRUD) usw. mehr mühsam programmieren.
WinDev eröffnete mir neue Wege und Möglichkeiten. Ab 2012 (WinDev 17) bekam WinDev die Möglichkeit dynamisch Code auszuführen. Jedoch der Quellcode für die Ausführung (Templates analysieren, parsen und zu einem Quellcode zusammenzuführen) erforderte viel Arbeit und mehrere Versuche, so dauerte die Entwicklung von Scoriet Jahre. Leider ist Scoriet immer noch nicht ganz fertig, wird es leider aufgrund der Materie nie sein und wird daher ständig weiterentwickelt.
Templates
Jetzt kann Scoriet zweierlei Template Programmiersprachen ausführen. Zuerst die eigene Template Sprache (ähnlich wie Smarty) und natürlich auch direkt die Programmiersprache von WinDev selbst, nämlich W-Language. Damit können auch extrem komplexe Templates erstellt werden. Jedes Template kann auf das Projekt, alle Tabellen, eine Tabelle oder bestimmte Tabellen bezogen werden. Sogar bis auf den Link zwischen den Tabellen können die Templates zugreifen! Sie können auf die gesamte Datenbank zugreifen innerhalb des Templates, damit stehen Ihnen alle Möglichkeiten offen!
Scoriet compiliert die Templates und WinDev führt diesen Quellcode dynamisch aus, dieser erzeugt wiederum den Quellcode für Ihre generierte Anwendung!
Scoriet hat keinen fixen Quellcode der irgendwo eingefügt wird, daher ist Scoriet universell einsetztbar für: PHP, Laravel, Yii, Zend, Symfony, Python, Ruby on Rails, C++, C#, VB.NET, Go, Java (auch Android!), Swift, X-Code, Cobol, Basic (VB-Dos, VB6, QBasic usw.), und viele, viele andere Programmiersprachen! Praktisch alle Programmiersprachen die den Quellcode in Klarschriftdateien ablegen, können mit Scoriet generiert werden. Für jede Programmiersprache muss aber ein eigenes Template entwickelt werden.
Scoriet erlaubt Ihnen natürlich selbst Templates zu erstellen und natürlich auch Templates von anderen Programmierern zu imporieren. Sie dürfen die eingebauten Templates verändern und als eigenes Template abspeichern!
Scoriet liefert ein eher primitives PHP Template mit, bitte um Nachsicht, meine Zeit reicht im Moment nur für die essentiellen Dinge. Dieses Template soll nur die Möglichkeiten demonstrieren. Hilfe wird in Sachen Templates dringend benötigt!
MySQL & MariaDB
Scoriet importiert eine MySQL/MariaDB Datenbank (später ist es geplant auch andere Datenbanken zu importieren, MS-SQL ist bereits in Arbeit) in die eigene Datenbank (HyperFile Classic, HFSQL Client/Server ist später auch geplant) und diese eigene Datenbank ist die Grundlage für den Generator der mit Hilfe eines Templates den finalen Quellcode generiert. Sie können, wenn Sie eine andere Datenbank verwenden, diese vorher in eine MySQL/MariaDB Datenbank importieren!
Open Source
Scoriet ist ab Ende 2017 Open Source, daher bitte ich um Spenden um Scoriet weiter entwickeln zu können, den Quellcode gibt es vorerst nur auf Anfrage per Email, später ist geplant Scoriet auch auf Sourceforge oder Github zur Verfügung zu stellen.
Optionale Registrierung
Scoriet verlangt eine Registrierung, diese ist aber Optional. Jeder Benutzer der sich registriert, wird von uns eine Email (kein Spam!!!) erhalten, wenn sich bei Scoriet etwas ändert, neue Templates dazukommen, Scoriet weiter Funktionen usw. erhält! Datenschutz wird bei uns groß geschrieben, wir verkaufen keine Email Daten, Spam ist ausgeschlossen!
Community
Empfehlen Sie Scoriet weiter, damit wächst die Community und Scoriet wird zu einem mächtigen Werkzeug, nicht nur für PHP sondern auch für viele andere Programmiersprachen!
Helfen Sie uns
Wir brauchen etwas Hilfe: Wenn jemand PHP Yii, PHP Laravel 5x oder anderes gutes PHP Framewort sehr gut beherrscht, bitte bei uns melden, wir wollen in der nächsten Version so ein Template mit einbauen.