SlideShare ist ein Scribd-Unternehmen logo
SCRIPTCS
C# als Skriptsprache!?

Fabian Deitelhoff

@FDeitelhoff
Was ist scriptcs?
Vollständige Engine für C#-Code

Fabian Deitelhoff

@FDeitelhoff
Wer hat‘s erfunden?
Glenn Block (@gblock)
Justin Rusbatch (@jrusbatch)

Filip Wojcieszyn (@filip_woj)

Fabian Deitelhoff

@FDeitelhoff
Was will scriptcs?
C# mit einem Texteditor schreiben & ausführen

Fabian Deitelhoff

@FDeitelhoff
Ziele & Werte?
Öffentliche Werte, Anwendungsfälle & Akzeptanzkriterien

Fabian Deitelhoff

@FDeitelhoff
Werte
Einfachheit, Agilität, schnelle Entwicklung

Fabian Deitelhoff

@FDeitelhoff
Anwendungsfälle
Rapid Prototyping, Anwendungen, Erweiterungen, Skripte

Fabian Deitelhoff

@FDeitelhoff
Akzeptanzkriterien
Kein Handbuch, keine Abhängigkeiten, lose Skripte, Pakete

Fabian Deitelhoff

@FDeitelhoff
Fabian Deitelhoff

@FDeitelhoff
Ein paar kurze Fakten
Open Source (GitHub), sehr aktiv, sehr beliebt

Fabian Deitelhoff

@FDeitelhoff
Technische Basis
Basiert hauptsächlich auf Roslyn und NuGet

Fabian Deitelhoff

@FDeitelhoff
Roslyn?
C#- und VB.NET-Compiler als Dienste

Fabian Deitelhoff

@FDeitelhoff
Fabian Deitelhoff

@FDeitelhoff
Und was genau?
Ein bestimmter Aspekt von Roslyn

Fabian Deitelhoff

@FDeitelhoff
NuGet?
Paketverwaltung für die Microsoft-Plattform & .NET

Fabian Deitelhoff

@FDeitelhoff
Installation
Zwei Varianten. Eine schnell, die andere schneller

Fabian Deitelhoff

@FDeitelhoff
Variante 1
Quellen von GitHub besorgen
Die Datei build.cmd ausführen

Fabian Deitelhoff

@FDeitelhoff
Variante 2
Chocolatey installieren
Den Befehl cinst scriptcs ausführen

@powershell
-NoProfile
-ExecutionPolicy Unrestricted
-Command "iex ((New-Object Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))"
&& SET PATH=%PATH%;%systemdrive%chocolateybin

Fabian Deitelhoff

@FDeitelhoff
Alles startklar?
Auf die Plätze, fertig, los!

Fabian Deitelhoff

@FDeitelhoff
Erste Gehversuche mit REPL
Read-Eval-Print-Loop. Schnell, unkompliziert, für zwischendurch

Fabian Deitelhoff

@FDeitelhoff
REPL-Features
DEMO

Fabian Deitelhoff

@FDeitelhoff
REPL-Features
Direkte Ausführung, multiline, nette Gimmicks

Fabian Deitelhoff

@FDeitelhoff
C# Skriptdateien
REPL ist schön, aber schnell zu eingeschränkt

Fabian Deitelhoff

@FDeitelhoff
C# Skriptdateien
Datei auf, relevanter Code rein, speichern, fertig

Fabian Deitelhoff

@FDeitelhoff
Editoren?
Vollkommen egal! Ich bevorzuge Sublime Text 2

Fabian Deitelhoff

@FDeitelhoff
C# Skriptdateien
Keine Namespaces, keine Klassen, nur wichtige Dinge

Fabian Deitelhoff

@FDeitelhoff
Features
#load, #r, Parameter, Standards, Pakete

Fabian Deitelhoff

@FDeitelhoff
C# Skriptdateien
DEMO

Fabian Deitelhoff

@FDeitelhoff
C# Skriptdateien

Fabian Deitelhoff

@FDeitelhoff
Standards
• System

• System

• System.Core

• System.Collections.Generic

• System.Data

• System.Linq

• System.Data.DataSetExtensions

• System.Text

• System.Xml

• System.Threading.Tasks

• System.Xml.Linq

Fabian Deitelhoff

@FDeitelhoff
Pakete
scriptcs Script Packs & „normale“ Pakete

Fabian Deitelhoff

@FDeitelhoff
Pakete
Verwaltung läuft über NuGet
scriptcs -install <Paketname>

Fabian Deitelhoff

@FDeitelhoff
Script Packs
Simplere Anwendung, Automatismen, Factory-Methode

Fabian Deitelhoff

@FDeitelhoff
Weitere Pakete
Identische Installation, „normale“ NuGet-Pakete

Fabian Deitelhoff

@FDeitelhoff
Pakete
DEMO

Fabian Deitelhoff

@FDeitelhoff
Debugging
Auch bei Skriptdateien tauchen Fehler auf…

Fabian Deitelhoff

@FDeitelhoff
Debugging
Läuft über Visual Studio

Fabian Deitelhoff

@FDeitelhoff
Debugging
DEMO

Fabian Deitelhoff

@FDeitelhoff
Was können wir?
Installation, REPL, Skripte, Referenzen, Pakete, Debugging

Fabian Deitelhoff

@FDeitelhoff
That‘s it!
Wir kennen scriptcs

Fabian Deitelhoff

@FDeitelhoff
Anwendungsbeispiele
Und was macht man jetzt damit?

Fabian Deitelhoff

@FDeitelhoff
PDF-Datei manipulieren
Ich brauche Seite 2 und 3

Fabian Deitelhoff

@FDeitelhoff
Konfigurationen
Können auch als C# Skriptdateien abgelegt werden

Fabian Deitelhoff

@FDeitelhoff
scriptcs ebnet den Weg
Die Anwendungsszenarien kommen von uns!

Fabian Deitelhoff

@FDeitelhoff
Zukunft
Export als exe-Datei & Visual Studio Projekt

Fabian Deitelhoff

@FDeitelhoff
Vielen Dank für die Aufmerksamkeit!

Fabian Deitelhoff

@FDeitelhoff
Fabian Deitelhoff
Informatikstudent Master of Science
Schwerpunkt Biomedizinische Informatik

Autor, Speaker, Trainer, Softwareentwickler

Kontaktinformationen
E-Mail: Fabian@FabianDeitelhoff.de
Twitter: @FDeitelhoff
Blog:
http://www.fabiandeitelhoff.de
Fabian Deitelhoff

@FDeitelhoff

Weitere ähnliche Inhalte

Andere mochten auch

110430 todos somos tomás
110430 todos somos tomás110430 todos somos tomás
110430 todos somos tomás
Comunidad de los Siervos de Jesús
 
Icfes 1999 la_investigacion
Icfes 1999 la_investigacionIcfes 1999 la_investigacion
Icfes 1999 la_investigacion
Ernesto Fernández
 
Clase modelo
Clase modeloClase modelo
Clase modelo
Ernesto Fernández
 
Religion
ReligionReligion
Religion
Javier Bernal
 
Citacionaudiencia valledupar-17-02-2012
Citacionaudiencia valledupar-17-02-2012Citacionaudiencia valledupar-17-02-2012
Citacionaudiencia valledupar-17-02-2012
Ernesto Fernández
 
HOTELES POR TUENTI POCO Y TUENTI PICO
HOTELES POR TUENTI POCO Y TUENTI PICOHOTELES POR TUENTI POCO Y TUENTI PICO
HOTELES POR TUENTI POCO Y TUENTI PICO
Viajes Centur
 
tv diguital
tv diguitaltv diguital
tv diguital
leo4000
 
laboratorio
laboratoriolaboratorio
laboratorio
juliana18
 
IX Jornada Nacional de Bibliotecarios Escolares
IX Jornada Nacional de Bibliotecarios EscolaresIX Jornada Nacional de Bibliotecarios Escolares
IX Jornada Nacional de Bibliotecarios Escolares
sabricastillo
 
Educação não tem cor
Educação não tem corEducação não tem cor
Educação não tem cor
Juliana Medeiros
 
Semester Performa- III PDF
Semester Performa- III PDFSemester Performa- III PDF
Semester Performa- III PDF
Amar Hussain
 
HanesBrands Our Vision
HanesBrands Our VisionHanesBrands Our Vision
HanesBrands Our Vision
Elisandro Matias-Pascual
 
Vista a Camiseta
Vista a CamisetaVista a Camiseta
Vista a Camiseta
Marcelo Rocha
 
Ideal
IdealIdeal

Andere mochten auch (20)

110430 todos somos tomás
110430 todos somos tomás110430 todos somos tomás
110430 todos somos tomás
 
Icfes 1999 la_investigacion
Icfes 1999 la_investigacionIcfes 1999 la_investigacion
Icfes 1999 la_investigacion
 
Clase modelo
Clase modeloClase modelo
Clase modelo
 
Religion
ReligionReligion
Religion
 
Citacionaudiencia valledupar-17-02-2012
Citacionaudiencia valledupar-17-02-2012Citacionaudiencia valledupar-17-02-2012
Citacionaudiencia valledupar-17-02-2012
 
HOTELES POR TUENTI POCO Y TUENTI PICO
HOTELES POR TUENTI POCO Y TUENTI PICOHOTELES POR TUENTI POCO Y TUENTI PICO
HOTELES POR TUENTI POCO Y TUENTI PICO
 
tv diguital
tv diguitaltv diguital
tv diguital
 
laboratorio
laboratoriolaboratorio
laboratorio
 
IX Jornada Nacional de Bibliotecarios Escolares
IX Jornada Nacional de Bibliotecarios EscolaresIX Jornada Nacional de Bibliotecarios Escolares
IX Jornada Nacional de Bibliotecarios Escolares
 
Appreciation letter 1
Appreciation letter 1Appreciation letter 1
Appreciation letter 1
 
Educação não tem cor
Educação não tem corEducação não tem cor
Educação não tem cor
 
Nitin PG Degree
Nitin PG DegreeNitin PG Degree
Nitin PG Degree
 
12th certi
12th certi12th certi
12th certi
 
Semester Performa- III PDF
Semester Performa- III PDFSemester Performa- III PDF
Semester Performa- III PDF
 
HanesBrands Our Vision
HanesBrands Our VisionHanesBrands Our Vision
HanesBrands Our Vision
 
Vista a Camiseta
Vista a CamisetaVista a Camiseta
Vista a Camiseta
 
AIG_Japan_Extra_Miler
AIG_Japan_Extra_MilerAIG_Japan_Extra_Miler
AIG_Japan_Extra_Miler
 
Kursbevis nivå 3
Kursbevis nivå 3Kursbevis nivå 3
Kursbevis nivå 3
 
Ideal
IdealIdeal
Ideal
 
business writting skills
business writting skillsbusiness writting skills
business writting skills
 

Ähnlich wie Scriptcs NRW Conf 2013

Architectures for .Net Core Applications
Architectures for .Net Core ApplicationsArchitectures for .Net Core Applications
Architectures for .Net Core Applications
Robin Sedlaczek
 
.NET Core Architecture (UI)
.NET Core Architecture (UI).NET Core Architecture (UI)
.NET Core Architecture (UI)
Robin Sedlaczek
 
Developer Week 2019: .NET, .NET Core und .NET Standard - Ein Richtungskompass
Developer Week 2019: .NET, .NET Core und .NET Standard - Ein RichtungskompassDeveloper Week 2019: .NET, .NET Core und .NET Standard - Ein Richtungskompass
Developer Week 2019: .NET, .NET Core und .NET Standard - Ein Richtungskompass
Robin Sedlaczek
 
Thread-safe .NET durch Immutables
Thread-safe .NET durch ImmutablesThread-safe .NET durch Immutables
Thread-safe .NET durch Immutables
Robin Sedlaczek
 
Magdeburger Developer Days 2018 - Warum warten auf die IDE?
Magdeburger Developer Days 2018 - Warum warten auf die IDE?Magdeburger Developer Days 2018 - Warum warten auf die IDE?
Magdeburger Developer Days 2018 - Warum warten auf die IDE?
Robin Sedlaczek
 
BASTA! 2016 - Roslyn & Visual Studio Extensions
BASTA! 2016 - Roslyn & Visual Studio ExtensionsBASTA! 2016 - Roslyn & Visual Studio Extensions
BASTA! 2016 - Roslyn & Visual Studio Extensions
Robin Sedlaczek
 
BASTA! Spring 2017 - C# Script in Action
BASTA! Spring 2017 - C# Script in ActionBASTA! Spring 2017 - C# Script in Action
BASTA! Spring 2017 - C# Script in Action
Robin Sedlaczek
 
#ADC 2016 - Roslyn & Visual Studio Extensions
#ADC 2016 - Roslyn & Visual Studio Extensions#ADC 2016 - Roslyn & Visual Studio Extensions
#ADC 2016 - Roslyn & Visual Studio Extensions
Robin Sedlaczek
 
Cross Plattform Apps mit Visual Studio und Apache Cordova
Cross Plattform Apps mit Visual Studio und Apache CordovaCross Plattform Apps mit Visual Studio und Apache Cordova
Cross Plattform Apps mit Visual Studio und Apache Cordova
Peter Hecker
 
BASTA! Spring 2018 - Architekturen für .NET Core-Anwendungen
BASTA! Spring 2018 - Architekturen für .NET Core-AnwendungenBASTA! Spring 2018 - Architekturen für .NET Core-Anwendungen
BASTA! Spring 2018 - Architekturen für .NET Core-Anwendungen
Robin Sedlaczek
 
DevOpenSpace 2017 - .NET, .NET Core & .NET Standard - Und ich mal wieder mitt...
DevOpenSpace 2017 - .NET, .NET Core & .NET Standard - Und ich mal wieder mitt...DevOpenSpace 2017 - .NET, .NET Core & .NET Standard - Und ich mal wieder mitt...
DevOpenSpace 2017 - .NET, .NET Core & .NET Standard - Und ich mal wieder mitt...
Robin Sedlaczek
 
Software Entwicklung im Team
Software Entwicklung im TeamSoftware Entwicklung im Team
Software Entwicklung im Team
brandts
 
Continuous Integration / Deployment mit Jenkins CI
Continuous Integration / Deployment mit Jenkins CI Continuous Integration / Deployment mit Jenkins CI
Continuous Integration / Deployment mit Jenkins CI
Florian Bosselmann
 
Architekturen für .NET Core-Anwendungen
Architekturen für .NET Core-AnwendungenArchitekturen für .NET Core-Anwendungen
Architekturen für .NET Core-Anwendungen
Robin Sedlaczek
 
Git und WordPress-Themes | WPCamp Berlin 2013
Git und WordPress-Themes | WPCamp Berlin 2013Git und WordPress-Themes | WPCamp Berlin 2013
Git und WordPress-Themes | WPCamp Berlin 2013
KirstenSchelper
 
BASTA! Spring 2017 - Warum warten auf die IDE? Direct Coding in der eigenen A...
BASTA! Spring 2017 - Warum warten auf die IDE? Direct Coding in der eigenen A...BASTA! Spring 2017 - Warum warten auf die IDE? Direct Coding in der eigenen A...
BASTA! Spring 2017 - Warum warten auf die IDE? Direct Coding in der eigenen A...
Robin Sedlaczek
 
TYPO3 Dokumentation mit ReStructuredText
TYPO3 Dokumentation mit ReStructuredTextTYPO3 Dokumentation mit ReStructuredText
TYPO3 Dokumentation mit ReStructuredText
Peter Linzenkirchner
 
Developer Week 2019: Architekturen für .NET Core-Anwendungen
Developer Week 2019: Architekturen für .NET Core-AnwendungenDeveloper Week 2019: Architekturen für .NET Core-Anwendungen
Developer Week 2019: Architekturen für .NET Core-Anwendungen
Robin Sedlaczek
 
German: Softwareprodukte aus einem Source Code mit Javascript
German: Softwareprodukte aus einem Source Code mit JavascriptGerman: Softwareprodukte aus einem Source Code mit Javascript
German: Softwareprodukte aus einem Source Code mit Javascript
Ralf Schwoebel
 
AG Softwaretechnik
AG SoftwaretechnikAG Softwaretechnik
AG Softwaretechnik
Roland M
 

Ähnlich wie Scriptcs NRW Conf 2013 (20)

Architectures for .Net Core Applications
Architectures for .Net Core ApplicationsArchitectures for .Net Core Applications
Architectures for .Net Core Applications
 
.NET Core Architecture (UI)
.NET Core Architecture (UI).NET Core Architecture (UI)
.NET Core Architecture (UI)
 
Developer Week 2019: .NET, .NET Core und .NET Standard - Ein Richtungskompass
Developer Week 2019: .NET, .NET Core und .NET Standard - Ein RichtungskompassDeveloper Week 2019: .NET, .NET Core und .NET Standard - Ein Richtungskompass
Developer Week 2019: .NET, .NET Core und .NET Standard - Ein Richtungskompass
 
Thread-safe .NET durch Immutables
Thread-safe .NET durch ImmutablesThread-safe .NET durch Immutables
Thread-safe .NET durch Immutables
 
Magdeburger Developer Days 2018 - Warum warten auf die IDE?
Magdeburger Developer Days 2018 - Warum warten auf die IDE?Magdeburger Developer Days 2018 - Warum warten auf die IDE?
Magdeburger Developer Days 2018 - Warum warten auf die IDE?
 
BASTA! 2016 - Roslyn & Visual Studio Extensions
BASTA! 2016 - Roslyn & Visual Studio ExtensionsBASTA! 2016 - Roslyn & Visual Studio Extensions
BASTA! 2016 - Roslyn & Visual Studio Extensions
 
BASTA! Spring 2017 - C# Script in Action
BASTA! Spring 2017 - C# Script in ActionBASTA! Spring 2017 - C# Script in Action
BASTA! Spring 2017 - C# Script in Action
 
#ADC 2016 - Roslyn & Visual Studio Extensions
#ADC 2016 - Roslyn & Visual Studio Extensions#ADC 2016 - Roslyn & Visual Studio Extensions
#ADC 2016 - Roslyn & Visual Studio Extensions
 
Cross Plattform Apps mit Visual Studio und Apache Cordova
Cross Plattform Apps mit Visual Studio und Apache CordovaCross Plattform Apps mit Visual Studio und Apache Cordova
Cross Plattform Apps mit Visual Studio und Apache Cordova
 
BASTA! Spring 2018 - Architekturen für .NET Core-Anwendungen
BASTA! Spring 2018 - Architekturen für .NET Core-AnwendungenBASTA! Spring 2018 - Architekturen für .NET Core-Anwendungen
BASTA! Spring 2018 - Architekturen für .NET Core-Anwendungen
 
DevOpenSpace 2017 - .NET, .NET Core & .NET Standard - Und ich mal wieder mitt...
DevOpenSpace 2017 - .NET, .NET Core & .NET Standard - Und ich mal wieder mitt...DevOpenSpace 2017 - .NET, .NET Core & .NET Standard - Und ich mal wieder mitt...
DevOpenSpace 2017 - .NET, .NET Core & .NET Standard - Und ich mal wieder mitt...
 
Software Entwicklung im Team
Software Entwicklung im TeamSoftware Entwicklung im Team
Software Entwicklung im Team
 
Continuous Integration / Deployment mit Jenkins CI
Continuous Integration / Deployment mit Jenkins CI Continuous Integration / Deployment mit Jenkins CI
Continuous Integration / Deployment mit Jenkins CI
 
Architekturen für .NET Core-Anwendungen
Architekturen für .NET Core-AnwendungenArchitekturen für .NET Core-Anwendungen
Architekturen für .NET Core-Anwendungen
 
Git und WordPress-Themes | WPCamp Berlin 2013
Git und WordPress-Themes | WPCamp Berlin 2013Git und WordPress-Themes | WPCamp Berlin 2013
Git und WordPress-Themes | WPCamp Berlin 2013
 
BASTA! Spring 2017 - Warum warten auf die IDE? Direct Coding in der eigenen A...
BASTA! Spring 2017 - Warum warten auf die IDE? Direct Coding in der eigenen A...BASTA! Spring 2017 - Warum warten auf die IDE? Direct Coding in der eigenen A...
BASTA! Spring 2017 - Warum warten auf die IDE? Direct Coding in der eigenen A...
 
TYPO3 Dokumentation mit ReStructuredText
TYPO3 Dokumentation mit ReStructuredTextTYPO3 Dokumentation mit ReStructuredText
TYPO3 Dokumentation mit ReStructuredText
 
Developer Week 2019: Architekturen für .NET Core-Anwendungen
Developer Week 2019: Architekturen für .NET Core-AnwendungenDeveloper Week 2019: Architekturen für .NET Core-Anwendungen
Developer Week 2019: Architekturen für .NET Core-Anwendungen
 
German: Softwareprodukte aus einem Source Code mit Javascript
German: Softwareprodukte aus einem Source Code mit JavascriptGerman: Softwareprodukte aus einem Source Code mit Javascript
German: Softwareprodukte aus einem Source Code mit Javascript
 
AG Softwaretechnik
AG SoftwaretechnikAG Softwaretechnik
AG Softwaretechnik
 

Scriptcs NRW Conf 2013