扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:scottgu 来源:CSDN 2007年12月30日
关键字: IronPython Windows
几个月前,我曾经写过发布 IronPython v1.0 的事。IronPython是Python动态语言在.NET平台上的实现。它支持一个可交互的控制台,该控制台支持完全的动态编译,并且可以让Python程序员轻松地访问所有的.NET库,同时还保持对Python语言完全的兼容性。
IronPython 提供了.NET 编程语言可以如何利用我们在去年发行的.NET 2.0版本的CLR中新加入的动态语言特性的一个极好的例子。譬如,象“轻量级编码生成”这样的CLR特性,现在可以让动态语言很快地在内存里编译和JIT源码 (给予你非常快速的运行速度而不必生成一个.dll 文件)。CLR 2.0 还有把这些JIT过的代码垃圾回收的能力。这意味著,你可以在运行时很快地动态调整类型,而且不用泄漏生成的编码。
上个星期,我们发布了一个非常酷的CTP,提供了ASP.NET和Visual Web Developer Express(当然是免费的)中IronPython的集成支持。安装完毕后,你就可以在创建新的项目和页面时,使用Python作为你的语言选择,轻松地利用动态语言脚本的支持:
IronPython for ASP.NET CTP安装完毕之后, Visual Studio/Visual Web Developer 将为使用Python的ASP.NET项目提供行内(inline)代码和后台代码(code-behind)网页的支持,提供句法高亮显示,WYSIWYG 设计器,以及完整的调试支持。你也可以用它来创建居于App_Script 文件夹下的独立的python模块文件,将它们用于整个网站。
探究Python用法的最轻松的方式是,选择文件->新网站菜单项,然后创建一个 Python版的Personal Starter Kit样例网站(注意下面截图中扩展名为.py的后台代码文件):
上面的Personal Starter Kit Python 样例提供了一个酷的方式来开始学习Python,同时也利用了Python 提供的一些动态语言功能,以及 IronPython 开发组添加的与ASP.NET的良好集成特性。
例如,Photos.aspx网页提供了允许管理人员上传新的照片到相册的支持。这是通过一个使用了模板化插入模式UI的 FormView 控件来实现的,象这样:
在一个强类型语言里,你通常需要使用FormView1的FindControl()方法进入到它的模板里来获取FileUpload 或TextBox控件的引用,然后将该引用强制转换到返回对象的类型,才可以使用这些对象。但在象Python这样的动态语言中,你可以在你的Photos.aspx.py后台代码文件里写下面这样的编码:
注意到没有,你只要写FormView1.PhotoCaption就可以访问模板里的子控件,然后直接引用它的子属性就可以了。这个技术也可以用在象 DataList,Repeater和Wizard这样模板化的控件上。真妙!
如何进一步了解 IronPython
查看一下 IronPython for ASP.NET 主页以进一步了解 IronPython for ASP.NET CTP。你也可以在这里阅读一下David Ebbo 写的精彩白皮书,该文描述了为更好地支持动态语言和编译而对ASP.NET分析器做的变动。
最后,想进一步了解 IronPython本身的话,我建议你观看一下这个9月份时Jod Udell采访Jim Hugunin的精彩录像广播(内有演示)。 Jim 现场编写了一些很酷的演示,包括使用IronPython创建一个与Speech API集成的WPF计算器应用。然后他也演示了如何把影响性能的关键代码从Python重构到象C#这样强类型的语言,以及两者是如何无缝地协作的。你现在可以把这些同样的技术使用在IronPython 和ASP.NET上。
希望本文对你有所帮助,
查看本文来源
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者