广泛而笼统的问题。
假设您已经在.Net (微软)领域中构建了一个带有WCF后端的富客户端的企业级框架。现在,想象一下,企业框架的UI技术正被抛弃,转而支持UWP。
对于前端替换的选择基本上是: UWP、Web (HTML)或其他一些丰富的客户端技术。
你会如何进行决策过程?
我个人倾向于一个富客户端,其中的用户群是一个封闭的用户群。我的意思是,用户的IT部门很乐意在机器上安装必要的运行时环境等等。这通常不是Microsoft技术的问题,在大约10年后,当组织推出Windows 10时,这不会是一个问题。
但是,现在人们告诉我,网络已经走了很长的路。人们告诉我,JavaScript框架正变得非常复杂,用于基本数据绑定等的低级别JavaScript基本上是不必要的。
在过去,我真的被像ASP这样的web解决方案所拒绝,但我确实明白技术已经向前发展,我也知道微软一直在开发ASP.Net v.Next,这可能是好的吗?
问题不在于你会选择什么?但是,,您会考虑哪些因素来决定使用哪个平台来选择
发布于 2017-10-24 01:33:32
我决定在这里回答这个问题,因为我们有更多的时间去调查和研究不同的选择。原来的问题被证明是个小问题。纯UWP和Web并不是唯一的选择。还有一个Xamarin表单作为一个选项,其中包括UWP、Android和iOS。作为个人偏好,我倾向于使用Xamarin窗体作为客户端,而不是任何其他开发平台,因为它支持三个现成的开放源码软件: Windows 10、iOS和Android。
我相信问题的答案是:只有当你需要的时候,你才应该开发一个网络应用程序。你的用户基础是否包括那些更喜欢浏览器而不是应用程序的人?您的潜在用户是否有可能想避免下载应用程序?你的应用程序很简单吗?你希望人们能够很快地投入其中吗?你能在没有摄像头、位置和推送通知的情况下逃走吗?如果您能够回答“是”,那么我认为您应该选择HTML 5/JavaScript。但是,如果您的用户基础很适合下载应用程序,并且您认为您的应用程序需要比大多数浏览器应用程序更复杂的UI,那么我建议您将Xamarin窗体作为首选选项。到目前为止,我们在Xamarin Forms方面已经取得了很好的成功,我们的Xamarin Forms应用程序的UWP版本与我们第一次尝试UWP应用程序一样好。
注意:我应该在这里给网络大会(http://webassembly.org/)一个光荣的奖励。微软、苹果和谷歌等大型科技机构都在考虑这项技术。有一天,它可能会使本地应用程序在浏览器中的部署再次变得伟大起来。
发布于 2015-10-19 12:28:26
基于Opnion的答案。
在为任何项目采用特定技术的决定中,有许多因素。我可以为你的特殊情况举出两个专业。
1-客户收养。客户使用/安装它很容易吗?他们需要支付某种执照吗?它能在客户已经拥有的所有平台/设备中运行吗?
2-市场采用。你的同事很容易接受吗?很难找到/雇用经验丰富的开发人员吗?我们需要支付某种执照吗?我能相信它会是一种长寿的技术吗?
您的问题的答案可以是。
它不仅在市场上已经有了很大的发展势头,而且即使今天有人(比如微软或谷歌)把一些新的(更好的)东西摆在桌面上,它也需要数年的时间才能改变。
另外,如果微软营销主管说,下周环球视窗平台()或WinRT必须死掉(就像Silverlight一样)。所以我不会仅仅因为某个大玩家让我这么做而采用一些新技术。
是的,网络已经走了很长的一段路,确实如此。在那些日子里,只要有JS+HTML+CSS,你就可以做很多令人惊奇的事情。此外,它的正确使用/架构也不能让您将应用程序运行在PC、平板电脑和移动电话上(在设备之间移植的成本最低),并且能够在任何可以访问互联网的设备上运行。
我建议您了解一下webservices、Json、JS库(如JQuery、Sammy )以及一些不错的东西,比如Knockout、SPA、Angular、Node等等。
编辑,回复评论
为了不引起夸夸其谈的评论,我会在这里回复。是的,你的问题和评论带来了有趣的问题。为了让它为后人所读,我们都可以编辑答案和问题来组织它。
银灯。怎么不喜欢呢?特别是在用闪光灯拼凑后。令人遗憾的是,女士放弃了(死在地狱的微软首席执行官)。当MS让它死的时候,我正在计划一个大型的网络应用SL是我的第一选择。为什么我改变主意了?好吧,两年来开发这个应用程序,到最后,到底有多少浏览器会支持它呢?SL社区是伟大的,工具是伟大的,但浏览器可以说,嘿,明天,不能保证它继续工作。
.Net和MS平台。我是一个.Net开发人员。我从beta开始就采用了它,第一次使用winforms (在以前的生活中,我是一个很自豪的Delphi开发人员)。过了一段时间,就开始使用web了。我也在经典的ASP (坏时代)工作,从一开始我就喜欢.Net ASP。
今天,你几乎可以在地球上的任何个人电脑上运行.Net应用程序。并不是所有的手机/设备都是正确的。对于浏览器来说,纯HTML+JS+CSS不好,因为它是轻量级的(做得对)。此外,我们可以将很多东西转移到客户端,只在必要时才让它访问服务器。当然,.Net应用程序可以做到这一点,但我永远不会像定制的HTML+JS+CSS那样轻巧。
事实上,我相信您可以使用.Net做任何事情,如果您的团队中有一些优秀的开发人员,您可以做一些令人惊奇的事情。但是根据项目的不同,它在HTML、PHP、Ruby或Java等方面做得更好(而且更便宜)。
事实上,在以前的一家商店里,我们发现(经过一年的研究,度量,很多项目),小型项目在PHP中做得更好,在.Net中更大的项目(如果我记得的话,中型项目可以是4k到6k人/小时)。
重点是。你一定读了很多关于HTML,CSS,JS,SPA,角等的文章。把一个大而闪亮的web应用带到生活中去,不是因为我们能做什么(我们可以做什么),而是我们能做什么。DDD,MVC,MVVM测试框架等。Man 是的未来(至少概念)。
Web的发展在过去的几年里发生了很大的变化,客户和用户的期望也随之发生了变化。今天,没有人会等待超过2秒的页面加载。每个人都希望可用性从项目开始就在桌面上。您的应用程序必须响应,等等(这里不使用Dilbertian管理嗡嗡声的话)。仅仅说明可用性是非常重要的)。不要忘记,每个人都希望它是美好的(从图形设计师的角度来看),即使它是一个乏味的B2B,应该只被洞穴男人使用。
即使你坚持一个经典的.Net应用程序,了解(许多)选项,这可以带来一个新的更广阔的视角。
https://stackoverflow.com/questions/33207094
复制相似问题