[IronPython] Gestalt, IronPython in Silverlight and embedded xaml
Michael Foord
fuzzyman at voidspace.org.uk
Thu Apr 1 13:44:03 CEST 2010
On 01/04/2010 04:04, Jimmy Schementi wrote:
>> I mean that if I develop in an html file I can't view it from the filesystem in a
>> browser but must still have a locally running server for the scripts to run.
>>
> Yes, this is true today; I think mainly because dlr.xap depends on downloading Microsoft.Scripting.slvx at startup, and that must be failing from the file-system. If the assemblies were in the XAP, I'm pretty sure it'll work, and I think that's what will happen in the future. http://ironpython.codeplex.com/WorkItem/View.aspx?WorkItemId=26672.
>
> Though, do you really not have a machine that has a web-server running on it anyway, be it Apache or IIS? I like that it doesn't *require* me to use Chiron.
>
I *never* have a machine running IIS and my Windows VM doesn't have
Apache setup on it - so as far as I'm concerned I *do* still need Chiron
running. I can see that being able to use an alternative server is an
advantage though.
>
>> This means any backwards incompatible changes are *guaranteed* to break
>> apps using it. :-) What are needed are versioned URLs so that you can specify
>> precisely which version to use.
>>
> The first "Note" in the docs addresses this:http://ironpython.net/browser/docs.html#setup
>
>
Ah - I just missed that note. Now you mention it, it is pretty obvious,
so just me being dense. :-)
> "Note: using the gestalt.ironpython.net version is preferred, especially in production. However, please pick a specific version (like dlr-20100305.js, rather than dlr-latest.js), as this will ensure your application keeps working between releases; dlr-latest.js will always point to the most recent version."
>
> But I guess that should be called out a bit more obviously?
>
>
A list of available versions would be nice, preferably specifying which
version of IronPython / IronRuby they use and a list of changes in each
version.
>> Are these [other versions] available, I couldn't find them in the
>> docs but I may just not be looking in the right place.
>>
> The online versions aren't enumerated anywhere, as there's just two:
>
> http://gestalt.ironpython.net/dlr-20100305.js
> http://gestalt.ironpython.net/dlr-20091120.js
>
> For the next release I can start maintaining this list on the website.
>
>
Great.
>> I did think that the docs said all un-scoped scripts were run against the default
>> control, but using an explicit scope is no problem.
>>
> Yes, that's true; un-scoped scripts are run against the "default control", which is defined as the control automatically added to the page when dlr*.js is run, and has a width/height of 1px; basically for DOM-only apps. If you have a XAML script-tag though, that DOM-only control is still added to the page, forcing you to always scope your script-tag if you're using XAML. I guess you assumed the "default control" meant the "first control"? I'm a bit unsure about what the right behavior should be, so I just left it as-is; let me know what you think: http://ironpython.codeplex.com/WorkItem/View.aspx?WorkItemId=26673
>
Ok. I don't like the *idea* of an extra invisible Silverlight control
but am prepared to take your word that it isn't an issue in practise. My
'skimming' (i.e. not reading properly) of the docs implied to me that
all unscoped scripts would run in the same control - but in fact if you
have a xaml script that *has* to create a new control. So unscoped
Python scripts all run in the default (invisible) control and unscoped
xaml creates a new control that isn't then used by code.
I don't have concrete suggestions for making this clearer - other than
to strongly recommend in the docs that all code / xaml is scoped.
Michael
> ~js
>
>
--
http://www.ironpythoninaction.com/
http://www.voidspace.org.uk/blog
READ CAREFULLY. By accepting and reading this email you agree, on behalf of your employer, to release me from all obligations and waivers arising from any and all NON-NEGOTIATED agreements, licenses, terms-of-service, shrinkwrap, clickwrap, browsewrap, confidentiality, non-disclosure, non-compete and acceptable use policies (”BOGUS AGREEMENTS”) that I have entered into with your employer, its partners, licensors, agents and assigns, in perpetuity, without prejudice to my ongoing rights and privileges. You further represent that you have the authority to release me from any BOGUS AGREEMENTS on behalf of your employer.
More information about the Ironpython-users
mailing list