Web应用程序的HTML + JavaScript的局限性和未来

时间:2010-01-12 21:00:20

标签: javascript html web-applications

我是一名非网络程序员,但我现在对网络技术更感兴趣。

我知道HTML和JavaScript今天是Web应用程序的基本技术,但实际上它们似乎并非严格意义上的创建。 (HTML是为网页创建的,JavaScript是为了使它们有点动态)。它对今天如何创建高级Web应用程序有任何重大负面影响吗?有什么限制?

您是否预测任何新技术将在5到10年内出现以取代HTML + JavaScript?如果是,那会是什么样的?

4 个答案:

答案 0 :(得分:6)

虽然HTML和JavaScript可能看起来很旧,但使用它们构建复杂的应用程序并不存在任何问题。 Web应用程序必须处理的较大“问题”与万维网的性质有关:网络通信的不一致和HTTP的无状态。

在网络的前10年,各种网络浏览器之间的差异(和缺点)是如此巨大,以至于混淆了构建复杂应用程序的尝试。许多技术出现用于构建所谓的rich Internet applications,它完全绕过了浏览器。其中包括(最值得注意的)Java applet,Macromedia / Adob​​e Flash和Microsoft Silverlight。由于它们需要安装浏览器插件,因此对于通用Web应用程序来说并不是最佳选择,在我看来,它们将长期被HTML格式化。

在过去的五年中,Web开发人员的生活变得非常容易。浏览器更加关注W3C的建议,JavaScript在所有主流浏览器中一致地实现(或多或少; DOM仍然可怕),HTML 5承诺许多新功能(字体管理,视频/音频嵌入,地理定位,异步页面)更新等)这将使纯HTML Web应用程序开发变得更加容易。

在接下来的十年中,似乎不可能出现任何“替代”HTML的东西,因为它没有任何根本性的错误。 JavaScript ......很有可能,但很难知道什么,而且目前JavaScript只会越来越强大。

Web和非Web应用程序编程之间的最大区别在于Web软件运行的不断变化的平台。如果在未来10年内任何事情发生巨大变化,那就是这个。人们将在10年内在所有上访问网络,并且始终关注不同的平台。这只是网络编程的本质。

我的建议:每周花2小时阅读有关新网络技术的内容。这将使您保持在循环中,因此您知道如何计划即将发生的事情。网络非常难以预测。我不认为有任何应用程序可以持续5年没有重大变化。你能做的最好的事情就是保持信息灵通,并迅速做出反应。

答案 1 :(得分:4)

已经出现了一些试图征服这个着名二人组的技术,包括....

  • Java小程序(RIP)
  • ActiveX(RIP)
  • Macromedia Shockwave(RIP)
  • 闪存
  • Silverlight的

如果您正在自行研究,请查找的搜索词组为RIA - Rich Internet Application

这些新技术的问题在于,最终他们最终需要某种特定于平台的二进制文件才能查看和交互。对于Flash和Silverlight,开发人员需要学习其他Web语言来创建它们。

我认为事实仍然是纯文本再次获胜(边缘情况除外)。

在地平线上是臭名昭着的2022 HTML5。这应该很有趣。

答案 2 :(得分:1)

在接下来的几年里出现任何会破坏HTML + Javascript RIA基础的东西的可能性极小,仅仅是因为让每个人都在备用平台上的麻烦。如果另一种技术要取代HTML + Javascript,它将要通过(从最少到最有可能的顺序):

  • 平台更改
    • 硬件(和软件)
    • 软件[浏览器]

  • 浏览器更新
    • 在主浏览器中引入新技术,即IE浏览器behaviors
    • 浏览器插件

平台更改不太可能,因为它们需要在“小工具”或“浏览器”市场中进行范例转换。除非对新事物有大量需求,否则取代所有可以完成的事情都需要保持旧的向后兼容性。

作为浏览器市场小工具模式转变的一个例子,考虑一下如果明年硬件突破可以创造完全身临其境的3-D环境,那将会让您的大脑转变进入即插即用设备,用于在其realspace browser上编程的语言是Lisp变体。

至于浏览器的范式转换 - 这也不太可能,因为为了向后兼容性,它需要浏览器制造商支持两个(或IE的情况 5 )渲染引擎,直到新的方法完全忽略了旧方法。除非新方法非常优于旧方法,否则无疑会获得任何牵引力。

想象一下,如果你愿意的话,IE会决定YAML是一种更好的格式,可以通过网络发送数据,并为YAML中的数据和事件标记设置新标准。在此期间,Safari会在他们的浏览器中找出如何沙盒化C语言的方法,这样开发人员就可以根据用户的意愿做任何他们想要的事情。


[第二部分下班后]

答案 3 :(得分:0)

您将发现越来越明显的是使用XML和JSON进行客户端和服务器应用程序之间的数据和通信。您可以通过所有Ajax对话听到它,但这就是Ajax的含义。这涉及javascript,它似乎不会很快消失。其他语言在需要的地方输出js,经常用于处理XML或JSON。 HTML可用于激活浏览器,因此下一个重要的事情就是使用HTML5的更多Javascript和XML / JSON包含浏览器。