作者:888真人游戏官网1 | 来源:互联网 | 2023-05-19 03:35
InthecompanyImworkingfor,itseemsthatallofasuddenallofourapplicationsneedtobepor
In the company I'm working for, it seems that all of a sudden all of our applications need to be ported to web applications. For as far as I can understand, the only reason is that the web application hype has finally contaminated some of our decision makers.
在我正在为之工作的公司中,似乎突然间我们所有的应用程序都需要移植到Web应用程序中。据我所知,唯一的原因是网络应用炒作最终污染了我们的一些决策者。
I am a fan of desktop applications because they are more user friendly. In my opinion, they are more responsive, have better user interfaces, are more customizeable and have better keyboard support. I just cannot see myself using web versions of Visual Studio or OpenOffice. Furthermore, I have the impression thin client desktop applications are easier to implement than their web-app counterparts.
我是桌面应用程序的粉丝,因为它们更加用户友好。在我看来,它们响应更快,具有更好的用户界面,更具可定制性并且具有更好的键盘支持。我只是看不到自己使用的是Visual Studio或OpenOffice的Web版本。此外,我认为瘦客户端桌面应用程序比他们的网络应用程序对应物更容易实现。
Maybe I am overlooking some qualities of web applications, and maybe I am incorrect about the drawbacks I mentioned above. Therefore my question: is there anyone who can see advantages of web applications over desktop applications?
也许我忽略了Web应用程序的一些特性,也许我对上面提到的缺点不正确。因此我的问题是:是否有人可以看到Web应用程序优于桌面应用程序的优势?
Update: So far, there came some interesting responses. Please note however that I am not talking about the difference between a thin and fat client application, but only between developing for a webbrowser platform versus a desktop platform.
更新:到目前为止,有一些有趣的回应。但请注意,我不是在讨论瘦客户端应用程序之间的区别,而只是在开发webbrowser平台与桌面平台之间。
Update: by "web application" I mean the combination HTML/CSS/Javascript, not rich internet applications such as Silverlight. These are very similar to desktop applications, the main difference being the fact that they run in a sandbox.
更新:通过“Web应用程序”我的意思是组合HTML / CSS / Javascript,而不是像Silverlight这样的富Internet应用程序。这些与桌面应用程序非常相似,主要区别在于它们在沙箱中运行。
19 个解决方案
I've done a fair bit of development writing both rich desktop apps and web sites.
我已经做了很多开发,编写了丰富的桌面应用程序和网站。
Generally writing code for a desktop app is easier, there are more controls available, you have much greater control over how the app works.
通常,为桌面应用程序编写代码更容易,有更多可用的控件,您可以更好地控制应用程序的工作方式。
Writing web applications really requires you to understand HTML, CSS and Javascript, as well as the limitations (or bugs when talking about IE) of the browsers. You have to worry about state and persisting it, and the mechanisms available to you are limited.
编写Web应用程序确实需要您了解HTML,CSS和Javascript,以及浏览器的限制(或谈论IE时的错误)。您必须担心状态并坚持它,并且您可用的机制是有限的。
Having said that, over time I find myself enjoying writing web applications more and more. The limitations of the the platform makes you simplify things, and the statelessness of the web helps manage some of the complexity. My last web project went live and the business required virtually no training because non technical people are now familiar with webpages and how they work. It is also great just to put a fix in and have it go live straight away. If you've ever worked with upgrading desktop apps you will no doubt know how complicated and painful it can be.
话虽如此,随着时间的推移,我发现自己越来越喜欢编写Web应用程序。平台的局限性使您简化了事情,Web的无状态有助于管理一些复杂性。我的上一个网络项目上线,业务几乎不需要培训,因为非技术人员现在熟悉网页及其工作方式。只需要修复并立即投入使用它也很棒。如果您曾经使用升级桌面应用程序,您无疑会知道它有多复杂和痛苦。
Recently we have had some success with a mixed strategy (webtop), writing the main system as a web site, but then providing a client side application for power users who need more features. This can either host a browser control (in windows you can embed IE easily, in OS X you can do the same with safari), or use an API. Much like how Twitter gives you a web version, but power users can use TweetDeck or whatever.
最近,我们在混合策略(Webtop)上取得了一些成功,将主系统编写为网站,然后为需要更多功能的高级用户提供客户端应用程序。这可以托管一个浏览器控件(在windows中你可以轻松地嵌入IE,在OS X中你可以用safari做同样的事情),或者使用API。就像Twitter如何为您提供网络版本,但高级用户可以使用TweetDeck或其他任何东西。
Both web and desktop platforms have their advantages and disadvantages. Good arguments can be made for both. Hybrid apps (part web, part desktop) also have advantages/disadvantages in this regard.
Web和桌面平台都有其优点和缺点。可以为两者做出好的论据。混合应用程序(部分Web,部分桌面)在这方面也有优点/缺点。
Application development should always be driven by requirements, not technology trends or religious prefs or comparative generalized advantages/disadvantages.
应用程序开发应始终由需求驱动,而不是技术趋势或宗教优先级或比较广义的优点/缺点。
Ever try to sell a web app to folks in areas of the US or other countries where broadband access is spotty or non-existant? :) What about mobile access? Native, web-based, or hybrid? What about local access to data when there is no Internet connection, if it is required? Etc.
有没有尝试向美国或其他宽带接入不稳定或不存在的国家/地区的人们销售网络应用? :)移动访问怎么样?原生,基于网络还是混合?如果没有互联网连接,那么本地访问数据会怎么样?等等。
Start with the application requirement and work your way back to the technology. When you do that, you make the right decisions and end up with the best platform for the project at hand.
从应用程序要求开始,逐步回到技术。当您这样做时,您做出了正确的决定,最终得到了手头项目的最佳平台。
Example: Take the comment that reads, "Desktop applications give a far superior user experience than web applications." If the requirement (A) demands anywhere/anytime access from any computer equipped with a web browser and Internet access, and (B) also demands desktop-like performance (say, live database data that doesn't require page refreshes), then (C) the developer is led to consider technologies such as AJAX, Flash, Silverlight, Java, or even native clients that load as a browser control.
示例:请注意“桌面应用程序提供比Web应用程序更优越的用户体验”。如果要求(A)要求从配备有Web浏览器和Internet访问的任何计算机随时/随时访问,并且(B)还要求类似桌面的性能(例如,不需要页面刷新的实时数据库数据),则( C)开发人员被引导考虑诸如AJAX,Flash,Silverlight,Java甚至是作为浏览器控件加载的本机客户端之类的技术。
I'm just saying, again, be requirements driven, not technology driven.
我只是说,需求驱动,而不是技术驱动。
Depends of the type of the application. If you have cms application than it cannot be replaced with web (at least some parts) because the application needs to work with local resources like printer, bar code reader, fiscal printer, display and so on.
So, for this type of applications that needs local resources, desktop cannot be replaced.
Also desktop apps can be very faster than web, for cms applications.
取决于应用程序的类型。如果你有cms应用程序而不能用web替换(至少某些部分),因为应用程序需要使用本地资源,如打印机,条形码阅读器,财务打印机,显示器等。因此,对于需要本地资源的此类应用程序,无法替换桌面。对于cms应用程序,桌面应用程序也可以比Web快得多。
Imagine a big supermarket with a lot of customers waiting to pay their orders and paying windows with web applications. I have not seen such thing.
想象一个大型超市,很多客户都在等待支付订单并使用网络应用程序支付窗口。我还没见过这样的话。
But also there are web frameworks like Oracle ADF that have even more reach than desktop assp. With ADF you can build web app identical to desktop app, in a way similar to the way the desktop apps are build. But is it expensive, learning curve is high and requires "good" hardware.
但是也有像Oracle ADF这样的网络框架,它们比桌面设备更具影响力。使用ADF,您可以构建与桌面应用程序相同的Web应用程序,其方式与构建桌面应用程序的方式类似。但它是否昂贵,学习曲线很高,需要“好”的硬件。
But keep in mind that if for web you are not using tested components java script is not so good for mission critical apps, it is error prone.
但请记住,如果对于Web,您没有使用经过测试的组件,那么Java脚本对于关键任务应用程序来说并不是那么好,它很容易出错。