2009-07-03 102 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這樣的東西讓它變得更容易。

仍然有很多地方桌面應用程序更合適。

相關問題