动力节点旗下在线教育品牌  |  咨询热线:400-8080-105 学Java全栈,上蛙课网
首页 > 文章

颠覆Web开发的Jamstack

07-22 17:00 321浏览
举报 T字号
  • 大字
  • 中字
  • 小字

Jamstack将现代devops启发式的开发理念与老式的静态HTML页面结合在一起,使开发人员可以更快地构建快速网站颠覆web开发Jamstack掀起了静态网站革命。

Jamstack是一种日益流行的Web开发哲学,旨在加快Web开发过程和网页下载时间。汲取发展速度和持续集成/连续交付(CI / CD)技术(在许多组织中已成为常态)的影响,Jamstack颠覆了用于构建交互式网页,将加载时间代码执行从Web服务器和浏览器中的JavaScript和通过应用程序编程接口(API)访问的外部服务。

Jamstack是一个基于三个支柱的Web应用程序模型,以其名称提供了缩写:JavaScriptAPI和标记。Jamstack网站的网页包含标准标记语言,因此可以在任何地方构建和测试它们,而无需依赖于应用程序服务器或诸如Node.js之类的服务器端技术。任何交互功能均由在浏览器中执行的标准JavaScript代码提供,该标准JavaScript代码通过HTTPS调用可重用的API,以访问外部数据或任何其他无法内置于网页本身的功能。

要了解Jamstack哲学为何具有革命性意义,可以参考LAMP堆栈,它代表了过去15年中大多数开发人员对Web开发的思考方式。LAMP代表Linux(为大多数Web服务器提供支持的操作系统),Apache(在这些Linux机器上运行的服务器软件),MySQL(存储Web应用程序所需信息的数据库)和PHP / Perl / Python(写入服务器端代码)。将浏览器指向基于LAMP的网站时,Web服务器将执行服务器端代码,以动态生成网页,并根据需要从MySQL数据库中提取数据。

LAMP体系结构允许创建动态和交互式网站,但它也需要功能强大的Web服务器-站点获得的流量越多,服务器端所需的计算能力就越大。即使使用功能齐全的服务器,动态网页也可能花费很长时间来构建和加载。在一个注意力不集中,跨手机浏览网络的世界中,这种延迟变得越来越令人无法接受。

Jamstack诞生于“静态网络”运动的一部分,该运动于2010年代中期出现,是对这种传统的网站运作方式的反应。要了解Jamstack,需要了解静态网站背后的当今技术。

如果必须向一个新手解释网络的工作原理,则可能是这样的:在Web服务器的文件系统中的某个位置,存在HTML文件,这些文件可以通过HTTP地址访问,Web浏览器下载该HTML文件,然后解释为创建网页。但这是对静态站点的描述:它假定HTML文件在Web浏览器寻找它们时已经存在。正如我们看到的,过去十年中,大多数Web都由动态站点控制,动态站点通常根据通过表单或表单传递给Web服务器的参数,动态响应Web请求生成HTML文件。

在网络的早期,当网页始终是静态的时,许多Web开发人员都是手工编写HTML代码的。随着网页变得越来越复杂,诸如Macromedia的Dreamweaver之类的工具应运而生,它们可以以编程方式生成那些静态HTML页面。随着静态网站运动在2010年代中期开始兴起,所谓的静态网站生成器新潮流开始兴起,包括盖茨比,雨果和杰基尔。与Dreamweaver之类的WYSIWYG工具不同,静态站点生成器是命令行驱动的,旨在与CI / CD流程集成。这些工具通常基于Markdown编写的内容来生成HTML文件,然后自动将其上传到GitHub等版本控制存储库。由于这些文件被标记为可以投入生产,因此实时网站上的静态页面会自动更新。

要记住的重要一点是,在这种情况下,静态并不意味着它们是不交互式的简单Web 1.0页面。请记住,这些页面可以包含在浏览器中执行的高级JavaScript,并可以对数据库,服务器端功能或托管的无服务器功能进行API调用。但是,由于这些执行都不在Web服务器本身上发生,因此静态站点不需要具有数据库的工业供电Web主机。许多静态站点已部署到内容交付网络或CDN,其中内容在世界各地的多台服务器上进行镜像,以便快速交付给任何地方的用户。

如果你是每天都要处理网站的人,那么就会知道建立和托管网站只是开始。还需要一种创建新内容并将其添加到网站的方法。因为要这样做的人通常不会是程序员,所以他们需要一个用户友好的工具-即内容管理系统或CMS。像WordPress这样的传统CMS提供了后端UI,可以在其中输入网站内容,管理存储该内容的数据库以及构建动态网页以响应浏览器请求来显示该内容。

Jamstack站点的CMS的工作方式不同,通常称为无头 CMS 。无头CMS提供用于输入和管理内容的UI以及数据库或其他存储内容的方法,但它本身不会生成供浏览器解析的HTML代码。相反,网站的静态HTML页面使用JavaScript来调用CMS的API,并且CMS以JavaScript可以转换为网页的格式返回内容。

该系统将内容与表示完全分开,这当然是编程的长期理想。由于CMS具有可访问的API,因此多个网页都可以轻松访问它。例如,如果你为网站构建了单独的移动,桌面和智能手表版本,则所有这些版本都可以访问CMS中存储的相同内容。

Jamstack作为一种颠覆web开发的模型技术,在未来也许会在web开发中更加光彩夺目。我们在学习开发技术的同时,也应该关注这些前沿的开发技术和理念,才能不被淘汰在技术发展的潮流中。

0人推荐
共同学习,写下你的评论
0条评论
代码小兵1271
程序员代码小兵1271

11篇文章贡献55922字

作者相关文章更多>

推荐相关文章更多>

DOM渲染的详细过程

QCode09-04 14:38

CSS水平和垂直居中技巧大梳理

Code大师09-04 14:50

mui的input框在IOS系统下无法聚焦或点击多次才能聚焦

不写代码你养我啊08-23 11:14

推荐的-视.频播放器以及在线客服

不写代码你养我啊09-17 18:02

谈谈java多线程的三大特性

要学习了06-18 18:13

发评论

举报

0/150

取消