必威体育下载克里斯蒂安·海尔曼

您正在浏览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,我喜欢动态生成脚本节点休息AP这是还给我的吗JSON.以下使用Twitter的示例API在Firefox和Safari上运行良好(稍后需要检查IE,但如果没有,我会很惊讶的):



然而,如果在Opera中测试此项,则会得到一个错误:


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

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



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

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