2009-07-03 103 views
10

我经常听到人们赞美Web应用程序(而不是桌面应用程序)的便携性。事实上,在多个操作系统上提供桌面应用程序是很困难的。不过,我认为网络应用程序必须同时处理可移植性问题,只能在浏览器而不是操作系统之间处理。或者制作跨浏览器的Web应用程序并不困难?Web应用程序是否比桌面应用程序更具可移植性?

回答

10

与操作系统兼容性相比,浏览器兼容性为远远易于实现

有关可移植性的详细信息,您可以阅读本文。

Software portability

+2

这是真的。但必须承认,确保你在IE6上形成漂亮的网站显示是一个完整的噩梦:P – 2009-07-03 09:54:58

+0

但这样的缺陷可以很容易地纠正,没有时间。 – rahul 2009-07-03 10:02:46

+0

@phoenix - “没时间” - 你认真吗? – 2009-07-03 14:16:21

2

这一切都取决于正是你正在试图建立。一些工具包,如QT工具包,可以非常简单快速地编译和跨平台可移植性。因为网络的文化与Mashups,发行以及什么都没有关系,所以网络应用现在非常流行和“进入”。问题在于,尽管大多数浏览器都变得越来越快,但它从未真正设想过。瘦客户端,如谷歌文档,什么不是非常有用,但不能与桌面版本完全竞争,但他们没有尝试。其主要依赖于你使用它们的方式。

6

当然,编写Web应用程序时存在跨浏览器兼容性问题是正确的。但是,与桌面应用程序开发一样,您可以使用可以为您处理的框架和库(例如JQuery,Google Web Toolkit,Yahoo UI)。

Web应用程序更加简单的一件事是跨平台拥有一致的外观和感觉。浏览器都使用CSS,并且通常具有一致的外观元素(或者将为平台使用适当的元素)。使用桌面应用程序时,跨平台原生外观更加难以实现。使用Java进行跨平台GUI的一个重要诟病是,即使使用平台外观,它也不够本土。我不确定像Qt这样的图书馆在这方面是否更好。

5

请记住,对于Web应用程序,有两个级别的可移植性。

首先也是最重要的,浏览器的可移植性。但是,如果应用程序必须在更多的Web服务器上运行,那么还有服务器端可移植性。大多数时候你决定Linux与Windows。但还有其他问题(例如php版本要求)。

1

如果根据MVC模式仔细设计一个Web应用程序,那么已经移植了视图部分(页面)。

如果业务层和数据层设计良好(不是意大利面代码)并且不混合,那么他们也可以很容易地移植(但对于桌面应用也是如此)。

无论如何,Web应用程序已经移植 - 您可以在许多平台上的许多浏览器中使用它们。

0

是的,你通常可以建立非常高度互动和丰富的网络应用程序,不幸的是,由于使用的工具,浏览器不兼容等原因,开发过程变得复杂得多。但是像Silverlight这样的东西让它变得更容易。

仍然有很多地方桌面应用程序更合适。

相关问题