8
Warum warten auf die IDE? Robin Sedlaczek | CTO Fairmas GmbH | .NET User Group Berlin RobinSedlaczek RobinSedlaczek.wordpress.com [email protected]

BASTA! Spring 2017 - Warum warten auf die IDE? Direct Coding in der eigenen Anwendung

Embed Size (px)

Citation preview

Page 1: BASTA! Spring 2017 - Warum warten auf die IDE? Direct Coding in der eigenen Anwendung

Warum warten auf die IDE? Robin Sedlaczek | CTO Fairmas GmbH | .NET User Group Berlin

RobinSedlaczek

[email protected]

Page 2: BASTA! Spring 2017 - Warum warten auf die IDE? Direct Coding in der eigenen Anwendung

Robin Sedlaczek

RobinSedlaczek

[email protected]

Fairmas GmbH Berlin (CTO) Community Leader DNUG Berlin Freier Autor (Windows Developer, Entwickler.de, Heise, DNP...) Open Source (ForceFeedback, Roslyn, SharpGL, FxCopAnalyzers...) Sprecher (BASTA!, .NET Summit, ParallelConf, DevOpenSpace, MDD...) Blogger / .NET Code Geek MSDN Moderator

Page 3: BASTA! Spring 2017 - Warum warten auf die IDE? Direct Coding in der eigenen Anwendung

RobinSedlaczek

[email protected]

Real World Example | Application Scripting

Robin Sedlaczek | Chief Technical Officer at Fairmas GmbH

Page 4: BASTA! Spring 2017 - Warum warten auf die IDE? Direct Coding in der eigenen Anwendung

RobinSedlaczek

[email protected] SCRIPTING

eigene Anwendung Script-fähig machen C# als Script-Sprache verwenden Roslyn bietet dafür die C# Scripting API

Fallbeispiel ModelR Kollaboratives 3D Modelling Tool Client-Server-Anwendung (basierend auf SignalR) Integriertes Scripting mit der C# Scripting API Script-Editor mit Syntax Highlighting Ausgabe von Kompilierfehlern Live Script Execution beim Tippen

Page 5: BASTA! Spring 2017 - Warum warten auf die IDE? Direct Coding in der eigenen Anwendung

RobinSedlaczek

[email protected] SCRIPTING

Script erlaubt direkten Zugriff auf Anwendungsobjekte

es können aber auch eigene Objekte erzeugt werden

Page 6: BASTA! Spring 2017 - Warum warten auf die IDE? Direct Coding in der eigenen Anwendung

RobinSedlaczek

[email protected] SCRIPTING

Nutzen für Benutzer Flexibilität – Anwendung kann in sich erweitert werden, ohne Neukompilierung durch den Benutzer Erweiterbarkeit – Anwendung kann von allen Benutzer beliebig erweitert werden Effektivität – komplexe wiederkehrende Prozesse können vom Benutzer automatisiert werden Anpassbarkeit – ein Nutzer kann sich die Anwendung nach seinen Vorstellungen/Vorgaben anpassen

Nutzen für Entwickler Beliebige APIs können dem Scripting zur Verfügung gestellt werden APIs sind dann zur Anwendungslaufzeit verfügbar und können dort ausprobiert werden Kontextwechsel zwischen Kodieren und Programmausführung fällt weg Code kann dort geschrieben werden, wo er seine Auswirkung hat Direktes Feedback der Auswirkungen sichtbar Steigerung der Effizienz Reduktion von Entwicklungskosten

Page 7: BASTA! Spring 2017 - Warum warten auf die IDE? Direct Coding in der eigenen Anwendung

RobinSedlaczek

[email protected] SCRIPTING

ModelR - Code & HowTo WaveDev.ModelR von Robin Sedlaczek Quellcode ist Open Source auf GitHub: https://github.com/robinsedlaczek/ModelR Clonen, Kompilieren, Ausführen: WaveDev.ModelR.Server zuerst starten, danach WaveDev.ModelR 4 vordefinierte ModelR-Benutzer: Robin (PW: robin), Sarah (PW: sarah), Jan (PW: jan), Sebastian (PW:

sebastian) Script-Kontext über globale Eigenschaft „ModelR“ bereitgestellt Über den Script-Kontext kann auf die Anwendungsobjekte zugegriffen werden (Users, SceneObjects) Neue Objekte werden aus Script ausgelesen und automatisch in die Szene übernommen

Page 8: BASTA! Spring 2017 - Warum warten auf die IDE? Direct Coding in der eigenen Anwendung

RobinSedlaczek

[email protected]

Warum warten auf die IDE?„Ich warte nicht mehr…“

RobinSedlaczek.wordpress.comRobinSedlaczek

[email protected]