IronPython: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica
Riga 48:
== Licenze ==
Fino alla versione 0.6 IronPython è stato distribuito sotto la [[Licenza Creative Commons]], in seguito nel mese di agosto del [[2004]], IronPython è stato assorbito da [[Microsoft]] quindi è cambiata licenza. Con la versione 2.0 alpha la licenza è stata ancora una volta cambiata. Le ultime versioni sono state distribuite sotto [[licenza Apache 2.0]].
 
== Esempi ==
Il seguente script IronPython manipola gli oggetti .NET Framework. Questo script può essere fornito da uno sviluppatore di applicazioni lato client di terze parti e passato al framework lato server tramite un'interfaccia. Si noti che né l'interfaccia né il codice lato server vengono modificati per supportare l'analisi richiesta dall'applicazione client.
 
<syntaxhighlight lang="python">
from BookService import BookDictionary
booksWrittenByBookerPrizeWinners = [book.Title for book in BookDictionary.GetAllBooks()
if "Booker Prize" in book.Author.MajorAwards]
</syntaxhighlight>
 
In questo caso, supponiamo che [[.NET Framework|.NET]] Framework implementi una classe, BookDictionary, in un modulo chiamato BookService e pubblichi un'interfaccia in cui è possibile inviare ed eseguire gli script IronPython.<ref>{{cite book|title=Learning Python, 5th Edition|author=Mark Lutz|ISBN=‎ 978-1449355739|url=https://python.engineering/learning-python-5th-edition/}}</ref>
 
Questo script, quando inviato a quell'interfaccia, scorrerà l'intero elenco di libri gestiti dal framework e selezionerà quelli scritti dagli autori vincitori del Booker Prize.
 
La cosa interessante è che la responsabilità di scrivere l'analisi effettiva risiede nello sviluppatore lato client. Le richieste per lo sviluppatore lato server sono minime, essenzialmente fornendo solo l'accesso ai dati mantenuti dal server. Questo modello di progettazione semplifica notevolmente la distribuzione e la manutenzione di framework applicativi complessi.<ref name=dot-net-example>{{cite web
| url = http://www.resolversystems.com/documentation/index.php/Dot_Net_Objects_in_the_Grid
| title = Using .NET objects from IronPython in Resolver One
| access-date = 2008-11-18
| archive-url = https://web.archive.org/web/20090114131717/http://www.resolversystems.com/documentation/index.php/Dot_Net_Objects_in_the_Grid
| archive-date = 2009-01-14
| url-status = dead
}}</ref>
 
Lo script seguente usa .NET Framework per creare un semplice messaggio Hello World.
 
<syntaxhighlight lang="python">
import clr
clr.AddReference("System.Windows.Forms")
 
from System.Windows.Forms import MessageBox
MessageBox.Show("Hello World")
</syntaxhighlight>
 
== Referenze ==
* {{cita web|https://blogs.msdn.com/b/hugunin/archive/2006/09/05/741605.aspx|Jim Hugunin's blog IronPython}}