====== Online-IDE ====== entwickelt von Martin Pabst, Christoph-Scheiner-Gymnasium Ingolstadt. ==== Kontakt ==== asv.pabst (at) gmail.com ===== Beiträge anderer Entwickler ===== * Vielen Dank an [[https://klassenkarte.de|Christoph Gräßl]] vom Donau-Gymnasium Kelheim fürs Erstellen des [[https://www.embed.learnj.de/createwrapper.html|Wrapper-Generators]]! ===== Standing on the shoulders of giants... ===== * [[https://microsoft.github.io/monaco-editor/|Monaco Editor]] \\ Der Monaco Editor ist die Editor-Komponente der Entwicklungsumgebung [[https://code.visualstudio.com/|Visual Studio Code]] von Microsoft. Sie ist zentraler Bestandteil der Online-IDE. Ohne diese Bibliothek wäre die Entwicklung der Online-IDE nicht möglich gewesen. Vielen Dank an Microsoft! * [[https://code.visualstudio.com/||Visual Studio Code]] \\ Mit dieser Entwicklungsumgebung wurde die Online-IDE erstellt. Sehr empfehlenswert! * [[https://www.typescriptlang.org/|Typescript]] \\ Der clientseitige Teil der Online-IDE wird in der Sprache Typescript entwickelt und nach Javascript kompiliert. * [[https://www.pixijs.com/|PIXI.js]] \\ Diese Bibliothek wird für die Grafikausgabe benutzt. * [[https://p5js.org/|P5.js]] \\ ist ein Javascript-Port von [[https://processing.org/|Processing]]. Alle Methoden der Klasse ''PApplet'' rufen intern wiederum Methoden von P5.js auf. * [[http://w2ui.com/web/|w2ui]] \\ Die Tabellen in der Benutzerverwaltung stammen aus der Bibliothek w2ui. * [[https://jquery.com/|JQuery]] vereinfacht die Web-Programmierung enorm. * [[https://howlerjs.com/|howler.js]] wurde für die Soundausgabe benutzt. * [[https://github.com/google/diff-match-patch|DiffMatchPatch]] kommt im Repository zum Einsatz: Die History speichert damit jeweils nur die Unterschiede zur nächsten Dateiversion. * [[https://github.com/markdown-it/markdown-it|Markdown-it]] wird zur Anzeige der Tipps im Embedded-Editor verwendet. * [[https://www.chartjs.org|Chart.js]] wird zur Anzeige der Serverstatistiken benutzt. * [[https://github.com/nodeca/pako|Pako.js]] wird zum Entpacken von zip-Dateien verwendet. * Die [[https://www.sqlite.org/index.html|SQLite]]-Variante [[https://github.com/sql-js/sql.js/|sql.js]] kommt clientseitig als SQL-Datenbank zum Einsatz.