繁体   English   中英

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

[英]Limitations and future of HTML+JavaScript for web applications

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

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

你是否预测5到10年内会出现什么新技术来取代HTML + JavaScript? 如果是,那会是什么样的?

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

在网络的前10年,各种网络浏览器之间的差异(和缺点)是如此巨大,以至于混淆了构建复杂应用程序的尝试。 出现了许多用于构建所谓的富Internet应用程序的技术 ,这些应用程序完全绕过了浏览器。 其中包括(最值得注意的)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年没有重大变化。 您可以做的最好的事情是保持信息,并迅速做出反应。

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

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

如果您正在自己研究这个问题,那么要搜索的搜索词是RIA - Rich Internet Application

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

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

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

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

  • 平台变化
    • 硬件和软件)
    • 软件[浏览器]

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

平台更改不太可能,因为它们需要在“小工具”或“浏览器”市场中进行范例转换。 除非有新的东西,以此取代可以做旧的方式向后兼容性将需要维持庞大的一切需求。

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

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

想象一下,如果你愿意的话,IE会决定YAML是一种更好的格式,可以通过网络发送数据,并为YAML中的数据和事件标记设置新标准。 同时,Safari在他们的浏览器中弄清楚如何在他们的浏览器中沙盒化C语言,这使得开发人员可以在他们的用户允许的情况下完成他们想要的任何事情。


[第二部分下班后]

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM