我经常听到人们赞美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