IronPython: Welche Art von Jobs hast du jemals mit IronPython anstelle von Standard-.NET-Sprachen (z. B. C #) getan

8

Ich lerne IronPython zusammen mit Python. Ich bin neugierig welche Arten von Aufgaben Sie neigen dazu, IronPython häufiger als Standard-.NET-Sprachen zu verwenden.

Danke für jedes Beispiel.

    
Ricky 16.12.2009, 07:36
quelle

6 Antworten

9

Ein Beispiel, das perfekt zu IronPython passt, ist, wenn Sie die Skriptfähigkeit in Ihre Anwendung integrieren möchten. Ich habe an Systemen gearbeitet, auf denen der Benutzer mit dem gesamten Anwendungsklassenmodell direkt über die In-App-Python-Scripting-Ebene interagieren kann und den fortgeschrittenen Benutzern eine große Flexibilität bietet.

Ein konkretes Beispiel ist, wenn Sie "Hooks" in der Anwendung offenlegen wollen, wo der Benutzer die Geschäftsregeln anpassen kann (sagen Sie beispielsweise eine benutzerdefinierte Maklergebührenberechnung, wenn ein neuer Trade beispielsweise in einem Handelssystem erstellt wird) / p>

Bearbeiten pro Anfrage: Hier ist ein einfaches (verspottetes) Beispiel. Wenn ein Benutzer einen neuen Trade im System erstellt, prüft das System, ob die folgende Python-Funktion definiert ist. Falls vorhanden, erhält der Handel das Ergebnis der Funktion als Gebühr, bevor er in die Datenbank übernommen wird:

%Vor%     
Rickard 16.12.2009, 07:49
quelle
4

Ich habe gerade meine IronPython-Point-of-Sales-Serviceanwendung zu Beginn dieses Monats bereitgestellt. Die Dienstanwendung ist eine RESTful HTTP-Server-Serving-Abfrage & amp; Transaktionsanforderung an .NET WinForms-Client. Mit Hilfe einer Remoting-Bibliothek wird die Dienstanwendung rein in IronPython implementiert.

Meiner Meinung nach ist Python zweifellos die beste Programmiersprache für komplexe Geschäftslogiken. Hier sind meine Gründe.

  1. Die Sprache ist sehr ausdrucksstark. Ich könnte endlose Ideen für interne DSL entwickeln, die meine Geschäftslogik kürzer und einfacher zu verstehen machen.

  2. Es ist interaktiv. Fehlersuche und Logiktests können interaktiv durchgeführt werden.

  3. Es ist dynamisch. Es ist Freiheit. Keine XML-Konfiguration Keine Rohrleitungen. Keine Kompilierung.

  4. Ich kann in meinem Lieblings-Editor arbeiten.

Die meisten Skeptiker erwähnen immer "Code-Vervollständigung" und "Debugger". Nun, ich vermisse sie manchmal. Ich bin mir jedoch bewusst, dass ich diese Annehmlichkeiten bewusst zugunsten eines wesentlich wichtigeren Faktors, der Verständlichkeit, aufgegeben habe. Mit dem richtigen Komponententest und der Protokollierung würde ich IronPython über alle Sprachen für meine Geschäftslogiken auswählen.

aktualisiert:

Manchmal experimentiere und protokolliere ich Benutzerprobleme mit Ironpython Script, die sich so verhalten, als wäre es ein Client wie folgt:

%Vor%

Manchmal untersuche ich Fehler, indem ich ein Serverobjekt wie dieses scripte:

%Vor%

Sie finden den Code vielleicht nicht zu elegant, da ich meine Arbeit lieber auf ADO.NET DataSet stütze. Es ist jedoch einfacher für den Windoows Forms-Client.

    
Sake 16.12.2009 09:57
quelle
3

Im Tagesjob ist es meine Standardsprache für die kleinen Teile des Build-Prozesses, die zu viel für .bat-Dateien sind und nicht schwer genug, um eine separate ausführbare Datei zu verlangen; Dies schließt alles ein, was ein wenig XML-Verarbeitung oder Reflektion verwenden könnte - zum Beispiel die Erzeugung von Wix-Dateien mit systematischer Handhabung von 32- und 64-Bit-Installationen. Es übertrifft PowerShell in dieser Rolle, da IronPython eine XCOPY-Installation auf Build-Rechnern ist.

Es ist auch sehr nützlich für das Prototyping von Code-Fragmenten gegen unbekannte oder komplexe APIs (WMI und Active Directory sind die üblichen für mich), oder Diagnose von Problemen im Code mit diesen APIs (wie das Ausspüren der Seltsamkeiten, die passieren, wenn Sie sind) auf dem Domänencontroller statt anderswo).

    
Steve Gilham 16.12.2009 07:57
quelle
0

Erstellt ein Ladewerkzeug für ein MS Group Chat Server Plugin. Die GC-API befindet sich in C #. Ich wickelte das in eine DLL und ließ FePy es laden. Die Hauptanwendung, Konfigurationsskripte usw. sind alle in FePy.

    
Vijay Mathew 16.12.2009 08:44
quelle
0

Ich verwende IronPython für einige verschiedene Zwecke:

  • Eine Alternative zu Powershell, wenn ich etwas skripten und eine .NET-Bibliothek aufrufen muss oder wenn das Skript kompliziert genug ist, um eine echte Programmiersprache zu rechtfertigen.
  • Einbetten in eine .NET App für skriptfähige Plugins.
  • Prototyping und Testen von .NET-Bibliotheken im Sofortmodus. Das ist viel einfacher als ein Testprojekt in C #
  • zu erstellen
Graeme Hill 03.05.2012 20:21
quelle
0

Wir verwenden es sehr für kleine Verwaltungstools gegen SharePoint. Insbesondere ist es fantastisch, die API gegen reale Daten zu erforschen (mit all ihren realen Macken). Entwicklungsiterationen sind schneller und Sie können Visual Studio nicht immer auf Produktionsservern installieren.

    
Mark Mascolino 03.05.2012 23:06
quelle

Tags und Links