Silverlight 2.0已准备好应用于业务线

时间:2008-10-13 23:46:33

标签: .net asp.net silverlight

现在Silverlight 2.0已正式发布,我想知道是否有人将它用于任何业务应用程序,例如POS,垂直市场应用程序等。如果是这样,您的体验与旧的WinForms应用程序或Web应用程序相比如何? ?

2 个答案:

答案 0 :(得分:13)

我认为Silverlight对于商业应用来说将是巨大的。这是一些重点突出Silverlight作为浏览器内LOB平台的优势。我写这篇文章是为了帮助一位正在比较ASP.NET和Silverlight的同事,但希望它包含一些提示。

额外的Silverlight功能

  • 您现在可以使用独立存储进行静态数据的离线缓存 - 只需将数据序列化为JSON或XML并将其保存在本地。
  • 更强大的UX工具支持 - 使用jQuery,您将手动编写所有额外的UX。不知道这是不是很重要,因为jQuery非常流畅。
  • C#over JavaScript - 更好的调试和开发人员体验。
  • 支持多线程,跨域网络和套接字。
  • 支持本地文件访问 - 假设您想要进行CSV文件导入而无需往返服务器。在Silverlight中,您可以使用FileOpenDialog并在本地读取文件内容。
  • 轻松实现WPF

额外的Silverlight控件

  • 第一批带外Silverlight控件将在PDC上提供,并包含以下控件:   DockPanel,WrapPanel,ViewBox,Label,HeaderedContentControl,Expander,TreeView,NumericUpDown,AutoComplete,Accordion。
  • Scott Gu暗示,如果计算CodePlex上发布的带外控制,Silverlight可能会获得100多个控件。
  • 点击http://blogs.msdn.com/sburke/archive/2008/09/17/control-freak.aspx
  • 了解详情

WPF可移植性

  • 存在一些重大差异。非UI代码应该非常简单地移植到WPF。
  • 如果你没有过多地设计你的造型大多数控件端口也是如此。其中一个主要区别是Silverlight使用VisualStateManager而不是Trigger来控制控件的样式。有一个社区项目可用于向WPF添加VSM支持,以便更轻松地移植应用程序。 VSM将被添加到未来的WPF版本中,以使两个更加成对。
  • 您将能够重复使用大量知识,设计资产和代码。
  • 我做了一篇关于将我的潜水日志应用程序(一个小的,但突出了一些问题)移植到WPF的博客文章:http://jonas.follesoe.no/PortingTheSilverlightDiveLogApplicationToWPF.aspx(在几个小时内完成)。

数据输入UX

  • Silverlight可以更轻松地实现更复杂的客户端验证规则,使您的数据输入表单更具响应性,同时减少对服务器的回调。你可以使用AJAX来做到这一点,但需要付出更多努力。
  • 使用Silverlight,您可以获得创意并增强数据输入表单,并在根据表单中较早的选项启用/禁用表单部分时添加精美效果。
  • 您可以为数据输入创建很酷的小部件。参考。通过改变空气罐中的空气水平而不是仅仅在文本框中键入值来设置潜水日志应用程序中的进气/送风方式。

<强>可视化

  • 你可以使用jQuery动画API做很多很酷的事情 - 但Silverlight使用动画,漂亮的可缩放矢量图形等更容易做丰富的UI。对于普通的ASP.NET,你可能有更多的第三方控件/可以选择的组件,但对于普通的图表,Visifire图表非常棒。

复制/粘贴/选择文字

  • 我不喜欢让文字可选/可复制。
  • Silverlight的开箱即用打印体验也受到限制。它只会打印出屏幕上的内容。我正在撰写一篇博客文章,展示如何在Silverlight组件后面生成HTML并使用CSS进行打印。

搜索引擎优化

  • 猜猜这取决于您的客户要求。如果您的数据应该是可搜索的,您可以通过让ASPX页面在首次加载时将数据呈现为Silverlight页面后面的HTML来解决问题。所以你的网站会像ShowCustomer.aspx一样?CustomerID = 10 - Silverlight会在表单中显示客户10,而Silverlight组件后面会有代表相同信息的HTML。然后,您还将提供站点地图文件,以便Google知道如何索引/查找页面内容。但它会是可行的。

    如果您的应用程序非常类似“应用程序”,那么它可能没有意义,因为很难为应用程序的不同状态创建URL。

答案 1 :(得分:1)

看看克里斯安德森的这个series of articles - 我知道这个家伙,他现在非常喜欢这个。他正在Silverlight上开发自己的业务平台。

编辑:也看看这篇MSDN文章:Create Data-Centric Web Applications With Silverlight 2