同构 javascript_同构JavaScript应用程序–网络的未来?

同构 javascript

互联网上最著名的座右铭之一就是Java的一次写入( W 一次),可在任何地方运行 。 但是这个座右铭仅适用于Java吗? 我们也可以用它来描述JavaScript吗? 答案是肯定的。

在本文中,我将向您介绍同构JavaScript应用程序的概念,描述它们是什么,并指向可帮助您开发此类应用程序的资源。

我们如何到达这里

许多年前,网络是一堆用HTML和CSS制作的静态页面,没有很多交互性。 每个用户操作都需要服务器创建并提供完整的页面。 得益于JavaScript,开发人员开始创建出色的效果,但是随着Ajax的出现,一场革命开始了。 Web开发人员开始编写可以与服务器通信以发送和接收数据而无需重新加载页面的代码。

随着时间的流逝,客户端代码的职责已大大增加,从而产生了一种称为单页应用程序 (SPA)的新型应用程序 。 在SPA中,只需一次页面加载即可检索所有必需的资产,或者根据需要动态加载并添加到页面中。 SPA的一些示例是GmailStackEdit编辑器

SPA可以实现更好的交互性,因为几乎所有操作都在客户端上执行,从而将与服务器的通信保持在最低限度。 不幸的是,他们也有一些重大问题。 让我们讨论其中的一些。

性能

因为SPA比静态页面需要更多的客户端代码,所以下载的数据量增加了。 这导致较慢的初始加载时间,这可能会带来严重的后果,例如沮丧的最终用户和收入损失。 根据微软的一篇文章

必应(Bing)的一项研究发现,页面加载时间每增加10毫秒,该网站每年就要花费25万美元。

搜索引擎优化

由于单页应用程序依赖JavaScript执行,因此服务器不会产生以前使用的所有HTML内容。 因此,网络搜寻器在索引页面方面有很多困难。 这些搜寻器是向Web服务器发出请求并以原始文本形式分析结果的程序,而无需像运行JavaScript的典型浏览器那样解释和执行内容。 最近, Google对其网络爬虫进行了改进 ,使其可以处理基于JavaScript的页面,但是Bing,Yahoo和所有其他搜索引擎又如何呢? 良好的索引编制对于任何企业都至关重要,因为它通常会带来更多的访问次数和更高的收入。

同构JavaScript应用程序

同构JavaScript应用程序是用JavaScript编写的应用程序,可以在客户端和服务器上运行。 因此,您可以编写一次代码,然后在服务器上执行以呈现静态页面,并在客户端上执行以实现快速交互。 因此,此方法可以充分利用两个方面的优势,并且可以避免前面所述的两个问题。

今天,有几种框架可以帮助您开发这种应用程序。 流星就是其中之一-可能是最著名的。 Meteor是一个在Node.js之上编写的开源JavaScript框架,专注于实时Web应用程序。 我要提到的另一个项目是Rendr 。 这是由Airbnb开发的一个小型库,可让您在客户端和服务器上运行Backbone.js应用程序。

越来越多的公司将Node.js用于其产品。 在客户端和服务器之间共享代码已成为一种更为常见和自然的选择,我认为这是Web开发的未来。 通过像React这样的库共享模板可以增强这种趋势。

结论

在本文中,我向您介绍了同构JavaScript应用程序的概念,这是一种结合了服务器端和客户端编程的最佳方法来开发应用程序的新方法。 我们还讨论了这种方法试图解决的问题,以及您今天可以采用的一些项目来接受这种哲学。

您是否已经听说过同构JavaScript应用程序? 你开发了一个吗? 你的经验是什么?

翻译自: https://www.sitepoint.com/isomorphic-javascript-applications/

同构 javascript

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值