My slides from the Advanced Developers Conference 2017 (ADC Core) in Cologne! It's about C# scripting and how you can use it in your application. Benefits for developers and customers.
BASTA! 2017 Jubiläumskonferenz - Warum warten auf die IDE!?Robin Sedlaczek
Slides from my talk about early feedback during development time, flexibility for customers and security as a Must-have. It's nothing about management - it's all about C# Script and practical use.
BASTA! Spring 2017 - Warum warten auf die IDE? Direct Coding in der eigenen A...Robin Sedlaczek
Slides from my talk about direct coding in the own application using C# Scripting. Try and us your applications domain models and services in C# Scripts to empower development within an application. Or give your users the possibility to automate and extend your application with scripting.
BASTA! 2016 - Roslyn & Visual Studio ExtensionsRobin Sedlaczek
Slides from my talks at the BASTA! Conference 2016 in Mainz. It's about the Microsoft .NET Compiler Platform (Roslyn), Visual Studio Extensions and increasing productivity when combining them.
Dream-Team: Roslyn & Visual Studio ExtensionsRobin Sedlaczek
Slides from my talk about the dream team Roslyn & Visual Studio Extensions. It's more a live-coding session than a talk, where I show a lot of examples combining the power of Roslyn (the Microsoft .NET Compiler Platform) and Visual Studio Extensions. This dream team can improve your code quality and security, increase your developer productivity or improve/support the development process as well as the application lifecycle management of your project.
And that is only the peak of the iceberg. At the end, this talk should open up your minds and unleash your creativity to create great ideas that help your team and your project.
My slides from the Advanced Developers Conference 2017 (ADC Core) in Cologne! It's about C# scripting and how you can use it in your application. Benefits for developers and customers.
BASTA! 2017 Jubiläumskonferenz - Warum warten auf die IDE!?Robin Sedlaczek
Slides from my talk about early feedback during development time, flexibility for customers and security as a Must-have. It's nothing about management - it's all about C# Script and practical use.
BASTA! Spring 2017 - Warum warten auf die IDE? Direct Coding in der eigenen A...Robin Sedlaczek
Slides from my talk about direct coding in the own application using C# Scripting. Try and us your applications domain models and services in C# Scripts to empower development within an application. Or give your users the possibility to automate and extend your application with scripting.
BASTA! 2016 - Roslyn & Visual Studio ExtensionsRobin Sedlaczek
Slides from my talks at the BASTA! Conference 2016 in Mainz. It's about the Microsoft .NET Compiler Platform (Roslyn), Visual Studio Extensions and increasing productivity when combining them.
Dream-Team: Roslyn & Visual Studio ExtensionsRobin Sedlaczek
Slides from my talk about the dream team Roslyn & Visual Studio Extensions. It's more a live-coding session than a talk, where I show a lot of examples combining the power of Roslyn (the Microsoft .NET Compiler Platform) and Visual Studio Extensions. This dream team can improve your code quality and security, increase your developer productivity or improve/support the development process as well as the application lifecycle management of your project.
And that is only the peak of the iceberg. At the end, this talk should open up your minds and unleash your creativity to create great ideas that help your team and your project.
BASTA! Spring 2018 - Architekturen für .NET Core-AnwendungenRobin Sedlaczek
Slides from my workshop about software architectures for .NET Core applications at BASTA! Spring 2018 conference. We talk about architectures for enterprise mobile apps with Xamarin.Forms and ASP.NET Web Apps. Then we went hands-on and developed a CRM system called BASTAdynamics. :) One #microservice per desk, #containerized with #Docker, published to #Azure registry, deployed as Azure web apps. We have #aspnet #angular, #razor, #UWP & #Xamarin.Forms clients. #IdentityServer & @AzureCosmosDB in the backend. AND: We had a lot of fun! :)
Hands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET CoreGregor Biswanger
Das Dokumentieren einer API wird oft als mühsame, aber wesentliche Aufgabe angesehen. Mit OpenAPI / Swagger können wir eine API-Dokumentation angenehm einfach in ASP.NET Core integrieren. Gregor Biswanger zeigt, wie eine API-Dokumentation mit einer Benutzeroberfläche hinzugefügt wird, mit der wir die API testen können.
Als Nächstes erfahren wir, wie wir Attribute und Konventionen verwenden, um die generierte OpenAPI-Spezifikation zu verbessern. Abschließend wird gezeigt, wie wir mit der Authentifizierung, Versionierung und Anpassung der Benutzeroberfläche umgehen.
These are the slides from my talk about immutable types in Microsoft .NET and how they are used in Roslyn from the Parallel Conference 2016 in Heidelberg.
Slides from my presentation about application architectures for .NET Core applications. It covers desktop application, web applications, mobile applications as well as container-based applications. It's a roundup of the Microsoft Architecture Guides.
Typescript zur Applikationsentwicklung nutzen. Hier werden die wichtigsten Features der Sprache kurz vorgestellt und am konkreten Beispiel deren Einsatz gezeigt.
In „Grüne Wiese“-Projekten besteht in der Phase der Teamfindung am Anfang das Risiko des Perfektionismus. Eine Projektidee ist geboren, das Team gecastet. Jetzt geht es los. Ganz oft werden erstmal Konzept und Architekturen diskutiert und irgendwann natürlich auch implementiert. Alles soll sauber gecodet und möglichst gut getestet sein (Clean Code). So kann die Umsetzung einfacher Funktionalitäten schon mal ein paar mehr Tage in Anspruch nehmen. Wenn sich das ein paar Mal häuft, hat man nach drei Monaten ein wirklich sauber entwickeltes Projekt, das aber leider dann abgeschaltet wird. Im Gegensatz dazu steht der Lean-Ansatz. Lean Programming und Lean Testing meint, dass ein MVP keine perfekte Architektur und keine hohe Testabdeckung braucht, um festzustellen, ob das Projekt funktioniert. Im Verlauf des Projekts ist es dann einfach möglich, die Teile besser zu machen, die oft gebraucht werden, und falls das Projekt gestoppt wird, hat man nicht viel Geld verbrannt.
#SpeakRoslyn - Die Microsoft .NET Compiler PlattformRobin Sedlaczek
This are the slides from my talk about the Microsoft .NET Compiler Platform. I traveled around the .NET User Groups in Germany and showed them the .NET Compiler Platform aka Project Roslyn and how Visual Studio 2015 was partly reimplemented to make use of Roslyn.
Taugt AngularJS wirklich was? Erfahrungsbericht und AusblickPhilipp Burgmer
Slides for my presentation at WebTechCon/IPC 2014.
Visit us at http://www.thecodecampus.de
Folien zu meinem Vortrag bei der WebTechCon/IPC 2014.
AngularJS verspricht, die Entwicklung moderner Single-Page-Webanwendungen radikal zu vereinfachen. Doch kann dieses Versprechen auch bei Anwendungen, die über eine Demoanwendung (To-do-App) hinausgehen, gehalten werden? In diesem Vortrag zeigen wir die Stärken und Schwächen von AngularJS anhand unserer Erfahrungen aus mehreren Projekten und unserer Schulungen. Wie meistert man den Einstieg? Was sind die Gefahren, und wie minimiert man sie? Ist AngularJS bereit für den Einsatz in großen Anwendungen? Wir geben Antworten. Zusätzlich geben wir einen Ausblick auf AngularJS 2.0, wie die bekannten Schwächen dort behoben werden sollen und was an Neuerungen zu erwarten ist.
Build Patterns - Patterns und Best Practices für den Build ProzessRalf Abramowitsch
Mein Vortrag auf der Konferenz "Continuous Lifecycle 2013" am 12.11.2013 in Karlsruhe: Build Patterns - Patterns und Best Practices für den Build Prozess.
Dabei wurden insgesamt 6 Buildpatterns vorgestellt: Build Script Injection, Build-Skelett, Ablagen-unabhängige Build-Skripte, Infrastruktur-unabhängige Build-Skripte, Kumulative Builds und Gated Commits. Alle Patterns basieren auf dem Buch "Beautiful Builds" von Roy Osherove.
Wie oft haben Sie schon in Foren gelesen: "Das geht nicht mit Bordmitteln; das muss man mit der C API machen". Schön und gut, aber wie geht das? Welche Tools benötige ich, und wo bekomme ich diese her? Die Session gibt einen Überblick über die Anwendungsgebiete der C / C++ API für Lotus Notes / Domino und erläutert die Installation einer Entwicklungsumgebung. Neben der Erstellung von C Programmen wird auch der direkte Aufruf von Funktionen aus Lotusscript heraus erläutert.
Praktische Beispiele sollen dem Entwickler den Einstieg in die Programmierung mit der C / C++ API für Lotus Notes / Domino erleichtern. Level: Einsteiger, die sich auch in Zeiten von XPages, JAVA und SSJS noch an das "Urgestein C" herantrauen.
Developer Week 2019: Identity & Access Management in der RealitaetRobin Sedlaczek
My slide about identity and access management (IAM) in complex and distributed software applications/solutions. The goal was to share real world experiences made when evolving multiple connected software applications on different technical stacks to use/support modern security approaches and standards (specifically oAuth2 and Open ID Connect) while solving several issues with multi-tenancy, multiple distributed (production) server, organizational challenges and integration problems internal as well as with external 3rd party applications.
BASTA! Spring 2018 - Architekturen für .NET Core-AnwendungenRobin Sedlaczek
Slides from my workshop about software architectures for .NET Core applications at BASTA! Spring 2018 conference. We talk about architectures for enterprise mobile apps with Xamarin.Forms and ASP.NET Web Apps. Then we went hands-on and developed a CRM system called BASTAdynamics. :) One #microservice per desk, #containerized with #Docker, published to #Azure registry, deployed as Azure web apps. We have #aspnet #angular, #razor, #UWP & #Xamarin.Forms clients. #IdentityServer & @AzureCosmosDB in the backend. AND: We had a lot of fun! :)
Hands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET CoreGregor Biswanger
Das Dokumentieren einer API wird oft als mühsame, aber wesentliche Aufgabe angesehen. Mit OpenAPI / Swagger können wir eine API-Dokumentation angenehm einfach in ASP.NET Core integrieren. Gregor Biswanger zeigt, wie eine API-Dokumentation mit einer Benutzeroberfläche hinzugefügt wird, mit der wir die API testen können.
Als Nächstes erfahren wir, wie wir Attribute und Konventionen verwenden, um die generierte OpenAPI-Spezifikation zu verbessern. Abschließend wird gezeigt, wie wir mit der Authentifizierung, Versionierung und Anpassung der Benutzeroberfläche umgehen.
These are the slides from my talk about immutable types in Microsoft .NET and how they are used in Roslyn from the Parallel Conference 2016 in Heidelberg.
Slides from my presentation about application architectures for .NET Core applications. It covers desktop application, web applications, mobile applications as well as container-based applications. It's a roundup of the Microsoft Architecture Guides.
Typescript zur Applikationsentwicklung nutzen. Hier werden die wichtigsten Features der Sprache kurz vorgestellt und am konkreten Beispiel deren Einsatz gezeigt.
In „Grüne Wiese“-Projekten besteht in der Phase der Teamfindung am Anfang das Risiko des Perfektionismus. Eine Projektidee ist geboren, das Team gecastet. Jetzt geht es los. Ganz oft werden erstmal Konzept und Architekturen diskutiert und irgendwann natürlich auch implementiert. Alles soll sauber gecodet und möglichst gut getestet sein (Clean Code). So kann die Umsetzung einfacher Funktionalitäten schon mal ein paar mehr Tage in Anspruch nehmen. Wenn sich das ein paar Mal häuft, hat man nach drei Monaten ein wirklich sauber entwickeltes Projekt, das aber leider dann abgeschaltet wird. Im Gegensatz dazu steht der Lean-Ansatz. Lean Programming und Lean Testing meint, dass ein MVP keine perfekte Architektur und keine hohe Testabdeckung braucht, um festzustellen, ob das Projekt funktioniert. Im Verlauf des Projekts ist es dann einfach möglich, die Teile besser zu machen, die oft gebraucht werden, und falls das Projekt gestoppt wird, hat man nicht viel Geld verbrannt.
#SpeakRoslyn - Die Microsoft .NET Compiler PlattformRobin Sedlaczek
This are the slides from my talk about the Microsoft .NET Compiler Platform. I traveled around the .NET User Groups in Germany and showed them the .NET Compiler Platform aka Project Roslyn and how Visual Studio 2015 was partly reimplemented to make use of Roslyn.
Taugt AngularJS wirklich was? Erfahrungsbericht und AusblickPhilipp Burgmer
Slides for my presentation at WebTechCon/IPC 2014.
Visit us at http://www.thecodecampus.de
Folien zu meinem Vortrag bei der WebTechCon/IPC 2014.
AngularJS verspricht, die Entwicklung moderner Single-Page-Webanwendungen radikal zu vereinfachen. Doch kann dieses Versprechen auch bei Anwendungen, die über eine Demoanwendung (To-do-App) hinausgehen, gehalten werden? In diesem Vortrag zeigen wir die Stärken und Schwächen von AngularJS anhand unserer Erfahrungen aus mehreren Projekten und unserer Schulungen. Wie meistert man den Einstieg? Was sind die Gefahren, und wie minimiert man sie? Ist AngularJS bereit für den Einsatz in großen Anwendungen? Wir geben Antworten. Zusätzlich geben wir einen Ausblick auf AngularJS 2.0, wie die bekannten Schwächen dort behoben werden sollen und was an Neuerungen zu erwarten ist.
Build Patterns - Patterns und Best Practices für den Build ProzessRalf Abramowitsch
Mein Vortrag auf der Konferenz "Continuous Lifecycle 2013" am 12.11.2013 in Karlsruhe: Build Patterns - Patterns und Best Practices für den Build Prozess.
Dabei wurden insgesamt 6 Buildpatterns vorgestellt: Build Script Injection, Build-Skelett, Ablagen-unabhängige Build-Skripte, Infrastruktur-unabhängige Build-Skripte, Kumulative Builds und Gated Commits. Alle Patterns basieren auf dem Buch "Beautiful Builds" von Roy Osherove.
Wie oft haben Sie schon in Foren gelesen: "Das geht nicht mit Bordmitteln; das muss man mit der C API machen". Schön und gut, aber wie geht das? Welche Tools benötige ich, und wo bekomme ich diese her? Die Session gibt einen Überblick über die Anwendungsgebiete der C / C++ API für Lotus Notes / Domino und erläutert die Installation einer Entwicklungsumgebung. Neben der Erstellung von C Programmen wird auch der direkte Aufruf von Funktionen aus Lotusscript heraus erläutert.
Praktische Beispiele sollen dem Entwickler den Einstieg in die Programmierung mit der C / C++ API für Lotus Notes / Domino erleichtern. Level: Einsteiger, die sich auch in Zeiten von XPages, JAVA und SSJS noch an das "Urgestein C" herantrauen.
Developer Week 2019: Identity & Access Management in der RealitaetRobin Sedlaczek
My slide about identity and access management (IAM) in complex and distributed software applications/solutions. The goal was to share real world experiences made when evolving multiple connected software applications on different technical stacks to use/support modern security approaches and standards (specifically oAuth2 and Open ID Connect) while solving several issues with multi-tenancy, multiple distributed (production) server, organizational challenges and integration problems internal as well as with external 3rd party applications.
Slides from my talk at BASTA! Spring 2019 about soft migration into the (Azure) cloud - step-by-step, service-by-service - With Azure Hybrid Connections. Let your cloud-services access your protected (on-prem) resources in just a few steps.
Magdeburger Developer Days 2018 - Das perfekte AnwendungsmodellRobin Sedlaczek
Slides from my talk about the perfect app model: bots at the Magdeburger Developer Days 2018. All about bots on different channels and as skills for voice assistants. Introduction.
Alleskönner: Azure Cosmos DB - Was kann der neue Datenbank-Service von Micros...Robin Sedlaczek
Slides from my session about Azure Cosmos DB at the BASTA! Spring 2018 conference in Frankfurt. It gives a brief introduction into Cosmos DB. In the live demo, I showed Azure Cosmos DB in action.
GUI & DESIGN 2017 - Das perfekte Anwendungsmodell. UIs für jedes Device!Robin Sedlaczek
Slides from my talk about the perfect app model at the GUI & DESIGN 2017 conference. It's about multi-modal conversational user interfaces (CUI) to build UIs for every device with ease and one code base! Never exclude any user groups again. Using the Microsoft Bot Framework, Cognitive Services and AdaptiveCards. But we talk about Google Go and Alexa app models as well.
BASTA! 2017 Jubiläumskonferenz - CUIs & The Microsoft Bot FrameworkRobin Sedlaczek
Slides from my talk at the BASTA! 2017 Jubiläumskonferenz about the evolution of the user interface and the next step we have to go. It's all about Conversational User Interfaces (CUI), what they are and how they work compared to the graphical user interface (GUI).The practical part demos how chat bot can be used to implement such CUIs. In particular, the Microsoft Bot Framework is discussed.
Slides from my workshop about Microsoft .NET, .NET Core and .NET Standard. In this workshop, I gave an overview of these several topics to show the direction of Microsoft's development platform to the audience.
In this talk I give an overview of Conversation User Interfaces (CUIs), Artificial Intelligence, Bots and what that all means for future human-machine-interaction.
These are the slides from the .NET Summit 2016 in Munich where I talked about the .NET Compiler Platform and how it can help to solve developers day-to-day challenges directly where they work - the IDE.
At the very last slide, you can find an overview, the descriptions and links to the code of the discussed examples. Everything is at GitHub on my account. :)
2. Robin Sedlaczek
RobinSedlaczek
RobinSedlaczek.com
RobinSedlaczek@live.de
CTO der Fairmas GmbH in Berlin
Community Leader DNUG Berlin
Blogger / .NET Code Geek
Sprecher
MSDN Moderator
Freier Autor
(Entwickler.de, Heise, DotNetPro, Informatik aktuell)
Open Source
(SharpGL, Roslyn, FxCopAnalyzers, Force Feedback)
4. RobinSedlaczek
RobinSedlaczek.com
RobinSedlaczek@live.de
C# SCRIPTING – WOZU DAS DENN?
C# Script-Engine im eigenen Code
Ermöglicht Ausführen von C# Code-Snippets
Ganz einfach und zu jeder Zeit!
Keine Solution, Projekte, Namespaces oder Klassen-Deklarationen nötig
Nichts muss, alles kann
Nur kompilierbar sollte es sein.
8. RobinSedlaczek
RobinSedlaczek.com
RobinSedlaczek@live.de
C# SCRIPTING - ÜBERSICHT
Ermöglicht einfaches Ausführen von C# Code-Snippets, zu jeder Zeit
Teil der Microsoft .NET Compiler Plattform („Roslyn“)
https://github.com/dotnet/roslyn
NuGet-Paket: Microsoft.CodeAnalysis.CSharp.Scripting (v1.3.2, Stand September 2016)
http://www.nuget.org/packages/Microsoft.CodeAnalysis.CSharp.Scripting/1.3.2
v2.0.0 zur Zeit in Preview/Beta-Status, kommt mit Visual Studio 15
Momentan nur C# Scripting unterstützt
VB.NET Scripting geplant, Roadmap aber ungewiss
Min. Target Framework: .NET Framework 4.6
.NET Core, .NET Native, UWP momentan nicht unterstützt
9. RobinSedlaczek
RobinSedlaczek.com
RobinSedlaczek@live.de
C# SCRIPTING - ÜBERSICHT
Hinzufügen zur Solution oder zum Projekt mit
NuGet Package Manager UI in Visual Studio oder
NuGet Package Manager Console: Install-Package Microsoft.CodeAnalysis.CSharp.Scripting
Namespace-Import: using Microsoft.CodeAnalysis.CSharp.Scripting
Einstieg in die API bildet die statische Klasse CSharpScript:
11. RobinSedlaczek
RobinSedlaczek.com
RobinSedlaczek@live.de
C# SCRIPTING - API
Evaluieren von Skripten mit CSharpScript.EvaluateAsync():
EvaluteAsync<T>() führt Skript aus und gibt Ergebnis zurück
Ergebnis ist vom Typ Task<T> (im Beispiel Task<int>)
CompilationErrorException wenn Typangabe nicht zu Ergebnistyp passt
Nicht-generische Überladung führt implizite Typkonvertierung nicht durch
// Value of result will be 3 of explicit type int.
int result = await CSharpScript.EvaluateAsync<int>("1 + 2");
// Value of result will be 3 of type object.
object result = await CSharpScript.EvaluateAsync("1 + 2");
12. RobinSedlaczek
RobinSedlaczek.com
RobinSedlaczek@live.de
C# SCRIPTING - API
Ausführen von Skripten mit CSharpScript.RunAsync():
RunAsync<T>() führt Skript aus und kapselt Ergebnis in ScriptState<T>
Ergebnis ist vom Typ Task<ScriptState<T>> (im Beispiel Task<ScriptState<int>>)
CompilationErrorException wenn Typangabe nicht zu Ergebnistyp passt
Nicht-generische Überladung führt implizite Typkonvertierung nicht durch, Ergebnistyp ist dann Task<ScriptState>
ScriptState<T> kapselt Ergebnis und weitere Informationen über das Skript
// Variable result will contain return value 3 of explicit type int.
ScriptState<int> result = await CSharpScript.RunAsync<int>("1 + 2");
// Variable result will contain return value 3 of type object.
ScriptState<object> result = await CSharpScript.RunAsync("1 + 2");
13. RobinSedlaczek
RobinSedlaczek.com
RobinSedlaczek@live.de
C# SCRIPTING - API
Skript-Ergebnisse auswerten – die Klasse ScriptState:
ScriptState beinhaltet Laufzeitinformationen über das Skript
Skript-Variablen und ihre Werte über Eigenschaft Variables abrufbar
Skript-Rückgabewert über Eigenschaft ReturnValue abrufbar
Ableitung ScriptState<T> typisiert ReturnValue mit generischem Typ
Skript-Abstraktion über Eigenschaft Script abrufbar
var a = 5;
var b = 7;
return a + b;
14. RobinSedlaczek
RobinSedlaczek.com
RobinSedlaczek@live.de
C# SCRIPTING - API
Skripte erzeugen und verwalten mit CSharpScript.Create():
var snippet =
@"
var a = 5;
var b = 7;
return a + b;
";
// Creates script with return type of int.
Script<int> script2 = CSharpScript.Create<int>(snippet);
// Creates script with return type of object.
Script script = CSharpScript.Create(snippet);
CSharpScript.Create<T>() kapselt Code-Snippet in einer Instanz
der Klasse Script<T>
Code-Snippet wird dabei aber nicht sofort ausgeführt
Die Klasse Script<T> liefert Informationen und bietet viele
Funktionen für den Umgang mit Skripten
Z.B. kann über die Eigenschaft ReturnType der Typ des
Rückgabewertes des Skriptes abgerufen werden
Typparameter T bestimmt Rückgabetyp
Nicht-generische Überladung gibt Instanz von Script<object>
zurück Rückgabetyp ist dann object
15. RobinSedlaczek
RobinSedlaczek.com
RobinSedlaczek@live.de
C# SCRIPTING - API
Umgang mit Skripten – die Klasse Script:
ScriptState beinhaltet Laufzeitinformationen über das Skript
erfüllt verschiedene Aufgaben, wie z.B. das Ausführen von Skripten zu späteren
Zeitpunkten, Fortführung von Skripten, Bereitstellung von Compiler-Informationen,
Bereitstellung von Kontext innerhalb von Skripten etc.
19. RobinSedlaczek
RobinSedlaczek.com
RobinSedlaczek@live.de
APPLICATION 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
21. RobinSedlaczek
RobinSedlaczek.com
RobinSedlaczek@live.de
APPLICATION 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
22. RobinSedlaczek
RobinSedlaczek.com
RobinSedlaczek@live.de
APPLICATION 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