设为首页 - 加入收藏 ASP站长网(Aspzz.Cn)- 科技、建站、经验、云计算、5G、大数据,站长网!
热搜: 数据 创业者 手机
当前位置: 首页 > 教程 > 正文

追问富客户端应用程序(RIA)的宠儿为何是AJAX而非Java

发布时间:2017-01-08 22:45 所属栏目:61 来源:IT168 胡磊
导读:Bruce Tate有几本书集中写了关于Java的一些缺陷和放弃Java中那些还没有进展的观念的必要性。同时,还有这样或者那样的博客频繁出现,指出Java的一些缺点。当然,还少不了从Steve Jobs而来的流行语 :“Java不值得安装,没有人将再使用它了。它已经成为一个巨
【分析评论】 我们不能等待Sun公司解决Java现存的一些问题……目前的解决方案就是引入一部分其它的语言,和Java混合编程。

    Bruce Tate有几本书集中写了关于Java的一些缺陷和放弃Java中那些还没有进展的观念的必要性。同时,还有这样或者那样的博客频繁出现,指出Java的一些缺点。当然,还少不了从Steve Jobs而来的流行语 :“Java不值得安装,没有人将再使用它了。它已经成为一个巨大的拖累。

    这些言论的存在有其必要性,因为Sun公司死死抓住这么一个观念不放:Java无处不在,无所不能。不可否认,Java曾经是那么值得令人称赞的,但是,如今我们的赞美需要有所保留。因为一种语言要想获得更强大的生命力,那么它的设计者和提倡者需要承认客观问题。假装这是一种非常成功的语言,并能用在任何地方都是合适的,显然不是正确的。

    于是,不好的结果就发生了。最终,Sun公司还是得承认EJBs耗资巨大,EJB3开发小组从Hibernate和Spring那里学到了一课,但是不足以真正解决那些问题。不过大多数人发现Hibernate 和 Spring比EJB3更简单,更直接,而EJBs并不是短时间就匆匆问世的技术,那么它耗资巨大就不足为奇了。

    Java 5的出现,就是默认了Microsoft在C#上做了很好的语言改进,Java 7中被提议的一些特征,正好支持这种说法:Java和C# 3.0不分高下,同城竞技。竞争固然是好的,但是Java并没有消亡。它还需要改进,构建在Java虚拟机上的新语言如JRuby、Scala 和 Groovy,显示了Java的生命力。

Web开发局面一团糟

    能够看到事物的发展前途固然是好的,但是,当一件事物没有运行得很好时,人们通常不想去承认这个事实。Web的观念是梦幻般的,但是许多的web开发是失败的。没错,我们有能力使得网站运行。但是,我们很难说它运行很好。特别是,那些应用程序,使用HTML, CSS 和 JavaScript技术,它们很难开发,并且也很费钱,另外,在不同的浏览器之间,要想使得它们看起来完全一样,是一件不可能的事情。由于字体和字形的原因,即使一个简单的页面看不起来也不相同。

    不知道你是否用过Firefox,有多少个网站你访问得到,但是是不可读的页面,因为这些网站专门为Internet Explorer (IE)浏览器所创建的。就我看来,事情正在越变越糟了;我看见的东西多了,不光是一些网站在Firefox浏览器下不能运行……就这点来说,我正考虑重新使用IE浏览器。

    曾经CSS信誓旦旦,现在它也没有成功。多少年后,在不同的浏览器上它的执行结果仍然不一致。只要你使用HTML、CSS, 你就要经常考虑你所创建的网页将会在不同的浏览器上产生不同的效果,令人不爽。在IE 或者 Firefox 浏览器还好,另外的浏览器显示的效果会更差劲。

    在互联网的初期,JavaScript曾经是那么的有效,但是后来浏览器使得JavaScript不相容,因此使用起来很痛苦。Ajax成功的关键原因在于它的工程师不怕麻烦,解决了跨平台JavaScript的问题,以至于你不会察觉不同浏览器之间的会产生严重不一致性的问题。

    采取这种方法有两个问题。第一个问题是它受JavaScript脚本本身功能的限制。虽然Ajax是一个非常完美的工具,但它仅仅是一个工具而已,它的生命力不会很长。第二个问题如果你过于依赖Ajax库来处理跨浏览器问题。如果你想写你自己的代码,你必须成为那些问题的专家,那么就这一点而言,Ajax杠杆作用就不存在了。Ajax提高了用户体验,但是它拥有局限性,我怀疑我们已经发现了Ajax将会出现的一些弊端。

    给我印象很深的Google的Google Web Toolkit (GWT),它能将选定类型的Java代码翻译成跨平台的JavaScript,以此来加速开发过程。你使用Java编码,那么GWT就可以将它们编译成跨浏览器的JavaScript。随后,JavaScript将变为中间代码运行在所有的平台上。但是,Google的智囊团首先需要解决那些不应该发生的问题。并且如果你所需要的库不存在的话,你必须又得成为一个跨平台的JavaScript专家来写你的代码。现在看来,GWT仍然才华横溢,闪闪发光,但是我认为它总有一天会江郎才尽,因为JavaScript固有的局限性和那些存在的不同浏览器。

    我们都看到了基于AJAX的工具,如GMail和其它的Google工具,它们慢慢的开始在诱惑我。它们都很好,但是这些东西都是你最想在web页面上看到的吗?当你仔细看这些应用程序,你就发现它们运行起来并不始终如一(我知道Google这些工具仍旧是测试版)。举个例子,在GMail中,当你按下键,如“r”时,应该是可以回复一条消息的。但是这有时可以,有时不可以,不知道问题出在什么地方了?当我使用web应用程序如GMail,我越来越发现“control +c”复制操作失效。或许是Firefox、JavaScript 或者是其它的出现了问题,但是我觉得这和web应用程序有关,这种问题出现了至少一年了。坦白的讲,我并不关心发生的原因,也不关心其它的用户是否也发生这样的事情。但是,像这类简单的事情发生了,我觉得它的前景堪忧。

    对于如今web开发中,存在众多的被误导的决策,我们需要做多大的努力才能补救?

(编辑:ASP站长网)

网友评论
推荐文章
    热点阅读