防范AJAX风险|防范化解重大风险
由于浏览器和用户都在不断变化,javascript、css和xhr引擎出现的变化都会给ajax应用带来微妙的影响。ajax至少有三大方面的风险:技术风险、文化/政治风险和营销风险。
■译自《computerworld》
技术风险直接涉及软件的设计、开发和维护,包括安全、浏览器功能、最后期限、开发及硬件成本、开发人员的技能及其他这类风险。文化/政治风险主要围绕最终用户的体验、态度和期望以及这一切与软件之间的关系。营销风险涉及成功执行商业模式,从而带来销售、捐赠、品牌认可、新账户注册等等。
技术风险
不像另外两种风险,技术风险实际上会导致项目无法完成。在评估构建ajax应用的第三方框架时,这种风险来源至关重要,因为第三方框架往往缺乏技术上的控制。一些研究表明,企业50%的软件项目从来没有投入实际使用。
●影响范围
有时候我们为大批人编写软件时,需要着眼于最基本的功能来构建。用户往往使用许多不同的浏览器和操作系统,尽管有的浏览器使用者很少,例如opera的市场份额只有1%左右,但是web应用也应该兼容这部分用户。这是技术风险的一个例子,这种应用范围与应用丰富程度之间的取舍恐怕是web应用最主要的日常问题。
web应用的基本问题就是,不同的浏览器对页面的解释各不相同。firefox中的简单操作到了ie浏览器中却可能异常困难。风险就在于如何成功满足项目要求,同时应用到我们的所有目标浏览器和操作系统中。
应用的丰富程度与可以使用应用的用户数量(由于客户端平台不兼容)之间通常需要做出取舍。这种风险的严重程度取决于下面几个因素:
1.应用是公共的还是专有的(防火墙后面)。公共应用面向的用户群本身要广泛得多。企业应用往往具有优势,原因是与普通大众相比,更容易让企业用户坚持使用一两种浏览器。
2.目标用户群偏爱的浏览器和操作系统的分类情况,也就是说有多少员工或者客户在使用safarimac、firefoxmac、firefoxpc和internetexplorer。
3.与一部用户不兼容会给营销带来的潜在影响。要问自己的一个问题是:“要是我们不支持safari,那会失去多少客户。从公关角度和成本效益角度来看,这么做可以接受吗。”
4.哪些用户在多大程度上愿意改用另一种浏览器或者操作系统。
●浏览器功能
目前很多有关ajax的问题都还属于未知领域。浏览器开发商似乎刚开始明白开发人员对自己有什么样的要求;构建跨平台的解决方案时,一些错误或遗漏有时会带来出乎意料的障碍。例如opera和safari长期缺少对xslt的支持,safari存在锚标签书签问题。ie6和7在放置dhtml元素方面存在明显错误,有时需要很复杂的变通办法。ie中效果很好的一些方法到了firefox却慢得要命,特别是涉及xslt时。
这种风险在于,开发一项功能需要无法预测的一段时间,或者结果表明根本不可能实现。显然,浏览器模拟真正类似桌面的软件还有一定距离,差别到底在哪里还有待探究。所以,ajax开发就往往成了另辟蹊径想出变通办法的一个过程。开发人员发现自己沿着一条路去解决问题,认识到行不通后,只好回过头去,重新寻找出路。
●维护
(未完,全文共5182字,当前显示1311字)
(请认真阅读下面的提示信息)