在Ajax、Flex和Silverlight之间进行选择
,和是制作更具交互性的web应用程序的几种方法。当你决定使用一个新的Web应用程序时,你会考虑什么样的因素?p>在Ajax、Flex和Silverlight之间进行选择,ajax,silverlight,apache-flex,Ajax,Silverlight,Apache Flex,,和是制作更具交互性的web应用程序的几种方法。当你决定使用一个新的Web应用程序时,你会考虑什么样的因素?p> 它们中有哪一个提供更好的跨平台兼容性、性能、开发人员工具或社区支持 像Flex和Silverlight这样的web运行时都提供了诱人的东西,但要付出两大代价: 它们只在页面上的一个矩形内运行,不与普通的web小部件交互 它们仅对安装了该插件的用户可用 即使是几乎无处不在的Flash也不是安装在每个web浏览器上,因此,选择使用插件运行时,您就排除了部分用户 相比之下,JavaSc
它们中有哪一个提供更好的跨平台兼容性、性能、开发人员工具或社区支持 像Flex和Silverlight这样的web运行时都提供了诱人的东西,但要付出两大代价:
- 它们只在页面上的一个矩形内运行,不与普通的web小部件交互
- 它们仅对安装了该插件的用户可用
到目前为止,我自己的答案一直是JavaScript/Ajax,但我会在任何新项目中重新评估这一点。您的受众是什么:公共网站还是内部网业务应用程序?如果你有一个受控制的用户,他们将安装运行你的应用程序所需的东西,那么采用率是不相关的。然而,如果你需要尽可能多的受众才能使你的网络创业成功,那么这可能是至关重要的 你的目标是什么?以最低的成本建造一些东西?学习新技术 你能利用你现有的技能吗?如果您已经了解.NET,那么Silverlight将得到提升。学习Flex可能很有趣也很有用,但它对您来说是否比更多的.NET技术经验更有用?记住要考虑学习新事物的机会成本。
在这一点上,我看不到一个明确的技术赢家,而且可能在很长一段时间内不会有赢家,因此选择将归结为相当主观的因素。这里是每个领域的简要介绍(有很多有用的链接): 跨平台兼容性 在可以运行的环境中工作。Flex需要Flash或其他任何可以处理s的东西,但一旦安装,就兼容性而言,这是一个很大的挑战。Silverlight是如此仔细地考虑您在使用这个MS进入富Web应用程序军备竞赛。还请记住,Silverlight仍处于测试阶段,因此随着它的开发,将来可能会得到更广泛的使用和安装 演出 我害怕对性能做太多的陈述,因为这实际上取决于您愿意优化的程度以及应用程序的确切性质。此外,一些技术堆栈永远不会很快,但同样,(即使是您正在测试的浏览器版本!)。一旦开始开发,最好根据其他因素进行选择并进行优化 开发工具 以下三种工具都有“黄金标准”开发工具:
- Ajax基本上有无限的选项,这取决于您对其他技术和体系结构的选择。你实际上面临的一个大问题是依赖哪些库,而谷歌已经给出了一个很好的答案,比如。当你开始讨论它时,它只是XML和JavaScript,对吗
- Flex来自Adobe,就像Flash开发一样,你最好坚持下去,因为——好吧——他们正在制定标准
- Microsoft已将Microsoft Expression Blend 2.0版和2.5版分别用于设计Silverlight 1.0和2应用程序的UI。Visual Studio 2008可用于开发和调试Silverlight应用程序()
再一次,这三家公司的巨头都在努力培育他们的社区,并向开发者提供尽可能最好的支持,从而在未来为他们提供更大的市场份额。我认为,选择应该主要基于您将要构建的应用程序的性质(例如,如果您需要操纵矢量图形,Ajax已经非常过时了),但这里有一些一般的指导原则: 无处不在
- Silverlight:任何.NET语言(C#、Visual Basic、IronPython(?)、IronRuby(?)和XAM)