企业框架 - UWP 与。网络

Enterprise Framework - UWP Vs. Web

这里是广泛而笼统的问题...

假设您已经使用 .Net (Microsoft) 领域中的一些富客户端构建了一个企业级框架,并使用 WCF 后端。现在,想象一下企业框架的 UI 技术正在被弃用,取而代之的是 UWP。

前端替换的选择基本上是:UWP、Web (HTML) 或其他一些富客户端技术。

你会如何进行决策过程?

我个人倾向于富客户端,其中的用户群是被俘虏的用户群。我的意思是,用户的 IT 部门很乐意在机器上安装必要的运行时环境等。这通常不是 Microsoft 技术的问题,而且在大约 10 年内组织推出时这也不会成为问题 Windows10.

但是,最近人们告诉我网络已经取得了长足的进步。人们告诉我 JavaScript 框架变得非常复杂,基本数据绑定等的低级别 JavaScript 大多是不必要的。

过去我真的对 ASP 这样的 Web 解决方案很反感,但我知道技术在进步,我也知道微软一直在致力于 ASP.Net v接下来哪个可能真的好?​​

问题不在于您会选择什么?但是,您会考虑哪些因素来决定选择哪个平台

此处基于意见的答案...

决定为任何项目采用特定技术取决于许多因素。我可以针对您的特定情况举出两个专业。

1 - 客户采用。顾客很容易use/install吗?他们需要支付某种许可证?它可以 运行 一共 platforms/devices 客户已经拥有吗?

2 - 市场采用。你们同事容易接受吗? find/hire experienced/hardened 开发者很难吗?我们需要支付某种许可证吗?我可以相信它会成为一项长寿的技术吗?

你的问题的答案可以是HTML.

不仅它在市场上已经有了很大的动力,即使今天有人(像 MS 或 Google 这样的大人物)在 table.

此外,如果 MS 营销部门的某个人说下周通用 Windows 平台或 WinRT 必须死,它会死(比如 Silverlight)。所以我不会仅仅因为某个大玩家告诉我就采用某些新技术。

是的 web 确实取得了长足的进步。那些日子你可以用 JS+HTML+CSS 做很多令人惊奇的事情。此外,它的正确 usage/architecture 允许您将您的应用程序 运行ning 放入 PC、平板电脑和手机(以最低的成本在设备之间移植)并且能够 运行ning 任何东西可以上网。

我建议你赶上并学习很多关于网络服务、Json、JS 库如 JQuery、Sammy 和一些不错的东西如 Knockout、SPA、Angular、Node等

编辑,回复评论

为了不开始喋喋不休的评论,我会在这里回复。是的,您的问题和评论带来了有趣的问题。为了让后代可读,我们都可以编辑答案和问题来组织它。

银光。怎么会不爱呢?特别是在与闪光灯斗争之后。很遗憾 MS 拔掉了插头(死在 MS CEO 的地狱里)。当 MS 让它死去时,我正在计划一个大型网络应用程序 SL 是我的第一选择。为什么我改变主意了?那么 2 年开发该应用程序,最后有多少浏览器支持它? SL 社区很棒,工具很棒,但浏览器只能说,嘿明天不能保证它继续工作。

.Net 和 MS 平台。我是 .Net 开发人员。我从测试版开始就采用了它,首先是使用 winforms(在前世我是一个自豪的 Delphi 开发人员)。一段时间后开始使用网络。我也曾在经典 ASP(糟糕时期)工作,并且从一开始就喜欢 .Net ASP。

您现在可以 运行 在地球上几乎所有 PC 上使用 .Net 应用程序。并非对所有 mobiles/gadgets 都是正确的。对于浏览器来说,纯 HTML+JS+CSS 会变得更好,因为它是轻量级的(做得对)。我们也可以将很多东西移到客户端,只在必要时让它访问服务器。 .Net 应用程序可以做到这一点,当然,但永远不会像量身定制的 HTML+JS+CSS.

事实上,我相信您可以使用 .Net 做任何事情,如果您的团队中有一些优秀的开发人员,您可以做出惊人的事情。但是根据项目的不同,它会在 HTML 或 PHP 或 Ruby 或 Java 等

中做得更好(也更便宜)

事实上,在之前的商店中,我们发现 PHP 和 .Net 团队(经过 1 年的研究、指标、大量项目)小项目在 PHP 中完成得更好,更大.Net 中的(如果我记得一个中型项目可以是 4k 到 6k men/hours)。

这里的重点是。你真的必须阅读很多关于 HTML、CSS、JS、SPA、Angular 等的内容。在今天实现一个大而闪亮的网络应用程序是具有挑战性的,而不是因为我们能做什么(我们可以做任何事)但我们如何做。 DDD、MVC、MVVM。测试框架等 Man Node 未来(至少是概念)。

Web 开发在过去几年中发生了真正的变化,客户和用户的期望也随之发生了变化。今天,没有人会等待超过 2 秒的时间来加载一个页面。每个人都希望可用性从项目开始就处于 table 的顶端。您的应用程序必须具有响应性等(不是为了它而在这里使用 Dilbertian 管理流行语。只是说明可用性在今天很重要)。 并且不要忘记每个人都希望它是美丽的(从图形设计师的角度来看),即使它是一个沉闷的 B2B 应该只由穴居人使用。

即使您坚持使用经典的 .Net 应用程序,了解(许多)选项,也可以带来更广阔的新视​​野。

我决定在这里回答这个问题,因为我们有更多的时间来调查和考虑不同的选择。最初的问题结果有点令人毛骨悚然。纯 UWP 和 Web 并不是唯一的选择。还有一个 Xamarin Forms 作为选项,其中包括 UWP、Android 和 iOS。作为个人偏好,我倾向于使用 Xamarin Forms 作为客户端而不是任何其他开发平台,因为它支持三个开箱即用的操作系统:Windows 10、iOS 和 Android .

我相信问题的答案是:您应该只在需要时才开发 Web 应用程序。您的用户群是否由最喜欢浏览器而不是应用程序的人组成?您的潜在用户是否可能希望避免下载应用程序?您的应用程序是否非常简单,并且您希望人们能够很快上手?您是否可以在无法访问相机、位置和推送通知等信息的情况下离开?如果您对这些事情的回答是肯定的,那么我认为您应该选择 HTML 5/JavaScript。但是,如果您的用户群可以轻松下载应用程序,并且您认为您的应用程序需要比大多数浏览器应用程序更复杂 UI,我建议您将 Xamarin Forms 作为首选。到目前为止,我们在 Xamarin Forms 方面取得了巨大成功,我们的 Xamarin Forms 应用程序的 UWP 版本已经证明与我们第一次尝试 UWP 应用程序一样好。

注意:我应该在这里给 Web Assembly (http://webassembly.org/) 一个荣誉奖。微软、苹果和 Google 等所有大型科技组织都在考虑这项技术。有一天,它可能会让在浏览器中部署本机应用程序再次变得很棒。