浏览器相容性衍生新成本
虽然Ajax技术的局部更新与呈现控制效果有很多好处,实际上仍衍生了新的开发成本。 Ajax是多种技术的集合,由于不同的浏览器对不同技术的支援程度不一,呈现效果可能会差异甚大;而且,即使是同一种浏览器,不同版本的支援也会差异很大,例如同样的边界值设定,IE 6.0和7.0显示的效果就大不相同。开发人员必须针对不同浏览器的呈现结果逐一调整。
友迈科技董事长卓政宏与网擎资讯研发经理张嘉渊不约而同地承认,浏览器相容问题是开发Ajax网页最费力、也最麻烦的问题。网页环境是开放的,不同于桌面应用程式的封闭性,开发人员无法百分之百预先针对各种可能的使用者浏览环境进行完整的软体测试,只能尽可能支援主流规格。
Ajax开发不只是技术问题,经常需面临技术与应用的双重考量。网站开发人员经常面临的两难,是必须在网页效果和浏览器相容性中取舍。为Sony设计购物网站的Brix专案协理刘育廷无奈的表示:「为提供更细腻的效果,我们无法支援所有的浏览器,最后只好忍痛放弃使用人数较少的FireFox。」针对特定浏览器设计,比较能做出准确和丰富的呈现控制效果,但必须耗费时间成本追踪和分析使用者的使用记录,才能了解目标顾客的使用环境,这是比较有效率,但无法通吃的预判方式。
框架可解相容问题,但弹性受限
另一种策略是采用能专门解决浏览器相容问题的Ajax框架。例如Urmap下一版已经开始使用YUI(Yahoo! User Interface Library)进行开发,卓政宏指出:「应该把力气花在产品内容,把繁杂的相容问题交给专家。」许多框架都会特别处理浏览器问题,以维持框架的相容性。例如YUI有专责单位Yahoo! Presentation Platform team负责长期维护。在这种策略下,网站企业主可更专注于产品实质内容的开发,但就须和特定框架绑在一起。
但是对开发网页应用程式的服务供应商而言,他们对资料传输量的要求比较严苛,技术客制弹性需求比较高,网擎资讯研发经理张嘉渊认为:「试过一些框架例如Dojo或YUI,因为支援太多功能而档案太大,影响下载速度,客制弹性也不够。」因此网擎资讯选择不用框架,自行研发Ajax应用。在浏览器相容性劳务负担与弹性客制化之间,网站企业主必须作一个选择。
从表格走向物件,开发思维须转型
虽然浏览器相容性是外在影响因素,对网页企业主而言,Ajax技术也同样会造成内部开发的结构性变革,最主要因素是网页内容的物件化要求。网页内容透过CSS或XML包装成物件后,Ajax才能透过JavaScript精准的控制DOM来更新资料或改变呈现的方式。网页内容物件化程度不够时,会造成JavaScript执行失败,或干扰原本已有效的控制程式。
物件化的设计思维其实是CSS的设计精神,但过去网页开发人员或美工设计人员习惯采用表格对版面直接进行铺排,直接视觉化的角度,安排网页内容的架构。表格式的设计思维,造成内容的呈现方式和意义架构的混合,一旦要调整不同的呈现方式,或修改意义架构时,就必须重新设计网页,造成许多重复工作。即使可以透过网页范本套用,仍须为不同的呈现,设计不同的网页范本,这仍是许多网页开发人员抛不开的痛苦。
CSS采用物件化的设计精神,可以将内容和呈现分离,使得同样的内容可以一再套用到不同的呈现样式。局部样式修改,也可以马上反映到所有套用的内容上,不需逐一修改网页,应用弹性和可用性可大幅提高。但CSS之所以过去难以普及的原因,在于内容与呈现分离的物件化设计概念,过于抽象,无法直接从视觉上看到效果。开发前置作业期程将会因此耗时更久,开发人员必须先分离出网页内容的整体结构,考量未来可能呈现的样式,进行规画,不易像过去那样边做边改。这是完全不同的设计思维与开发习惯的跃迁。
对设计人员而言,需要进行心态的转换与相当时间的习惯调整。 Ajax技术会迫使网站开发人员需重新检视设计思维,调整过去直觉式的设计习惯,采取更严谨的开发规画。最近也开始出现一些网页物件化设计的框架,例如台湾Yahoo!奇摩使用的LSM(Layered Semantic Markup)框架,采取资料内容、呈现样式与操作行为分开的设计,达到网页结构化,以及开发与设计协同分工的目的。
网站开发需要更细腻的专业分工
更深一层的开发思维影响是互动设计的专业化。目前多数Ajax网站的开发原因,对介面物件操控与互动效果的设计,多数仍由程式开发人员主导。不是因为开发人员擅长互动设计,而是设计人员害怕写程式。台湾最大设计网站黑秀网下任站长(网路代号:火星人)表示:「设计人员连一行程式都不愿意碰,这是难以跨越的鸿沟。」
设计人员多采逐页画面设计的思维,将页面变化的截图,交给程式人员处理成动态效果。但毕竟程式开发人员不见得能比设计人员更熟悉设计或美感呈现的考量,这样截然二分的流程其实限制了动态效果的呈现方式,或者是局限在小地方互动的机制,从而缺乏整体性的设计。
透过Ajax技术的网页,内容会依据使用者的操作动态产生,而介面互动方式,又会因产生的内容衍生,使得介面设计的难度更高。再加上动态更新的网页内容,不利于搜寻引擎的索引,全面采用Ajax技术,反而影响网站内容在搜寻引擎上的排名能见度。
Ajax方便性与搜寻引擎最佳化(Search Engine Optimization,简称SEO)的拿捏使得Ajax网站的介面设计,需面临多种向度的综合能力。已有大型网站,招募专责人员负责介面设计,例如Yahoo!的前端技术工程师(Front-End Engineer,简称F2E)、或是Yam天空网站的网页工程师(Web Master)等,不再只是通称网页设计、视觉设计或美工。专门职位的设立,反映出Ajax介面设计的专业分工趋势,网站企业主采用Ajax技术时,对互动品质要求越高时,就不仅是选对技术框架,或找到专精的设计人员就足够,而是需要专职介面设计人员。
网页丰富应用各家争鸣,企业需评估Ajax采用时机
让我们再从网页丰富应用(Rich Internet Application)的角度来看,Ajax也并非是唯一的技术。 Flash已经出现十年,可以提供更丰富的动态互动与影音效果。但Flash的设计难度更高,相较于懂JavaScript的人力,能够充分运用ActionScipt的人力非常缺乏,Flash强于设计辅助,但对介面程式开发的支援和管理相对较弱。兼具开发人力与互动效果双重优势的Ajax,仍有不可取代的价值。
但此一优势现在也面临极大的挑战,Ajax正受到内在技术的局限与新兴技术的竞争。 Ajax技术一方面引发越来越高的网页安全问题,衍生新的资安控管与程式设计安全问题,使得技术框架需要更多复杂的程式码来控管,进而影响效能和下载意愿。另一方面,面对日益复杂的应用需求,Ajax技术遇到瓶颈,也开始不胜负荷,例如无法快速处理商务网站所需的上千笔资料排序。
Ajax有内忧,而次世代网页技术也节节逼近,例如微软新推出的Silverlight技术,兼具搜寻引擎最佳化与介面呈现效果,又拥有完整的开发与设计工具支援,来势汹汹。升阳也预告将推出专攻RIA应用的JavaFX新语言,主打行动装置的相容性等。
但技术优劣不等同于应用效益,最后何者胜出,端视应用的整合配套。网站企业主需评估Ajax技术与企业应用需求时,需考量整合效益,衡量长期维护与内容建置是否能配合,清楚了解采用后需调整的配套作为,而不是一昧追赶流行比效果,才能发挥Ajax技术的最佳效益。
如对本文有疑问,请提交到交流论坛,广大热心网友会为你解答!! 点击进入论坛