我正在开发一个我们制作WPF而不是Silverlight的应用程序,因为我们想要一个完整的桌面应用程序,它具有独特的感觉和优势.然而,随着Silverlight 4的发布,我听到有关Silverlight的热议主要是桌面应用程序的首选.
所以; 为什么我应该考虑将我的WPF应用程序移动到Silverlight 4 - 因为我仍然想要一个桌面应用程序?
选择WPF或Silverlight或其他任何事情,因为它很时髦,在我看来只是愚蠢,除非你试图打动一个女孩或尖头发的老板.
编写软件的目的是赚钱.这就是微软为什么这样做的原因,这就是为什么我这样做,大概就是为什么你这样做了.虽然有一定的身边,因为他们喜欢这样做还是为了追求崇高理想的谁做到这一点的人,这些人都没有有效的市场力量,并没有真正的发言权.
大部分资金都是业务线(LOB)应用程序,所有工具的构建都是为了向尝试构建LOB应用程序的人销售它们,因为这代表了世界上开发工具预算的大部分.
Silverlight直到版本3基本上与Flash竞争,也就是说它对网站上的任何东西都没用:见证链接到Microsoft Silverlight页面的所有示例网站.
微软对SL4的大力推动是对LOB开发的支持; RIA工具.但为什么?因为虽然您可以使用HTML,CSS,AJAX,Flash和Web服务进行LOB开发,但这有点像说您可以使用Meccano设置好车,只要您准备好使用大量的沼泽.Silverlight在统一的开发环境中做同样的事情,但是有效且连贯.而且它的光泽.
与使用HTML,CSS,AJAX,Flash和Web服务的破碎工具集相比,这是一个巨大的进步,如果您正在销售该集成开发工作室,那就太棒了.
Silverlight意味着易于推出.如果他们没有Silverlight怎么办?即使微软必须在下一个服务包中隐藏它,它们也会.如果您是IT部门,那么轻松部署是很好的,如果您正在销售局服务,那么很好.如果你正在开发它也很棒,因为你不需要开发或测试安装工具包.
对于局级服务,没有其他明智的选择.对于传统的LOB应用程序,没有理由不使用它,部署更容易和更方便.如果你需要在这些范围之外做一些事情,Silverlight是不合适的.
值得注意的是,我的应用程序执行了许多不受Silverlight支持的事情(直接TCP内容),这根本不是问题; 服务器代表客户端执行它们,这很好地避开了野外部署中的所有环境危害,因为我们可以控制服务器环境.
我认为跨平台支持很容易,因为非Windows平台上的Silverlight远远落后,而且非Windows商用工作站也很少.企业不在工作站上使用Linux.Macintosh不是一个平台,它是一种宗教:即使与他们交谈也没有意义.
总而言之,VS2010之前没有Silverlight设计师.手工编码无尽的XAML是一种巨大的痛苦.VS2010中的SL4/RIA非常棒,但Joe Public还没有它,如果他这么做就无法使用它,因为没有上线许可证或最终用户运行时间.
这使得WPF成为唯一可行的选择.然而,[鼓声]最终测试版带有上线许可证和运行时间将在即将到来的时候推出,可能是2月底.感谢ScottGu和团队.
我认为你对WPF和Silverlight的理解有点缺乏.Silverlight是WPF中的功能和功能的子集.Silverlight有一些特定于Silverlight的功能.桌面上的Silverlight只是Microsoft对Adobe AIR的响应.因此,如果这是您的选择,请使用WPF实现您的应用程序.不要让"嗡嗡声"推动您对应用程序的决策,这就是组织中的业务需求和可用技能应该做的事情.
请记住,Silverlight 4目前处于测试阶段,没有最终用户客户端运行时可用. Silverlight 4于2010年4月发布.如果您已经在桌面上为WPF开发应用程序,那么它可能是正确的解决方案.但是,如果您最终可能希望将应用程序移植到Web空间或在Web空间中开发不同的应用程序,那么请密切关注Silverlight中发生的事情,这是明智之举.
Silverlight 4将Silverlight带到了一个全新的水平.查看Tim Heuer的博客文章,了解许多新功能.此外,看看当Silverlight 4功能发布时,您是否可以从主题演讲中找到Facebook应用的视频.该应用程序突出了大量以桌面为中心的新功能.