开发Visual Studio中的OpenSocial小工具

我们即将实施一批Open​​Social的小工具。 他们不打算在Facebook或任何其他社交网络,而是我们自己的Apache内部Shindig的服务器上运行。 (我们使用嵌入在内部框架正常的ASP.NET MVC CSHTML鉴于这些小玩意)

据http://docs.opensocial.org/display/OSREF/OpenSocial+Tutorial,小工具的结构如下所示:

<?xml version="1.0" encoding="UTF-8" ?> <Module> <ModulePrefs title="Hello World!"> <Require feature="opensocial-0.8" /> </ModulePrefs> <Content type="html"> <![CDATA[ Hello, world! ]]> </Content> </Module>

而HTML,CSS和JS都在标签内嵌入的。 如果我们要发展在Visual Studio XML格式像这样的文件,它呈现语法高亮,智能感知,智能跟踪和JavaScript调试是不可能的。 这不是很舒服。

问题1:(!)你知道任何可用的扩展Visual Studio中的重新启用所有这些功能,这些OpenSocial的XML小工具吗?

问题2:或者,如果没有,有什么的你可曾试过同样的,发现来解决这些障碍的好方法?


更新:我们已经做了一个验证的概念使用后生成步骤,需要一个纯HTML文件,一个普通的JS文件和一个XML框架,并将它们合并成一个小工具。 在调试模式下,我们可以想象,可直接包括纯文本文件,而在部署过程中,我们调用的Shindig从后生成步骤合并XML文件:

if (@Html.IsDebugMode()) { <iframe src="/Gadgets/HelloWorld.html"/> } else { <iframe src="http://example.org/shindig?url=http://example.org/Gadgets/Merged/HelloWorld.xml"/> }

这是该解决方案的工作原理:

  1. 添加小工具\ HelloWorld.js文件
  2. 添加包括了这个js文件一个小工具\ HelloWorld.html的文件。
  3. 添加小工具\ HelloWorld.xml文件的小工具XML,但使用空<Content>标记。
  4. 与包括在调试模式下纯HTML文件,但包括小工具在Release模式的iframe创建CSHTML页面。
  5. 定义后生成事件读取HelloWorld.html的内容,并将其粘贴到XML标记的内容。 此外,它读取来自JS文件JS代码和替换脚本列入<script src="HelloWorld.js" />在由一个内联的JavaScript在HTML <script>...</script>与相应的代码。

优点:

  • 逻辑的完全分离(JS文件),表示(HTML文件)和元数据(XML文件)。
  • 在HTML工作完成时,Visual Studio的HTML创作支持。
  • 在JS工作时完成的Javascript编写的支持。
  • 工具,如JSLint的可以用来检查JavaScript的风格。

注意事项:

  • 在调试模式下,如果我们调用Shindig的呈现小工具,我们没有办法在Visual Studio和设置断点打开的JavaScript。 但是,如果JS代码出现任何错误,Visual Studio将打开JS代码视图和标记的错误路线。 一旦这种观点是开放的,我们可以用它设置断点,太。 虽然因为原来的JS文件只被合并到在构建过程的过程中,XML实时编辑是不可能的。
  • 在另一方面,如果我们包括纯HTML文件作为一个iframe,而不必Shindig的渲染它,我们获得的现场编辑的可能性,并直接在各自的文件中调试。 不过,当然所有的Shindig特点是不能奏效的。 特别是,通过的Shindig自动添加缺失或有所有脚本用手被包括在内。

理想的情况是在HTML或JS文件中的每个变化,而运行在调试模式下应用程序将立即更新,合并小工具XML文件,从而使生活编辑即使使用Shindig的时候。

--------------解决方案-------------

A2:您可以开发一个分开的js文件您的JavaScript,只是将其包含在小工具XML,你会用HTML文件包含一个js包括。 更进一步,你可以使用框架您的小工具HTML中,但这样做可能会阻止您使用某些JS的API可以从Shindig的。

分类:视觉工作室 时间:2012-01-20 人气:0
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.765 (s). 9 q(s)