Scriptcs NRW Conf 2013
-
Upload
fdeitelhoff -
Category
Technology
-
view
279 -
download
1
Transcript of Scriptcs NRW Conf 2013
SCRIPTCS
C# als Skriptsprache!?
Fabian Deitelhoff @FDeitelhoff
Was ist scriptcs?
Fabian Deitelhoff @FDeitelhoff
Vollständige Engine für C#-Code
Wer hat‘s erfunden?
Fabian Deitelhoff @FDeitelhoff
Glenn Block (@gblock)
Justin Rusbatch (@jrusbatch)
Filip Wojcieszyn (@filip_woj)
Was will scriptcs?
Fabian Deitelhoff @FDeitelhoff
C# mit einem Texteditor schreiben & ausführen
Ziele & Werte?
Fabian Deitelhoff @FDeitelhoff
Öffentliche Werte, Anwendungsfälle & Akzeptanzkriterien
Werte
Fabian Deitelhoff @FDeitelhoff
Einfachheit, Agilität, schnelle Entwicklung
Anwendungsfälle
Fabian Deitelhoff @FDeitelhoff
Rapid Prototyping, Anwendungen, Erweiterungen, Skripte
Akzeptanzkriterien
Fabian Deitelhoff @FDeitelhoff
Kein Handbuch, keine Abhängigkeiten, lose Skripte, Pakete
Fabian Deitelhoff @FDeitelhoff
Ein paar kurze Fakten
Fabian Deitelhoff @FDeitelhoff
Open Source (GitHub), sehr aktiv, sehr beliebt
Technische Basis
Fabian Deitelhoff @FDeitelhoff
Basiert hauptsächlich auf Roslyn und NuGet
Roslyn?
Fabian Deitelhoff @FDeitelhoff
C#- und VB.NET-Compiler als Dienste
Fabian Deitelhoff @FDeitelhoff
Und was genau?
Fabian Deitelhoff @FDeitelhoff
Ein bestimmter Aspekt von Roslyn
NuGet?
Fabian Deitelhoff @FDeitelhoff
Paketverwaltung für die Microsoft-Plattform & .NET
Installation
Fabian Deitelhoff @FDeitelhoff
Zwei Varianten. Eine schnell, die andere schneller
Variante 1
Fabian Deitelhoff @FDeitelhoff
Quellen von GitHub besorgen
Die Datei build.cmd ausführen
Variante 2
Fabian Deitelhoff @FDeitelhoff
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%\chocolatey\bin
Alles startklar?
Fabian Deitelhoff @FDeitelhoff
Auf die Plätze, fertig, los!
Erste Gehversuche mit REPL
Fabian Deitelhoff @FDeitelhoff
Read-Eval-Print-Loop. Schnell, unkompliziert, für zwischendurch
REPL-Features
Fabian Deitelhoff @FDeitelhoff
DEMO
REPL-Features
Fabian Deitelhoff @FDeitelhoff
Direkte Ausführung, multiline, nette Gimmicks
C# Skriptdateien
Fabian Deitelhoff @FDeitelhoff
REPL ist schön, aber schnell zu eingeschränkt
C# Skriptdateien
Fabian Deitelhoff @FDeitelhoff
Datei auf, relevanter Code rein, speichern, fertig
Editoren?
Fabian Deitelhoff @FDeitelhoff
Vollkommen egal! Ich bevorzuge Sublime Text 2
C# Skriptdateien
Fabian Deitelhoff @FDeitelhoff
Keine Namespaces, keine Klassen, nur wichtige Dinge
Features
Fabian Deitelhoff @FDeitelhoff
#load, #r, Parameter, Standards, Pakete
C# Skriptdateien
Fabian Deitelhoff @FDeitelhoff
DEMO
C# Skriptdateien
Fabian Deitelhoff @FDeitelhoff
Standards
Fabian Deitelhoff @FDeitelhoff
• System
• System.Core
• System.Data
• System.Data.DataSetExtensions
• System.Xml
• System.Xml.Linq
• System
• System.Collections.Generic
• System.Linq
• System.Text
• System.Threading.Tasks
Pakete
Fabian Deitelhoff @FDeitelhoff
scriptcs Script Packs & „normale“ Pakete
Pakete
Fabian Deitelhoff @FDeitelhoff
Verwaltung läuft über NuGet
scriptcs -install <Paketname>
Script Packs
Fabian Deitelhoff @FDeitelhoff
Simplere Anwendung, Automatismen, Factory-Methode
Weitere Pakete
Fabian Deitelhoff @FDeitelhoff
Identische Installation, „normale“ NuGet-Pakete
Pakete
Fabian Deitelhoff @FDeitelhoff
DEMO
Debugging
Fabian Deitelhoff @FDeitelhoff
Auch bei Skriptdateien tauchen Fehler auf…
Debugging
Fabian Deitelhoff @FDeitelhoff
Läuft über Visual Studio
Debugging
Fabian Deitelhoff @FDeitelhoff
DEMO
Was können wir?
Fabian Deitelhoff @FDeitelhoff
Installation, REPL, Skripte, Referenzen, Pakete, Debugging
That‘s it!
Fabian Deitelhoff @FDeitelhoff
Wir kennen scriptcs
Anwendungsbeispiele
Fabian Deitelhoff @FDeitelhoff
Und was macht man jetzt damit?
PDF-Datei manipulieren
Fabian Deitelhoff @FDeitelhoff
Ich brauche Seite 2 und 3
Konfigurationen
Fabian Deitelhoff @FDeitelhoff
Können auch als C# Skriptdateien abgelegt werden
scriptcs ebnet den Weg
Fabian Deitelhoff @FDeitelhoff
Die Anwendungsszenarien kommen von uns!
Zukunft
Fabian Deitelhoff @FDeitelhoff
Export als exe-Datei & Visual Studio Projekt
Vielen Dank für die Aufmerksamkeit!
Fabian Deitelhoff @FDeitelhoff
Fabian Deitelhoff @FDeitelhoff
Fabian Deitelhoff
Informatikstudent Master of Science
Schwerpunkt Biomedizinische Informatik
Autor, Speaker, Trainer, Softwareentwickler
Kontaktinformationen
E-Mail: [email protected]
Twitter: @FDeitelhoff
Blog: http://www.fabiandeitelhoff.de