XBAP 使用和成熟度问题

发布于 2024-08-08 15:30:27 字数 320 浏览 5 评论 0原文

我们正在考虑将 UI 迁移到 XBAP。 尽管我们知道客户必须预装 .net,但我们还是选择了 XBAP,因为我们的目标不是大众,而是企业环境中的 IT 专业人员, 这是一种保留我们投资(在客户端-服务器架构中基于 WPF 的 UI)并享受 Web 部署的方法。 然而,我们担心平台/架构的成熟度及其采用情况。

您知道有任何使用 XBAP 的商业应用程序吗?您有使用它的经验吗?您能详细说明一下这种体验吗?

另外,正如 @Murph 所建议的,您能否想出更喜欢 clickOnce 而不是 XBAP(或相反)的有力理由?

we're considering migrating our UI to XBAP.
we've chosen XBAP despite knowing the clients must have .net pre-installed, since we're not targeting the masses but rather IT professionals in the corporate environment,
and it's a way to preserve our investment (in a WPF based UI in a client-server architecture) and enjoy web deployment.
however, we are concerned about the maturity of the platform/architecture and it's adoption.

do you know of any commercial applications out there using XBAP, and do you have any experience using it? can you elaborate on that experience?

also, as @Murph suggested, can you think of strong reasons to prefer clickOnce over XBAP (or the other way around)?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

默嘫て 2024-08-15 15:30:27

我一直在做一个XBAP 工具,也是为了满足公司内部的需要。推出更新非常容易——只需更新服务器应用程序版本,客户端就会在下次连接时更新。所以,在这方面它与 ClickOnce 没有太大区别。

我们面临的主要问题是“部分信任”模式,你必须服从。而且在一些非常意外的情况下会出错,比如我们的一些第三方WPF失败了,因为他们使用了WPF位图效果,而WPF位图效果又使用了GPU着色器,这被系统认为是安全违规并被阻止。我不确定 ClickOnce 是否解决了此类问题。有传言称 .NET 4 中的 XBAP 信任模式将不再那么偏执。

除此之外,我看不出有什么区别。至少XBAP和独立WPF的开发都是一样的。 (注意:Silverlight 不同,它仅使用 .NET Framework 的一个子集,该子集单独安装并可用于多个平台。XBAP 需要 Windows 平台和 .NET Framework 3+)。

I've been doing an XBAP tool, also for internal corporate needs. It's pretty easy to rollout updates -- just update the server app version and the clients will be updated next time they connect. So, in this aspect its not very different from ClickOnce.

The main problem for us was the "partial trust" mode, that you have to obey. And it goes wrong in some very unexpected situations, like for example, some of our third-party WPF failed because they used WPF bitmap effects, which in turn used GPU shaders, which was considered as a security violation by the system and blocked. I'm not sure if that kind of problem is solved in ClickOnce. The rumors are the XBAP trust mode will be less paranoid in .NET 4.

Otherwise, I don't see any difference. At least the development of XBAP vs stand-alone WPF is all the same. (Note: Silverlight is different, it uses only a subset of .NET framework, which is separately installed and available for several platforms. XBAP requires Windows platform and .NET Framework 3+).

音盲 2024-08-15 15:30:27

我们在 ClickOnce 方面取得了巨大成功,包括向外部非技术客户进行生产推广。它易于使用,包括易于集成到我们的自动化构建流程中。我们的经验至少为您在权衡两种替代方案的风险时考虑提供了一个数据点。

您说得对,XBAP 的采用率确实非常低。我认为这主要是因为 Silverlight 对于大多数希望在浏览器中享受 WPF/DotNet 优势的人来说更有意义(因为他们的应用程序可以与 Silverlight 跨平台)。

We've had much success with ClickOnce, including production rollout to external, non-technical customers. It was easy to use, including being easy to integrate into our automated build process. Our experience is at least one more datapoint for you to consider in weighing the risks of the 2 alternatives.

You're right that adoption for XBAP is, indeed, very low. I think that's primarily because Silverlight makes so much more sense for most people who want the benefits of WPF/DotNet in a browser (since their apps can be cross platform with Silverlight).

紫轩蝶泪 2024-08-15 15:30:27

我们开发了一个同时具有桌面和 Web 实现的应用程序。因为功能几乎相同,所以我们需要单一来源的解决方案。该应用程序是 CAD 应用程序的项目和绘图管理工具。让它在浏览器中运行的最重要原因是该应用程序将用作交换项目数据和绘图的协作工具。

浏览器托管应用程序的问题在于它们在浏览器中运行,因此仅限于适用的规则(如另一个回复中提到的,例如新窗口和信任限制)。

因为我们的应用程序主要用于受控的内部网和外部网,所以我们认为我们可以使用我们的解决方案进行管理。我们的应用程序在完全信任的情况下运行,并使用我们自己的证书进行签名,这使生活变得更加轻松。

好处当然是点击一次安装(和更新维护)以及让用户通过网站“在任何地方”安装应用程序的能力(或者当然您需要 .NET 和我们案例中的证书)。

我们面临的最大问题与我们可以解决的信任、导航和对话有关。另一个问题是我们的应用程序使用 Web 服务来访问数据。默认情况下(嵌入式)客户端和 Web 服务之间的绑定非常困难,但我们也找到了克服这个问题的方法。

我们还可以在浏览器之外运行我们的应用程序(但通过浏览器安装它)。但我们的产品负责人目前想要浏览器体验,因为这对用户来说更有意义。如果您通过网站安装但在浏览器外部运行应用程序,则浏览器要求的限制会更少。

We develop an application that has both a desktop and a web implementation. Because the functionality is almost the same we want a single source solution. The application is a project and drawing management tool for a CAD application. Most important reason to have it run in a browser is that the application will be used as a collaboration tool to exchange project data and drawings.

The problem with browser hosted applications is that they run in the browser and are thus limited to the rules that apply (as mentioned in another reply eg. new windows and trust limitations).

Because our application is mainly used in controlled intranets and extranets we think we can manage with our solution. Our application runs in full trust and is signed with our own certificate which makes life a little easier.

The benefits are of course the click once installation (and update maintenance) and the ability to let users install the application 'anywhere' (or course you need .NET and the certificate on our case) via a web site.

The biggest problems we faced were related to trust, navigation and dialogs which we could solve. Another problem is that our application uses web services to access data. The binding between a client and the web service is quite hard by default (embedded) but we also found ways to overcome this.

We can also run our application outside the browser (but install it via the browser). But our product owner currently wants the browser experience as this makes more sense to users. If you install via a web site but run the application outside the browser then the limitations that the browser demands are less.

零度° 2024-08-15 15:30:27

这是一个有趣的事实。在 .NET 4.0 中,他们添加了通过 ClickOnce 部署的 XBAP 应用程序以完全信任方式运行的功能。不再需要部分信任。这应该会给你一些选择!

Here's a fun fact. In .NET 4.0, they have added the ability for XBAP applications deployed via ClickOnce to run in full trust. No more partial trust required. That should give you some options!

清君侧 2024-08-15 15:30:27

我可能是错的,但 IIRC XBAP 使用 ClickOnce 作为其底层部署方法。 [找不到我在哪里读到这篇文章,所以对此持保留态度。]

也就是说,我通过 ClickOnce 部署运行 WPF 应用程序取得了巨大成功。如前所述,您将所有文件部署到您的 Web 服务器。当您发布更新时,您只需将它们复制到您的网络服务器,当客户端运行应用程序时,他们会收到更新到最新版本的提示,您可以要求更新,或允许他们推迟。

它非常用户友好,不需要浏览器的开销来运行您的应用程序。

I could be wrong, but IIRC XBAP uses ClickOnce as it's underlying deployment method. [Cant find where I read this, so take that with a grain of salt.]

That said, I've had great success running a WPF application via ClickOnce deployment. As was stated before, you deploy all the files to your web server. As you release updates you simply copy them to your web server, as clients run the app they get prompted to update to the newest verison, you can require update, or allow them to deferr.

Its very user friendly and doesn't require the overhead of a browser to run your application.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文