个人认为这是由两个层面的意思构成:rich和client。其主体是client,即指我们所说的web browser。rich的意思是让其更加富有。Ajax为什么要这样做呢?其要针对解决的问题又是什么呢?我认为值得去思考,反过来也帮助更好地理解其本质。
1. 传统browser能提供的用户体验不够丰富。一个基本的问题既是,用户和browser的交互模型不够理想。server控制了用户data model和client session,在用户这一侧,browser只是一个dummy的显示窗口。如果没有下一个link click,browser将不会有data更新。这既是交互式模型不好的表现,大家可以想一些具体的例子来说明这个问题。
2. 网络的延迟性。其实client的定义比较抽象,既可以是本机的业务层client(直接内存访问),也可以是以网络为传输的远端client。这两者有什么不同呢?响应时间的不同。本地业务层client往往没有延迟体验,但远端client确存在不稳定的延迟体验。这个不同点,既是一个Ajax要去解决的问题,怎样将远端交互的延迟和用户体验降到最低。
3. 异步交互。我想在理解了第二点的基础上,这一点即是它的答案。异步交互模式的优点是,即使网络延迟不稳定,但不影响用户的体验。比如,刚提交的表单业务,继续在server端处理,网络延迟和server计算的延迟都不会影响用户继续处理下一个表单,所以保证了远端业务处理的并行性,从而保证了对用户体验的最小影响。
4. 业务使用模式的不同。一般来讲,业务的使用模式可以分为临时性和持久性的(sovereign)两种。Ajax要对此进行说明,是基于对自己清楚的定位。比如,MS office是一个持久性的application,软件开发工具的IDE也是,为什么呢?因为他们需要用户长时间的使用和高度注意力,然而临时性模式是指短时间使用,辅助和临时性的使用,比如eBay和Google即是这样的例子。临时性模式是否可以替代持久性模式的application呢?Google可以做基于browser的MS office吗?个人理解是不太可能,至少是类似水平。Ajax的定位也即是在这两者之间,并更趋向于丰富基于browser的持久性application。对临时性的application,Ajax的立场是取代性的,这一点于持久性application的模式不同。
本文探讨了Ajax技术如何通过异步交互提升用户体验,减少网络延迟的影响,并分析了它在临时性和持久性应用程序中的不同作用。
401

被折叠的 条评论
为什么被折叠?



