【问题标题】:Enterprise Framework - UWP Vs. Web企业框架 - UWP 与。网络
【发布时间】:2016-01-17 08:49:47
【问题描述】:

这里有一个广泛而全面的问题......

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

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

您将如何进行决策过程?

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

但是,这些天人们告诉我,网络已经走了很长一段路。人们告诉我,JavaScript 框架正变得非常复杂,而用于基本数据绑定等的低级 JavaScript 几乎是不必要的。

过去我真的被 ASP 之类的 Web 解决方案拒之门外,但我确实了解技术已经向前发展,而且我确实了解 Microsoft 一直在努力 ASP.Net v Next 这可能真的很好?

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

【问题讨论】:

    标签: asp.net .net wcf architecture platform


    【解决方案1】:

    此处基于选项的答案...

    决定为任何项目采用特定技术取决于许多因素。我可以为您的特定场景引用两个专业。

    1 - 客户采用。客户使用/安装是否容易?他们需要支付某种许可证吗?它可以在客户已经拥有的所有平台/设备上运行吗?

    2 - 市场采用。你的同事容易采用吗?很难找到/雇用经验丰富/经验丰富的开发人员?我们需要支付某种许可证吗?我可以相信这将是一项长期存在的技术吗?

    您的问题的答案可以是HTML

    不仅它已经在市场上有很大的发展势头,而且即使今天有人(像微软或谷歌这样的大公司)提出了一些新的(更好的)东西,也需要数年时间才能改变它。

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

    是的,网络确实取得了长足的进步。在那些日子里,你可以用 JS+HTML+CSS 做很多令人惊奇的事情。此外,它的正确用法/架构允许您将您的应用程序运行在 PC、平板电脑和手机中(以最低成本在设备之间进行移植)并能够在任何可以访问互联网的设备中运行。

    我建议你赶上并学习很多关于 web 服务、Json、JS 库(如 JQuery、Sammy)以及一些不错的东西(如 Knockout、SPA、Angular、Node 等)的知识。

    编辑、回复 cmets

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

    银光。怎么不爱?特别是在与flash搏斗之后。真可惜 MS 拔掉了插头(死在地狱 MS CEO 中)。当 MS 让它消亡时,我正在计划一个大型网络应用程序 SL 是我的第一选择。为什么我改变主意了?开发该应用程序需要 2 年时间,最终有多少浏览器无法支持它? SL 社区很棒,工具很棒,但浏览器只能说,嘿,明天不能保证它会继续工作。

    .Net 和 MS 平台。我是.Net 开发人员。我从 beta 开始就采用了它,第一次使用 winforms(在以前的生活中,我是一名自豪的 Delphi 开发人员)。一段时间后开始使用网络。我也曾在经典 ASP(糟糕的时期)工作,从一开始就喜欢 .Net ASP。

    您可以在当今地球上的几乎任何 PC 上运行 .Net 应用程序。并非所有手机/小工具都如此。对于浏览器来说,纯 HTML+JS+CSS 会更好,因为它是轻量级的(做得对)。我们也可以将很多东西移动到客户端,只在必要时让它访问服务器。 .Net 应用程序当然可以做到这一点,但绝不会像定制的 HTML+JS+CSS 那样轻巧。

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

    事实上,在之前的商店中,我们发现 PHP 和 .Net 团队都有(经过 1 年的研究、指标、大量项目)小型项目最好用 PHP 完成,较大的项目用 .Net(如果我记得中等的话)项目可以是 4k 到 6k 人/小时)。

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

    Web 开发在过去几年中确实发生了变化,客户和用户的期望也随之发生了变化。今天没有人会等待超过 2 秒来加载页面。每个人都希望从项目开始就将可用性放在首位。你的应用程序必须是响应式的,等等(为了它,不要在这里使用 Dilbertian 管理流行语。只是说明可用性在今天很重要)。 并且不要忘记每个人都希望它是美丽的(从图形设计师的角度来看),即使它是一个枯燥的 B2B,应该只有洞穴人使用。

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

    【讨论】:

    • 我想关于 UWC 的问题 1) 的答案是肯定的。它易于安装(应用商店),只需为应用商店支付一些最低费用,并且可以在我们的客户习惯购买的现有 Windows 手机上运行。
    • 2) 找到经验丰富的开发人员并不难,因为 UWC 基本上利用了 c# 和 XAML,这是微软开发人员非常熟悉的两种技术。但是,显然不能保证这将是一项长期存在的技术,而这正是这篇文章的重点。 Silverlight 让您一针见血
    • 实际上,它提出了一个有趣的问题。 Silverlight 在水中已死,但我们的 Silverlight 应用程序为我们提供了很好的服务。如果有人问我,“知道你现在知道什么——Silverlight 即将消亡,你会在 Silverlight 上构建应用程序吗?”。而且,答案是肯定的。我们在 Silverlight 上运行了 5 年,而且在技术上还需要几年时间才能退出市场。
    • 但是,它仍然比使用基于 HTML/JavaScript 的技术更好。我并不是说这些技术天生就不好 - 但在启动我们的 Silverlight 应用程序时,Web 的许多问题还没有解决。 HTML 5 还没有发布,ASP 还落后几个版本,基本上用微软的技术为 web 做任何事情都是痛苦的。但是,现在,网络已经改进了很多。所以,我正处于决定对哪种技术进行更多投资的边缘。
    • 作为一般评论,我确实发现开发人员对富(胖)客户端技术过于轻视。人们会因为我如此称赞 Silverlight 而称我为 luddite,但我可以诚实地说,除了一些从未消除的怪癖之外,Silverlight 是迄今为止我构建过的最好的平台,它让我们能够构建一个非常丰富的应用程序,其中 UI 从代码库中抽象出来,业务逻辑以及数据库结构也被抽象出来。这些东西都可以轻松配置。可以在 UWP 上重新创建相同的内容。
    【解决方案2】:

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

    我相信问题的答案是:您应该只在需要时开发网络应用程序。您的用户群是否由更喜欢浏览器而不是应用程序的人组成?您的潜在用户是否可能希望避免下载应用程序?您的应用程序是否非常简单,并且您希望人们能够快速投入使用?您是否能够在不访问相机、位置和推送通知等内容的情况下逃脱?如果您对这些事情的回答是肯定的,那么我认为您应该选择 HTML 5/JavaScript。但是,如果您的用户群喜欢下载应用程序,并且您认为您的应用程序需要比大多数浏览器应用程序更复杂的 UI,我建议您将 Xamarin Forms 视为首选选项。到目前为止,我们在 Xamarin Forms 上取得了非常好的成功,我们的 Xamarin Forms 应用的 UWP 版本与我们第一次尝试 UWP 应用一样好。

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

    【讨论】:

    • 感谢您的更新。阅读原始问题和答案非常有趣,然后看看 2 年后发生了什么。
    • 谢谢。虽然这仍然是一个很大程度上基于意见的答案,但我觉得总体趋势正在转向原生应用程序而不是 HTML/JavaScript 应用程序。我可能完全错了,是构建网络应用还是原生应用的决定仍然很大程度上取决于环境。
    • 我认为这也取决于公司熟悉的工具。 Web house 将倾向于 Cordova/React.Native,Microsoft C# house 倾向于 Xamarin。
    • 在某种程度上。我想真正的争论在于基于浏览器的编译应用程序(Cordova/React.Native)是否会成为与原生应用程序一样好的解决方案。这绝对超出了原始问题的范围。我不认为一个团队应该根据他们在团队中拥有的技能来做出决定。该调用应基于企业框架的 UI 要求以及最适合最终结果的技术。
    • 他们永远不会那么好。问题是它们是否足够好。对于内部企业应用程序来说,这可能就足够了,尤其是如果网络房屋可以重用大量代码。我曾为几家尝试过这种方法的公司工作过。结果很差。我总是倾向于 Xamarin Forms 应用程序。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-09
    • 2011-03-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多