• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
scriptcs - scripting, hosting and extending
 

scriptcs - scripting, hosting and extending

on

  • 201 views

 

Statistics

Views

Total Views
201
Views on SlideShare
201
Embed Views
0

Actions

Likes
0
Downloads
1
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    scriptcs - scripting, hosting and extending scriptcs - scripting, hosting and extending Presentation Transcript

    • @scriptcsnet www.scriptcs.net scriptcs.net
    • @filip_woj github.com/filipw www.strathweb.com scriptcs.net
    • What is scriptcs?  OSS project enabling rich C# scripting experience  Script and execute -or- use REPL  Low ceremony, lightweight  Use your favorite text editor  No compilation/projects/solutions scriptcs.net
    • Now C#! scriptcs.net
    • scriptcs.net
    • Key scriptcs features  Relaxed C# syntax & code semantics  As defined in “Interactive C#/VB REPL and Script - Code Semantics Spec“ white paper  REPL  Node.js-like extensibility model (script packs)  Debug & step through in Visual Studio  Sublime text plugin  Scriptcs.Core available as a hostable service  Nuget integration scriptcs.net
    • Demo: 101 scriptcs.net
    • Demo: #load & #r scriptcs.net
    • Demo: REPL scriptcs.net
    • Script code semantics  No top level class  No script namespaces  No Main method  Global functions allowed  Script packs accessible through Require<T>  #load directive to load script from script  #r directive to reference an assembly from script  Modules, assemblies loaded automatically/by convention scriptcs.net
    • Typical C# experience  Need access to source code base  Start Visual Studio (...wait...)  Choose VS project template  Create new solution  Add references, install Nuget packages, import namespaces  Compile and run (repeat: compile+run)  Difficult to distribute code (bloated) scriptcs.net
    • scriptcs.net
    • Typical scriptcs experience  Install Nuget packages with “scriptcs –install”  Write code in any text editor  Run (edit & run)  Easy to distribute code (just CSX + packages.config) scriptcs.net
    • Extend scriptcs  Script packs   Expose functionality for scripts Modules  Customize scriptcs  Replace any scriptcs internals scriptcs.net
    • Demo: Script packs in action scriptcs.net
    • Demo: Web REPL module scriptcs.net
    • Demo: Hosting in a .NET app scriptcs.net
    • Demo: Mono module scriptcs.net
    • Demo: Writing a new scripting engine scriptcs.net
    • Interesting developments  ConfigR – write C# config files in... C#  Executify.net – execute C# snippets in the browser  scriptcs F# Engine by Dave Thomas / Ryan Riley  Bau – build system powered by scriptcs  scriptcs WebConsole / Glimpse.scriptcs  scriptcs PowerShell module by Jim Christopher  scriptcs support in OctopusDeploy  scriptcs in [NDA] scriptcs.net
    • Get scriptcs  v0.8  CLI distributed via Chocolatey  cinst scriptcs  Libs available on Nuget  Nightly builds on MyGet  Build from source  github.com/scriptcs scriptcs.net
    • Who is scriptcs?  Community (!)  Coordinators   Justin Rusbatch (@jrusbatch)   Glenn Block (@glennblock) Filip Wojcieszyn (@filip_woj) Core Commiters  Damian Schenkelman (@dschenkelman)  Kristian Hellang (@khellang) scriptcs.net