微软在浏览器应用程序中的路线图是什么? Silverlight,ClickOnce,ActiveX,dlls

所以我在这里,第一次开发Windows(完成java swing,iphone,flash / flex),我对微软希望我在浏览器丰富的应用程序中使用的技术感到困惑。 我正在设计的应用程序是一个支持从文件系统拖放的文件上传器,看起来很简单,我已经在Java中实现了这一点,我认为使用Microsoft的工具更容易,但使用哪个部署平台……

Silverlight:非常适合video,轻量级应用程序,大量控件和小部件,在浏览器中运行,就像Flash一样,非常棒。 没有拖放文件系统访问,嘘。

ClickOnce:您可以使用所有的铃声和​​口哨部署一个成熟的Windows应用程序,但是即使是仅限Web的部署,它也不会浏览器中运行,它会在新窗口中打开,嘘声。

在浏览器DLL中:这些工作与旧的ActiveX应用程序完全相同,除了用户可以运行它们的唯一方法是通过安全面板将站点添加为可信站点并使用caspol修改其.Net安全性可接受的部署策略。 您应该能够像Java应用程序一样提示用户信任。

ActiveX:几乎所有成熟的Windows应用程序都可以,包括完整的文件系统访问,在浏览器中运行,真棒。 出于某种原因,这是一个不被人讨论或使用的弃用技术,似乎你只能从真正的旧版VS(2003)或VB6生成ActiveX cab / ocx文件。

那么我想要的是什么呢? 我是否可以在浏览器内部运行的应用程序中通过拖放操作获得完整的文件系统访问权限而无需用户跳过箍来运行它? 我正试图找到一个很好的理由来解决我遇到的问题向我的同事解释。

听起来像你想要一个WPF浏览器应用程序 (XBAPs)。 这些应用程序在浏览器中运行,但完全支持.NET Framework和WPF(如果用户授予,甚至可能完全信任)。 唯一能真正减损的是它们只在Windows上运行(显然)并且仅在IE7 / FireFox(带插件)中运行。

附注:Silverlight 3应用程序实际上可以从桌面运行,而无需浏览器窗口。

为什么您觉得有必要限制自己使用Microsoft技术? 我是一个很大的Microsoft / .NET粉丝,但我也相信使用正确的工具来完成工作。 如果Java工作,那么使用它。 如果Flash有效,则使用它。