我經常聽到人們讚美Web應用程序(而不是桌面應用程序)的便攜性。事實上,在多個操作系統上提供桌面應用程序是很困難的。不過,我認爲網絡應用程序必須同時處理可移植性問題,只能在瀏覽器而不是操作系統之間處理。或者製作跨瀏覽器的Web應用程序並不困難?Web應用程序是否比桌面應用程序更具可移植性?
回答
這一切都取決於正是你正在試圖建立。一些工具包,如QT工具包,可以非常簡單快速地編譯和跨平臺可移植性。因爲網絡的文化與Mashups,發行以及什麼都沒有關係,所以網絡應用現在非常流行和「進入」。問題在於,儘管大多數瀏覽器都變得越來越快,但它從未真正設想過。瘦客戶端,如谷歌文檔,什麼不是非常有用,但不能與桌面版本完全競爭,但他們沒有嘗試。其主要依賴於你使用它們的方式。
當然,編寫Web應用程序時存在跨瀏覽器兼容性問題是正確的。但是,與桌面應用程序開發一樣,您可以使用可以爲您處理的框架和庫(例如JQuery,Google Web Toolkit,Yahoo UI)。
Web應用程序更加簡單的一件事是跨平臺擁有一致的外觀和感覺。瀏覽器都使用CSS,並且通常具有一致的外觀元素(或者將爲平臺使用適當的元素)。使用桌面應用程序時,跨平臺原生外觀更加難以實現。使用Java進行跨平臺GUI的一個重要詬病是,即使使用平臺外觀,它也不夠本土。我不確定像Qt這樣的圖書館在這方面是否更好。
請記住,對於Web應用程序,有兩個級別的可移植性。
首先也是最重要的,瀏覽器的可移植性。但是,如果應用程序必須在更多的Web服務器上運行,那麼還有服務器端可移植性。大多數時候你決定Linux與Windows。但還有其他問題(例如php版本要求)。
如果根據MVC模式仔細設計一個Web應用程序,那麼已經移植了視圖部分(頁面)。
如果業務層和數據層設計良好(不是意大利麪代碼)並且不混合,那麼他們也可以很容易地移植(但對於桌面應用也是如此)。
無論如何,Web應用程序已經移植 - 您可以在許多平臺上的許多瀏覽器中使用它們。
是的,你通常可以建立非常高度互動和豐富的網絡應用程序,不幸的是,由於使用的工具,瀏覽器不兼容等原因,開發過程變得複雜得多。但是像Silverlight這樣的東西讓它變得更容易。
仍然有很多地方桌面應用程序更合適。
- 1. 如何將web ui移植到桌面應用程序?
- 2. 將現有的Web應用程序移植到移動Web應用程序
- 3. 將Web應用程序移植到Tomcat:javax.naming.NameNotFoundException:
- 4. Silverlight可以幫助移植web上的wpf桌面應用程序嗎?
- 5. TweetDeck用於桌面應用程序/移動應用程序/ Web應用程序的認證機制是什麼?
- 6. .NET的Web應用程序的可移植性Silverlight的
- 7. 移植EJB2.1應用程序
- 8. 淨桌面應用程序和ASP.NET Web應用程序
- 9. 桌面應用程序如何與Web應用程序通信?
- 10. 將桌面應用程序轉換爲Web應用程序
- 11. Java EE,通信Web應用程序和桌面應用程序
- 12. 將JavaFX桌面應用程序轉換爲Web應用程序
- 13. Django的web應用程序和桌面Python應用程序
- 14. Web應用程序和桌面應用程序
- 15. Java桌面應用程序(awt/swing GUI)到Web應用程序
- 16. 從Web應用程序到桌面應用程序
- 17. Web應用程序轉換爲桌面應用程序
- 18. Web應用程序和桌面應用程序
- 19. 是否可以從Windows8.1應用程序更改桌面壁紙?
- 20. 桌面WiFi應用程序與移動應用程序同步
- 21. 如何使java桌面應用程序移動應用程序
- 22. 將桌面Web應用程序轉換爲移動應用程序?
- 23. 帶桌面應用程序的java桌面應用程序
- 24. 將C#桌面應用程序移植到網絡
- 25. 如何將桌面groovy應用程序移植到雲/ android
- 26. 將Windows-CE應用程序移植到Windows桌面
- 27. 移植應用程序許可
- 28. 是否很難移植我的iOS應用程序到Android應用程序?
- 29. 是否可以將iOS應用程序移植到Android?
- 30. 空ZK桌面或Web應用程序
這是真的。但必須承認,確保你在IE6上形成漂亮的網站顯示是一個完整的噩夢:P – 2009-07-03 09:54:58
但這樣的缺陷可以很容易地糾正,沒有時間。 – rahul 2009-07-03 10:02:46
@phoenix - 「沒時間」 - 你認真嗎? – 2009-07-03 14:16:21