客户-服务器计算:未来的Web?

关于Web,大家最近都在讨论Ajax和更好的用户体验。有人指出:在未来,“原来的”客户-服务器模型将会满足用户的期望与需求。客户-服务器计算真能做为解决Web 2.0技术的应对之道吗?

去年,InfoQ的Shane Witbeck写过关于SproutCore的文章,并将其描述为:

……一种新的、基于JavaScript的、完整的MVC应用程序框架。
Sproutit的董事长兼执行总裁Charles Jolley曾写过一篇文章解释 为什么客户-服务器是Web的未来,文章中曾提到SproutCore框架在这一领域将会有所建树。自从去年InfoQ发布了这篇帖子以来,Sproutit一直在忙于SproutCore 1.0版本的发布,该版本中包含了一些新东西,同时改正了一些bug,对整个API也进行了全面修订。 

最近,InfoQ有机会就SproutCore目前的状况与未来的发展等问题对Charles进行了采访。

InfoQ: 1.0 预计在什么时候发布?

Charles Jolley: 2008年6月。在6月初,我们会在WWDC挂上与最终版非常接近的版本进行展示。

InfoQ: 您早先曾提到过很想完成几个指南(tutorials)和样例应用程序。我留意到已经有了一个hello world教程和一个入门指南以及两个示例应用。在1.0 版本发布之前,您还想再增加几个教程(有关高级特性和用法方面的)吗?

Charles Jolley: 目前,我正忙于SproutCore 1.0的代码,以便其能在6月份及时发布,但我确实想在那时候再加一个教程,主要讲讲如何构建一个完整的应用。同时,你还能下载到示例应用photos的源代码,这个应用中包含了许多相当高级的特性。在示例演示的网页(http://www.sproutcore.com/demos/)上,可以通过链接找到源代码和示例应用。
今年夏天,在1.0发布以后,我打算集中精力好好整理一下SproutCore框架的文档,另外再增加些教程。

InfoQ: 如果用户将浏览器设置成“禁用javascript”,SproutCore就完全不起作用了吗?

Charles Jolley: 基本上说,的确如此。SproutCore使大量应用极具动态性,但是一旦脱离JavaScript,应用所具有的动态特性也随之失去。为了适应这种限制,我们只能把SproutCore做好:编码更少,但是功能更强,这样使用SproutCore的开发者才会觉得物有所值。
当我们需要同时兼顾启用JS和禁用JS的两类客户端使用者时,我一般推荐开发者再为禁用JS的浏览器多构建一个页面驱动的简化版本。目前,很多使用SC的开发者都这样做。

InfoQ: SproutCore是彻底与浏览器无关的吗?(也就是能支持IE 5/6/7、Firefox 2/3、Safari、Opera吗)?

Charles Jolley: SproutCore 1.0将支持IE7、Firefox 2, 3 和Safari 2,3。也会很快对IE6提供支持。(实际上,它是支持IE6的,但现在我们没有时间在开发1.0版本过程中为IE6提供对新特性的支持。)目前我们并不支持Opera,但如果有人需要的话,对它支持也非常容易。

InfoQ: 您认为1.0 发布后,下一步的工作会是什么?

Charles Jolley: SproutCore 1.0将要发布的是在Web浏览器中构建一个完整的客户端应用所需的核心功能。1.0 发布之后,我们将集中精力创建更好的工具,进一步完善文档来使SproutCore更完美。比如,我们现在已经开始着手做一些可视化用户界面构造程序(visual interface builder)的准备工作,一些大的教程也在编写之中。
长期以来,最让我激动的是看到程序员使用这个新框架构造各式各样的应用。我想我们可以向技术社区那样发现并编好大量有用的通用组件供大家使用。

InfoQ: 您想过用Javascript以外的其他技术(如Flex、Silverlight、JavaFX等)来实现SproutCore的设计吗?在您网站的“about”页面上,我看到您的回答是“不”。只是出于好奇,想问问您现在会有另外的想法吗?

Charles Jolley: 从长远来看,我确实认为Web客户端应用程序的未来在JavaScript和DOM scripting上。随着将诸如CSS转换、SVG(译注:可缩放矢量图形 Scalable Vector Graphics)、HTML5电影和音频标签等富媒体(rich media)特性集成到浏览器中,使用专有插件的好处大大降低了。
因此,我认为如今使用那些专有插件编写应用程序的人们,可以从类似SproutCore这样的客户端框架获益。我会很高兴地帮助想要使用SproutCore进行工作的任何人。

SproutCore 致力于解决客户-服务器模型中客户端部分,客户-服务器模型朝着“Web未来”应用程序的开发方向上迈进了一步。或许从Apple公司把Charles招入他们的团队以帮助程序员使用SproutCore开发.Mac Web Gallery开始,Apple公司就已经开始着手在这个方向上做些东西了。关于“未来的Web是什么样的”这个问题,你是怎么想的?

查看英文原文:Client-Server Computing: The Future Web?

你可能感兴趣的:(客户-服务器计算:未来的Web?)