Iron Python

O Iron pythonie czytałem już trochę wcześniej, jednak nie miałem okazji go faktycznie spróbować. Okazja na użycie pojawiała się jakiś czas temu ? szukałem rozwiązania pozwalającego użytkowniokowi aplikacji mieć wpływ na pewne części aplikacji bez konieczności programowania, ani posiadania środowiska programistycznego. Iron Python nadał się do tego idealnie.

Leon Bambrick ma na swoim blogu świetny przykład:

image

W pierwszym polu tekstowym wpisujemy skrypt, który ma się wykonać po naciśnięciu GO. W skrypcie mamy dostęp do całego obiektu txt, który jest drugim polem edit ? tutaj jest przykład pozwalący na zrobienie UpperCase z zaznaczonego tekstu. Całość można wywołać za pomocą prostych komend:

ScriptEngine engine = Python.CreateEngine();
ScriptScope scope = null;
scope = engine.CreateScope();
scope.SetVariable("txt", TargetTextBox);
string code = CommandTextBox.Text.Trim();
ScriptSource source = engine.CreateScriptSourceFromString(code, SourceCodeKind.Statements);
source.Execute(scope); 

Jedyną wadą jest zauważalnie dłuższy czas pierwszego uruchomienia w stosunku do pozostałych. Trzeba pewnie będzie zrobić warmup podczas startu aplikacji.

IronPythona można pobrać z codeplex.

No i ciekawostka ? instalator pythona jest napisany przy pomocy Windows Installer Xml.

Tagged ,

2 thoughts on “Iron Python

  1. Paweł says:

    Pisząc w IronPythonie, user tak na prawdę programuje więc nie wiem czy to tak rzeczywiście bez programowania jest :). Ale fakt, środowiska programistycznego nie potrzebuje. Jednak to, że jest to nadal język programowania sprawia, że ktoś kto to robi znać się na programowaniu troszkę musi.

  2. Luke says:

    Szkoda, że prawdopodobnie przestali rozwijać DLR-owego JScripta? był to jedyny z dostępnych języków, który miał składnię C#-podobną.

Leave a Reply

Your email address will not be published. Required fields are marked *