运用Ruby纤程进行异步I/O:NeverBlock和Revactor
Ruby 1.9的纤程(Fibers)和非阻塞I/O越来越收到关注了。我们对来自NeverBlock项目的Mohammad A. Ali和来自Revactor项目的Tone Arcieri进行了访谈。
作者 Jon Rose译者 郭晓刚 发布于 2007年12月2日 下午7时14分
Adobe集成运行时(AIR)是一个让开发者运用Web技术构建桌面应用的平台。Danny-T在博客上质疑了Adobe AIR的泛型, “从浏览器里逃出来是正确的一步吗?”
在文章中,Danny-T表达了作为用户他自身的期盼:
我一般并不喜欢下载和安装应用程序……
我热爱RIA,我喜欢它们便于访问、使用和分享……
我觉得把RIA作为与浏览器截然分开的实体来运行,不会有什么好处。RIA吸引人的两大特点是简单和随处可用,离开了浏览器的RIA会限制这两点。
他举了Buzzword来作为例子:
以Buzzword为例,它真是一个非凡的RIA,就我看来它比任何一个在线和离线的文字处理工具都出色。我还没见过它的AIR版,我听说AIR版已经在开发中,而且我可以预见到AIR给它带来的巨大增强。但是,如果连接检测、本地文件存储、拖放等等这些都能在浏览器版里面使用,不是更好得多?
AIR 提供但浏览器里的Flash/Flex没提供的特性,Danny-T也看到了对它们的需要:
这些特性都是AIR提供的,Flash播放器里面没有,我的确认为这些特性具有很高的价值。安装AIR能给我所有这些能力,包括浏览器里的资源和一个独立的运行时。我理解在各种安全沙盒的限制下,不容易在浏览器里运行。
安全大师会告诉我,我所要求的东西不是不可能,只是不应该。但我的感觉是,只要最终是由我来决定什么可以访问,什么不可以,那么在不在浏览器里应该没什么两样才对。是只有我这样想吗?
Adobe的Ryan Stewart在他的博客里回应道:
我并非完全不同意他的话。虽然AIR很酷,我仍然觉得浏览器才是接触大多数Web应用的中心地点……但即使具备AIR的一些特性,浏览器里的应用仍然不是桌面应用,而这就是我认为AIR的主要优势所在……
对我来说,AIR代表了一种真正的混合式的应用开发。它运用Web技术和开发趋势,却允许开发者创建真正的桌面应用。不过这一点并不是所有人都欣赏。
关键的问题是你的用户想要什么。他们想要一个呆在硬盘上的程序吗?,像其它程序一样安装,行为也像其他桌面应用一样(离线、使用文件系统、通知、可定制的漂亮外观等等);还是希望应用呆在浏览器里呢?
来自Buzzword团队的David Coletta在Danny-T的博客上留言说,难题还不仅仅是安全:
糟糕的是,并不只是解决安全问题那么简单。浏览器/Flash交互存在很多技术问题,迫使Buzzword在浏览器里没办法充分发挥。例如,剪贴板里带格式的文字和键盘管理在浏览器中实际上不可能正确实现,虽然Buzzword已经很接近答案了。
InfoQ.com社区里的读者们,你的用户是否要求一些特性和功能,能够发挥AIR的桌面集成和离线特性的价值呢?如果有要求,你需要完整的AIR功能吗?还是像Google Gears这样的浏览器插件提供的离线支持就够了呢?
关于Adobe AIR的更多信息,请查阅:http://www.infoq.com/cn/air
查看英文原文:Adobe AIR: Do we really need browser apps that run on the desktop?Ruby 1.9的纤程(Fibers)和非阻塞I/O越来越收到关注了。我们对来自NeverBlock项目的Mohammad A. Ali和来自Revactor项目的Tone Arcieri进行了访谈。
InfoQ中文站有幸与Google中国的产品经理杨巍先生在一起探讨了OpenSocial的相关话题,包括OpenSocial的初衷、构成要素、实现方式、以及要实现它的技术储备等等。
Ryan Cooper对Amr Elssamadisy的新书发表了评价,并认为书中提供了一种为实施敏捷量身定做的框架。本书并没有给出一种人人可用的敏捷方法,而是为读者提供一些模式和工具,用以找出哪些敏捷实践可以最有效地达到该组织机构的特定目标。
这个由业界主要专家们参加的座谈会探究了在使应用程序具备尽可能好的伸缩性及性能的过程中所面临的挑战和思考过程。
本视频主要对OpenSocial进行了分析,并对实现的方式进行了介绍。其中包括:OpenSocial的开发经验、Container Provider的技术准备、平台的构成要素、具体的规范、以及对未来的展望。
Memcached在大型网站被应用得越来越广泛,但是Java客户端并不多,本文作者基于现有的开源客户端进行了封装优化,并翔实记录了这一过程。
在他们文章的第二部分,作者探讨了动态业务应用的架构并介绍了资源容器的概念。他们示范了如何在JEE之上构建这个架构,以及它如何影响实现生产力。
ClickOnce让WinForms应用程序的部署轻而易举。David Cooksey演示了如何在ASP.NET中编写一个HttpHandler来实现对ClickOnce部署的版本细分。
4 条回复
回复