Apache flex Facebook是否可以在AdobeFlex中实现?

Apache flex Facebook是否可以在AdobeFlex中实现?,apache-flex,facebook,flex3,flexbuilder,Apache Flex,Facebook,Flex3,Flexbuilder,我正在考虑创建一个具有Facebook复杂性的网站,该网站应该能够扩展到数百万用户。我的问题是:除了要求每个人都安装Flash而不必依赖Adobe之外,还有什么理由不在这么大的项目中使用Adobe Flex吗?在我看来,AdobeFlex将减少Facebook的服务器负载,因为更多的工作可以在客户端完成。你同意吗?去facebook查看源代码……你看到所有的JavaScript了吗?所有运行在客户端的Flex都是客户端的GUI。您仍然需要服务器端存储,这是必须扩展的。用户界面可以是Flex,而大

我正在考虑创建一个具有Facebook复杂性的网站,该网站应该能够扩展到数百万用户。我的问题是:除了要求每个人都安装Flash而不必依赖Adobe之外,还有什么理由不在这么大的项目中使用Adobe Flex吗?在我看来,AdobeFlex将减少Facebook的服务器负载,因为更多的工作可以在客户端完成。你同意吗?

去facebook查看源代码……你看到所有的JavaScript了吗?所有运行在客户端的Flex都是客户端的GUI。您仍然需要服务器端存储,这是必须扩展的。用户界面可以是Flex,而大多数用户都不喜欢这样的界面。

你必须为iPad/iPhone定制网站版本

还有其他将负载移动到客户端的方法。Javascript会给您带来移植方面的麻烦,但与离开整个体系结构(如Flex)相比,这还不够


o当你拥有一百万用户时,你将有足够的资源来重新实现你的站点。

Johannes正确地指出了服务器与客户端的区别。服务器端的东西需要扩展

例如,微软的Silverlight团队已经组装了一个(使用Facebook公共API的)。我的观点是,使用当今的技术,完全有可能编写一个针对多种不同类型客户端技术的web应用程序:经典web浏览器(HTML/javascript)、“富internet应用程序”(flex、silverlight)等等


还可以看到无数的Twitter客户端。

当然,Facebook可以在Flash中实现。但问题是它会成功吗?谷歌、Facebook和雅虎等大型网络公司之所以尽量少用Flash,是有原因的

我最担心的是疏远用户。Flash插件不是最好的软件。它的速度很慢,可能会偶尔崩溃一次。如果你的应用程序越来越大,你可能会得到一些用户可能无法接受的加载时间。在我看来,全速闪现网站感觉不太好,因为它们的行为与HTML网站不同。所有伟大的网站,如谷歌、Flickr、Stackoverflow或Facebook,都感觉非常轻巧和光滑,这是非常优雅的,弥补了巨大的可用性

而且HTML和JavaScript更灵活。您希望您的网站在smartphonse上可用吗?iPhone没有Flash,即使是有Flash的手机,你也有一个问题,那就是用户很可能会讨厌一个完整的Flash站点,因为这些手机不一定能像扩展HTML那样很好地扩展Flash,Flash会疯狂地消耗电池。如果有人提出了另一场革命,比如智能手机,你可以肯定它支持HTML和JavaScript,但你不能肯定Flash

那么问题是你如何获得效率?当然,您可以使用Flex编写UI,只需调用非常轻量级的Web服务,就像您将其用于AJAX一样,您甚至可以在本地缓存站点的一些内容,这样您就不会传输用户交互所需的更多数据(UI只传输一次)。但您也可以使用JavaScript来实现这一点。您可以用HTML和JavaScript编写UI,加载一次,然后从服务器中提取裸JSON数据,并使用JavaScript呈现。您还可以提前获取大量此类数据,以减少请求数量。但这种方法也有其缺点。您是否注意到,当您在stackoverflow上键入答案,而其他人提交了答案时,您会在键入答案时收到通知。这样的实时功能非常酷,您可能希望在某个时间点使用它,这意味着更多的服务器交互

但是,无论你做什么,如果你的网站在增长,你的服务器仍然需要扩展。即使你将访问服务器的GET请求数量降至最低,但当你的网站变得流行时,它们仍会大量增加,你需要大量服务器来处理,这只会提高你的用户/服务器比率


不过,最有趣的一点是,Flex比AJAX更容易编程(比如考虑浏览器的不兼容性),而且AJAX不仅是发明出来的,而且整个世界都在处理随之而来的所有问题,而不是使用Flex。我认为这充分说明了在Flash中创建完整网站的结果的价值。

我工作的公司有一个大型Flash应用程序,供政府使用。它很难维护,有时确实会失败。问题是所有的.fla和.as文件都必须进行修改,只需做一个小改动。是的,这个应用本可以构建得更好,但即便如此,它仍然比HTML/JavaScript前端更难维护

虽然我喜欢编写Flash/Flex应用程序,但我认为它们应该是网站的补充,而不是网站


使用好的JavaScript框架,如jQuery,可以消除浏览器兼容性问题(在大多数情况下),并允许很多功能。

我认为你不会看到Facebook这样的网站的性能优势,因为内容是高度动态的,来自许多不同的地方,由许多独立实体创建。Flash(以及Flex)更适合于单一来源的单一应用程序,这些应用程序不需要经常更改

Flash中的默认设置是将所有内容构建到一个包含所有内容的.swf文件中。当然,有可能打破这种默认行为。您可以进行web服务调用,通过SWC机制拉入外部组件,通过HTTP加载静态内容,等等。然而,这不是默认模式,它会影响Flash开发库和工具的工作方式。此外,你做的越多,“尽可能在客户端运行一切”的好处就越少。它被HT吸收了