必威体育下载基督教Heilmann

您正在浏览Opera类别的存档。必威体育简介

档案的“歌剧”类别

哦,看,愚蠢地使用Ajax不是个好主意吗?

周二,4月29日,2008

这对我来说很有趣dev.opera.com上最新的一篇文章题为“停止使用Ajax!”现在是一件大事。微博,共享书签和谷歌阅读器项目如潮水般涌入,人们似乎认为这是一篇非常大胆的文章。

事实是:詹姆斯是对的。他当时也是对的他去年在Highland Fling的一次演讲中提供了差不多同样的信息在我介绍渐进式增强和JavaScript之后。

然而,这没有什么令人震惊、大胆或新鲜的。betway体育官方网他只是说:

  • 不要为了使用某项技术而使用它
  • 在使用可能不合适的技术之前,考虑您想要接触的用户
  • 确保您的解决方案是可用的和可访问的
  • 把你的解决方案建立在可行的东西上,然后提高它。

这是我在开发任何软件或web解决方案时所认为的正常做法。

然而,现在真正的问题是,我们为什么会处于这种状态——为什么我们认为这些信息是大胆的,令人震惊的或有争议的,为什么很多评论仍然是“我不关心可访问性,因为我的用户不需要它”?为什么假设和简单的可访问性谎言盛行,而好东西却闻所未闻?

好吧,事实上,我们向唱诗班讲道的时间太长了。我在web可访问性和标准宣传社区工作了很长一段时间,每当我问到企业开发和CMS我有人告诉我,不值得打那一仗,因为“我们永远打不到他们”。好吧,这就是金钱和大量工作所在的地方事实上,在很多情况下,可访问性和标准积极分子甚至不知道让这些领域的利益相关者忙碌的问题。我的数字Web文章“客户不关心可访问性的10个原因”和后续的第一部分是七个易访问性错误第2部分列出这些问题,以及3年前我们试图解决这些问题的错误方法。我上周在能力网络会议上的演讲篱墙的栖息地也提到了这种态度和问题。

我现在的处境是:我厌倦了人们为了正义而互相指责对方的错误,或者把问题归咎于唾手可得的体系。当人们询问可访问性或Ajax可用性建议时,您会得到许多批评,并得到“先验证然后再返回”的答案,但是不能立即使用的信息并不多,甚至不能回答导致产品状态的问题。问这个简单的问题,你会惊奇地发现你能发现什么。

我们必须理解大系统,框架和公司仍然在运作,即使我们认为博客,关于web设计和mashup的书籍突破了极限。他们这样做,但是到目前为止,对于那些销售Ajax和其他开箱即用解决方案的公司来说,这还只是一个小问题,因为这些解决方案是不可访问的,而且大部分对人类来说是不可用的。你最后一次在非初创公司或小型网络公司使用聪明的费用或时间跟踪系统是什么时候?当我参加AjaxWorld会议的时候纽约今年早些时候,我听说了很多关于安全的事情,易于部署和可伸缩性,但只有一点关于可访问性(Dojo talk和YUI说话,实际上)。人们更关心软件的成本和发布的速度,而不是质量或可维护性。每隔几年买一个新系统要比构建一个经过适当测试并适用于所有用户的系统便宜。贵公司是否仍有只适用于IE/Windows的系统或第三方解决方案?我相信至少有一个,问问人力资源部或财务部。

再提出一项没有帮助调用一个可访问和可用的Ajax解决方案Hijax,要么。虽然我很喜欢这个主意,但我不得不同意詹姆斯的评论-我们不需要另一个词,我们需要一个原因让人们不只是使用现成的东西而不去思考它们,或者更好的是,为那些首先基于假设构建解决方案的公司提供帮助。几周前,当我在twitter上大谈一家大公司的系统时,他们的市场经理在twitter上说EMEA开始跟踪我,我开始和他们交谈。

我已经听过很多次了,我关于渐进式增强和可访问性的想法只是一种“短暂的时尚”,“在真正的软件市场上,你没有时间去做这些”。挑战这种态度至关重要——通过证明,通过以一种可预测和安全的方式使用我们获得的技术,确实可以节省您的时间和金钱。然而,关于这一点的案例研究并不多……

如果我不知道人们为了做正确的事必须排除哪些障碍,我就无法改变世界。在内心深处,每个开发者都想把事情做好,以一种干净和可维护的方式,为他们所做的事情感到自豪。劣质产品的产生是因为匆忙的项目,糟糕的管理和开发人员变得如此沮丧,以至于他们可以仅仅为了获得资金或最终分配到不同的项目而发布低于par的版本。

这是我们需要进行的战斗——这些问题从何而来?不是要避免什么技术。你可以很好地使用任何技术,您只需要能够销售它,而不需要炒作,也不需要假设开发软件的速度和编写一篇关于它的很酷的新闻稿的速度一样快。

歌剧,REST api,模块模式和生成的脚本节点

星期五,4月11日,2008

我刚在歌剧中遇到一件讨厌的事。我喜欢使用模块模式来设计我的javascript,我喜欢动态生成脚本节点其他美联社这是还给我的吗JSON.下面是使用twitter的示例API在Firefox和Safari上运行良好(稍后需要检查IE,但如果没有,我会很惊讶的):



然而,如果你在Opera中测试这个,你会得到一个错误:


JavaScript文件:/ / localhost /应用程序/ MAMP /根/ operacallbackfail.html
内联脚本线程
错误:
名称:ReferenceError
message:第1行语句:引用未定义的变量:twitterbadge
回溯:
链接脚本http://twitter.com/statuses/user_timeline/codepo8.json?
twitterbadge.show([{user : {screen_name : "codepo8",...08"}]);

看起来新生成的脚本节点在创建模块之前调用模块的方法。换句话说,新生成的脚本节点会停止生成它们的代码的执行。下面的例子适用于不同的浏览器,包括歌剧:



不太可怕的解决方法,但是必须有一个额外的方法和另一行调用它,这感觉是错误的。

自己试试吧:动态脚本节点和模块模式的Opera bug