在我正在为之工作的公司中,似乎突然间我们所有的应用程序都需要移植到Web应用程序中.据我所知,唯一的原因是网络应用炒作最终污染了我们的一些决策者.
我是桌面应用程序的粉丝,因为它们更加用户友好.在我看来,它们响应更快,具有更好的用户界面,更具可定制性并且具有更好的键盘支持.我只是看不到自己使用的是Visual Studio或OpenOffice的Web版本.此外,我认为瘦客户端桌面应用程序比他们的网络应用程序对应物更容易实现.
也许我忽略了Web应用程序的一些特性,也许我对上面提到的缺点不正确.因此我的问题是:是否有人可以看到Web应用程序优于桌面应用程序的优势?
更新:到目前为止,有一些有趣的回应.但请注意,我不是在讨论瘦客户端应用程序之间的区别,而只是在开发webbrowser平台与桌面平台之间.
更新:通过"Web应用程序"我的意思是组合HTML/CSS/JavaScript,而不是像Silverlight这样的富Internet应用程序.这些与桌面应用程序非常相似,主要区别在于它们在沙箱中运行.
rah*_*hul 61
Web应用程序避免了在每台客户端计算机中部署的负担.
不必在客户端计算机中强制执行版本检查.
更新更容易.
使错误修复更容易.
没有管理员权限检查.
可以从任何地方访问.
平台独立.
支持和维护更容易.
移动应用程序的适应性.
Mal*_*rap 53
桌面应用程序给一个远不止网上应用提供卓越的用户体验.
当然每个选项都有其优点和缺点,但你也需要对它们进行评分.哪个更重要,用户体验或平台独立性?我们将用户体验评为许多内容.是的,我们正在做出牺牲,但那是生活的一部分.
说服你的上级的一种方法是向他们证明用户体验是桌面应用程序的未来前景,并试图说服他们在制作Web应用程序之前创建桌面应用程序.
我们在我们公司和我们的客户都喜欢任何一天在网络应用程序上的桌面应用程序.他们非常愿意接受使用桌面应用程序带来的任何缺点.
我没有像其他人那样在我的答案中列出网络应用程序的优点.Web应用程序和桌面应用程序都有优缺点. 两个都做! 让您的客户选择.请回复统计数据.;-)
Dav*_*row 24
我已经做了很多开发,编写了丰富的桌面应用程序和网站.
通常,为桌面应用程序编写代码更容易,有更多可用的控件,您可以更好地控制应用程序的工作方式.
编写Web应用程序确实需要您了解HTML,CSS和Javascript,以及浏览器的限制(或谈论IE时的错误).您必须担心状态并坚持它,并且您可用的机制是有限的.
话虽如此,随着时间的推移,我发现自己越来越喜欢编写Web应用程序.平台的局限性使您简化了事情,Web的无状态有助于管理一些复杂性.我的上一个网络项目上线,业务几乎不需要培训,因为非技术人员现在熟悉网页及其工作方式.只需要修复并立即投入使用它也很棒.如果您曾经使用升级桌面应用程序,您无疑会知道它有多复杂和痛苦.
最近,我们在混合策略(Webtop)上取得了一些成功,将主系统编写为网站,然后为需要更多功能的高级用户提供客户端应用程序.这可以托管一个浏览器控件(在windows中你可以轻松地嵌入IE,在OS X中你可以用safari做同样的事情),或者使用API.就像Twitter如何为您提供网络版本,但高级用户可以使用TweetDeck或其他任何东西.
tru*_*ppo 20
Mar*_*ler 11
桌面应用程序上的Web应用程序专业版: -
桌面应用程序上的Web应用程序的Con: -
如果网络连接中断,应用程序也是如此
需要学习多种语言才能成功开发应用程序(服务器端脚本,SQL,XHTML/CSS等)
所有这些只是您在此对话中可以找到的众多专业人士和骗子中的一小部分
Web和桌面平台都有其优点和缺点.可以为两者做出好的论据.混合应用程序(部分Web,部分桌面)在这方面也有优点/缺点.
应用程序开发应始终由需求驱动,而不是技术趋势或宗教优先级或比较广义的优点/缺点.
有没有尝试向美国或其他宽带接入不稳定或不存在的国家/地区的人们销售网络应用?:)移动访问怎么样?原生,基于网络还是混合?如果没有互联网连接,那么本地访问数据会怎么样?等等.
从应用程序要求开始,逐步回到技术.当您这样做时,您做出了正确的决定,最终得到了手头项目的最佳平台.
示例:请注意"桌面应用程序提供比Web应用程序更优越的用户体验".如果要求(A)要求从配备有Web浏览器和Internet访问的任何计算机随时/随时访问,并且(B)还要求类似桌面的性能(例如,不需要页面刷新的实时数据库数据),则( C)开发人员被引导考虑诸如AJAX,Flash,Silverlight,Java甚至是作为浏览器控件加载的本机客户端之类的技术.
我只是说,需求驱动,而不是技术驱动.
已经提到很多要点.但有一些我不能完全同意:
取决于应用程序的类型.如果你有cms应用程序而不能用web替换(至少某些部分),因为应用程序需要使用本地资源,如打印机,条形码阅读器,财务打印机,显示器等.
因此,对于需要本地资源的此类应用程序,无法替换桌面.
对于cms应用程序,桌面应用程序也可以比Web快得多.
想象一个大型超市,很多客户都在等待支付订单并使用网络应用程序支付窗口.我还没见过这样的话.
但是也有像Oracle ADF这样的网络框架,它们比桌面设备更具影响力.使用ADF,您可以构建与桌面应用程序相同的Web应用程序,其方式与构建桌面应用程序的方式类似.但它是否昂贵,学习曲线很高,需要"好"的硬件.
但请记住,如果对于Web,您没有使用经过测试的组件,那么Java脚本对于关键任务应用程序来说并不是那么好,它很容易出错.