<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>
<channel>
	<title>top-silverlight &#187; xaml</title>
	<atom:link href="http://www.top-silverlight.com/category/xaml/feed" rel="self" type="application/rss+xml" />
	<link>http://www.top-silverlight.com</link>
	<description>Just another WordPress weblog</description>
	<lastBuildDate>Wed, 04 Jan 2012 05:28:35 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Gestalt：使用Ruby，Python和XAML编写网页脚本</title>
		<link>http://www.top-silverlight.com/2009/08/05/gestalt%ef%bc%9a%e4%bd%bf%e7%94%a8ruby%ef%bc%8cpython%e5%92%8cxaml%e7%bc%96%e5%86%99%e7%bd%91%e9%a1%b5%e8%84%9a%e6%9c%ac.html</link>
		<comments>http://www.top-silverlight.com/2009/08/05/gestalt%ef%bc%9a%e4%bd%bf%e7%94%a8ruby%ef%bc%8cpython%e5%92%8cxaml%e7%bc%96%e5%86%99%e7%bd%91%e9%a1%b5%e8%84%9a%e6%9c%ac.html#comments</comments>
		<pubDate>Wed, 05 Aug 2009 14:31:34 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[xaml]]></category>
		<guid isPermaLink="false">http://www.top-silverlight.com/?p=233</guid>
		<description><![CDATA[最近微软在Mix在线实验室上发布了一个名为Gestalt的项目，希望借助高级语言与编译器的强大功能，在保留前端开发人员原有工作方式与习惯（编写 =&#62; 保存 =&#62; 刷新）的同时，提高构建复杂AJAX或RIA应用程序的生产力。在Gestalt网站中写到： 我们创建Getalt项目是因为它符合MIX Online的精神。 我们会在Web领域中挑选有趣的场景或问题，然后设法为它创建一些应用程序、服务，或提出一些解决方案的建议——Gestalt也是这么一回事儿。我们发 现，Web开发人员经常会在基于标准的前端Web开发以及RIA（如Flash/Silverlight）两种开发模型之间摇摆不定，Gsstalt的目 标便是解决这个问题。值得一提的是，选择Ruby和Python作为脚本语言，也是未来浏览器中有趣的话题之一。 Gestalt主要有以下几个特点： 使用Ruby和Python作为前端脚本语言：有了Gestalt，开发人员便可以在页面中添 加&#60;script language=”ruby”&#62;或&#60;script language=”python”&#62;标签，并使用Ruby或Python语言编程。与原有的JavaScript语言相比，Ruby和 Python所带来的强大生产力有助于开发人员编写和管理复杂的逻辑。Ruby和Python代码同样可以与页面中的DOM元素，甚至是HTML 5的canvas元素进行交互。例如在Gestalt的入门示例中便包含这样的代码： &#60;input id="say_hello" type="button" value="Say, Hello!" /&#62; &#60;script language="ruby"&#62; document.say_hello.onclick do &#124;s,e&#124; window.alert "Hello, World!" end &#60;/script&#62; 透明编译，高速运行：借助Silverlight中DLR的 强大动态编译功能，gestalt.js可以在页面加载完成后动态获取其中的Ruby或Python代码，并使用IronRuby或IronPython 加以编译执行。与JavaScript相比，Ruby和Python代码在加载时会有毫秒级别的延迟，但是页面的整体性能（尤其对长时间运行的页面而言） 则会有显著的提高。 使用XAML应对复杂样式需求：面对如今愈发复杂的应用程序，HTML和CSS已经略显疲态。在Gestalt中，开发人员可以为页面从外部引入XMAL文件，或使用内嵌XAML的方式来开发复杂的交互式应用程序。Gestalt网站建议使用Expression Blend编辑XAML程序，并提供了Adobe Illustrator的XAML生成插件和TextMate Bundles来辅助其他工具或平台上的XAML开发。 天然SEO支持：与传统HTML页面相同，所有的代码和文字都显示在页面上。因此，开发人员无须任何额外的工作，便可以将所有的页面信息暴露给搜索引擎。 自由的开发和运行环境：只要一个文本编辑器（如记事本或TextMate）， 开发人员便可以在任意的平台上编写Gestalt网页，而Gestalt网页其实也只是一个最为普通的(X)HTML页面而已。Gestalt借助 Silverlight插件中的DLR来执行Python或Ruby代码，这意味着Gestalt页面也可以在多种平台上运行。 Gestalt也有一些问题需要解决，例如： Gestalt基于传统的前端开发模型，页面会像执行JavaScript那样执行Python和Ruby脚本，但目前还不支持import和 require的功能。如果您想从外部引入Python和Ruby类库，可能就要通过内嵌XAP的Silverlight模型来实现了。我们对于您理想中 的require或import的方式非常感兴趣，请给我们反馈。 至于Gestalt是否最终会成为一个成熟的产品，MIX Online团队认为： （产品化）并不是我们的目标，但是你永远无法知道它是否会融入某个应用或概念之中。目前我们感兴趣的是推广Gestalt，并希望从社区中获取灵感。这也是我们公开Gestalt源代码的原因。我们希望您可以下载Gestalt类库并把玩一番，再把您的看法告诉我们。 您可以访问Gestalt的主页获取更多信息，或下载其类库和示例进行更深入的尝试。]]></description>
			<content:encoded><![CDATA[<p>最近微软在<a href="http://www.visitmix.com/Labs">Mix在线实验室</a>上发布了一个名为Gestalt的项目，希望借助高级语言与编译器的强大功能，在保留前端开发人员原有工作方式与习惯（编写 =&gt; 保存 =&gt; 刷新）的同时，提高构建复杂AJAX或RIA应用程序的生产力。在Gestalt网站中<a href="http://visitmix.com/labs/gestalt/learnmore/">写到</a>：</p>
<blockquote><p>我们创建Getalt项目是因为它符合<a href="http://visitmix.com/about/">MIX Online的精神</a>。 我们会在Web领域中挑选有趣的场景或问题，然后设法为它创建一些应用程序、服务，或提出一些解决方案的建议——Gestalt也是这么一回事儿。我们发 现，Web开发人员经常会在基于标准的前端Web开发以及RIA（如Flash/Silverlight）两种开发模型之间摇摆不定，Gsstalt的目 标便是解决这个问题。值得一提的是，选择Ruby和Python作为脚本语言，也是未来浏览器中有趣的话题之一。</p></blockquote>
<p>Gestalt主要有以下几个特点：</p>
<ul>
<li><strong>使用Ruby和Python作为前端脚本语言：</strong>有了Gestalt，开发人员便可以在页面中添 加&lt;script language=”ruby”&gt;或&lt;script language=”python”&gt;标签，并使用Ruby或Python语言编程。与原有的JavaScript语言相比，Ruby和 Python所带来的强大生产力有助于开发人员编写和管理复杂的逻辑。Ruby和Python代码同样可以与页面中的DOM元素，甚至是HTML 5的canvas元素进行交互。例如在Gestalt的入门示例中便包含这样的代码：</li>
<li>
<pre>&lt;input id="say_hello" type="button" value="Say, Hello!" /&gt;
&lt;script language="ruby"&gt;
    document.say_hello.onclick do |s,e|
        window.alert "Hello, World!"
    end
&lt;/script&gt;</pre>
</li>
<li><strong>透明编译，高速运行：</strong>借助Silverlight中<a href="http://www.codeplex.com/dlr">DLR</a>的 强大动态编译功能，gestalt.js可以在页面加载完成后动态获取其中的Ruby或Python代码，并使用IronRuby或IronPython 加以编译执行。与JavaScript相比，Ruby和Python代码在加载时会有毫秒级别的延迟，但是页面的整体性能（尤其对长时间运行的页面而言） 则会有显著的提高。</li>
<li><strong>使用XAML应对复杂样式需求：</strong>面对如今愈发复杂的应用程序，HTML和CSS已经略显疲态。在Gestalt中，开发人员可以为页面从外部引入XMAL文件，或使用内嵌XAML的方式来开发复杂的交互式应用程序。Gestalt网站建议使用<a href="http://www.microsoft.com/expression/products/Blend_Overview.aspx">Expression Blend</a>编辑XAML程序，并提供了<a href="http://www.mikeswanson.com/xamlexport/">Adobe Illustrator的XAML生成插件</a>和<a href="http://visitmix.com/labs/gestalt/downloads/">TextMate Bundles</a>来辅助其他工具或平台上的XAML开发。</li>
<li><strong>天然SEO支持：</strong>与传统HTML页面相同，所有的代码和文字都显示在页面上。因此，开发人员无须任何额外的工作，便可以将所有的页面信息暴露给搜索引擎。</li>
<li><strong>自由的开发和运行环境：</strong>只要一个文本编辑器（如记事本或<a href="http://macromates.com/">TextMate</a>）， 开发人员便可以在任意的平台上编写Gestalt网页，而Gestalt网页其实也只是一个最为普通的(X)HTML页面而已。Gestalt借助 Silverlight插件中的DLR来执行Python或Ruby代码，这意味着Gestalt页面也可以在多种平台上运行。</li>
</ul>
<p>Gestalt也有一些问题需要解决，例如：</p>
<blockquote><p>Gestalt基于传统的前端开发模型，页面会像执行JavaScript那样执行Python和Ruby脚本，但目前还不支持import和 require的功能。如果您想从外部引入Python和Ruby类库，可能就要通过内嵌XAP的Silverlight模型来实现了。我们对于您理想中 的require或import的方式非常感兴趣，请给我们反馈。</p></blockquote>
<p>至于Gestalt是否最终会成为一个成熟的产品，MIX Online团队<a href="http://visitmix.com/labs/gestalt/learnmore/">认为</a>：</p>
<blockquote><p>（产品化）并不是我们的目标，但是你永远无法知道它是否会融入某个应用或概念之中。目前我们感兴趣的是推广Gestalt，并希望从社区中获取灵感。这也是我们公开Gestalt源代码的原因。我们希望您可以下载Gestalt类库并把玩一番，再把您的看法告诉我们。</p></blockquote>
<p>您可以访问Gestalt的<a href="http://visitmix.com/labs/gestalt/">主页</a>获取更多信息，或下载其<a href="http://visitmix.com/labs/gestalt/downloads/">类库</a>和<a href="http://visitmix.com/labs/gestalt/samples/">示例</a>进行更深入的尝试。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.top-silverlight.com/2009/08/05/gestalt%ef%bc%9a%e4%bd%bf%e7%94%a8ruby%ef%bc%8cpython%e5%92%8cxaml%e7%bc%96%e5%86%99%e7%bd%91%e9%a1%b5%e8%84%9a%e6%9c%ac.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

