Python extension for Firefox
pyxpcomext.mozdev.org
pyxpcomext.mozdev.org
1. Python code will only be executed from trusted sources (i.e., chrome loaded from the local filesystem). This means that you'll need to get users to download and install an extension to use your Python script code, rather than simply including it inline in a page on your server.
2. Because the extension bundles its own Python runtime, it has to be built and packaged separately for every architecture target. Right now, that means no 64-bit platforms, BSD, etc. -- so cross-platform compatibility is probably no better than Flash at the moment.
That being said, having yet another development language on the client for rich web applications is pretty cool. I can imagine all kinds of useful projects that could capitalize on Python's strong libraries. Hooking into native libraries using Python (either via the extension API or ctypes) is also a lot easier than writing an XPCOM wrapper.
2. Because the extension bundles its own Python runtime, it has to be built and packaged separately for every architecture target. Right now, that means no 64-bit platforms, BSD, etc. -- so cross-platform compatibility is probably no better than Flash at the moment.
Just be sure we're clear, this comment describes the pyxpcomext extension itself, right? Surely more versions will be coming soon to any platforms supported by Python. If you are building an extension that utilizes this Python-Mozilla API, this is all transparent to you, and packaging separate builds is a non-issue.
You'll still need to do "CSS/voodoo/???" to integrate your extension to the Firefox UI.
What you get to do is to use Python instead of JavaScript (a matter of taste), and you get access to Python libraries, which cover desktop-side computing much better than JS.
Note: I would still be concerned about security with this. Even though python scripts can only be executed from trusted locations, quite a few web users have no idea what that is.
Not saying this isn't impressive, but I just don't see the point ;)
http://www.mono-project.com/Moonlight
Besides, making browser-specific web-site implementations is still bad, even though if browser is Firefox.
You might notice it doesn't fucking work then.
More specifically, it is:
* not stable
* not up to date with Silverlight
* does not include video or audio support. Videos just ask you to download Silverlight.
* not packaged
* not presented by Microsoft to users who need a plugin when they access Silverlight content. When you visit a Silverlight page, a 'Download Silverlight' button takes you to Microsoft. The Microsoft page gives another 'Download Silverlight' button that tells users their 'platform may not be supported'. Clicking them gives no download and returns back to the same Microsoft page ad infinitum.
Try it yourself - http://www.go-mono.com/moonlight/.
Yes, you'll get some ancient shitty bouncing balls Silverlight 1.0 test app.
No, you won't get any actual content.
Moonlight's a furphy.
Python has a huge number of libraries and it keeps growing. I don't think the attempt to reimplement everything on top of .NET/Java is going to succeed. The people who maintain these libraries are not going to do it so where's the army of people who will take on such an incredibly boring task? I hope, one day, C/C++ libraries will be conveniently accessible from the VMs.
The only viable alternative would be to implement all Python libraries exclusively in Python. That's something that current maintainers of C/C++ extensions might consider doing. But Python would have to be much faster for this to work.
Won't work on Servers (yes, scripting FF on servers with Python is useful): Did we mention Silverlight doesn't work on Linux?