企业框架 - UWP比。网络

时间:2015-10-19 05:17:52

标签: asp.net .net wcf architecture platform

广泛而彻底的问题......

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

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

您将如何处理决策过程?

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

但是,人们现在告诉我,网络已经走过了漫长的道路。人们告诉我,JavaScript框架变得非常复杂,基本数据绑定等的低级JavaScript几乎是不必要的。

过去我真的被像ASP这样的网络解决方案所关闭,但我确实理解技术已经向前发展了,而且我确实理解微软一直在研究ASP.Net v Next这可能真的很好吗? / p>

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

2 个答案:

答案 0 :(得分:2)

基于Opnion的回答......

决定在任何项目中采用特定技术都有很多因素。我可以为你的特定场景引用两个专业。

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

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

您的问题的答案可以是 HTML

不仅它已经在市场上获得了很大的动力,即使今天有人(像MS或谷歌这样的大人物)把一些新的(更好的)东西放在桌面上,它还需要数年才能改变它。

此外,如果MS营销部门有人说下周通用Windows平台或WinRT必须死掉它就像死了一样(如Silverlight)。所以我没有采用一些新技术只是因为一些大玩家告诉我这样做。

网络已经走了很长的路。那些日子你可以用JS + HTML + CSS做很多很棒的事情。此外,它的正确用法/架构允许您将您的应用程序运行在PC,平板电脑和移动设备上(以最低成本在设备之间移植)并且能够在任何可以访问互联网的情况下运行。

我建议你赶上并学习很多关于webservices,Json,JS库,如JQuery,Sammy以及一些不错的东西,如Knockout,SPA,Angular,Node等。

修改,回复评论

为了不发表讨厌的评论我会在这里作出回应。是的,您的问题和评论带来了有趣的问题为了让后人可以阅读,我们都可以编辑答案和问题来组织它。

的Silverlight。怎么不爱它?在用闪光灯碾压之后的特殊情况。很遗憾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等的内容。今天生活一个大而精彩的网络应用程序是一项挑战,不是因为我们可以做什么(我们可以做任何事情),而是我们如何做。 DDD,MVC,MVVM。测试框架等人类节点 未来(至少是概念)。

Web开发在过去几年中确实发生了变化,并伴随着客户和用户的期望。今天没有人等待超过2秒的页面加载。从项目开始,每个人都希望可用性成为最重要的。你的应用程序必须具有响应性等等(为了它,不要在这里使用Dilbertian管理流行语。只是声明可用性在今天非常重要)。 并且不要忘记每个人都希望它是美丽的(从图形设计师的角度来看),即使它是一个沉闷的B2B应该只被洞穴男士使用。

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

答案 1 :(得分:2)

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

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

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