网站技术模式 网站开发模式演进历程

用户投稿 95 0

网站开发模式演进历程

我们现在基本每天都会浏览网站,那么网站的开发其实经历了几个较大的演进历程,接下来从特定视角介绍一下主要开发模式的演化过程。

静态网站动态网站服务端渲染与客户端渲染结合前后端分离

静态网站

网站技术模式 网站开发模式演进历程

网站技术模式 网站开发模式演进历程

早期的网站基本上都是静态的,所谓静态并不是页面是静止的,没有动画效果,而是把网站所有的网页开发好之后直接上线部署到服务器上,那么这些页面就固定放到服务器之上,如果上线时是100个页面,那么如果不更新,该网站就是写死的100个页面了,这就是所谓的“静态网站”。静态网站的内容主要包括HTML、CSS、javascript代码,图片、字体文件、音频、视频等资源。其交互流程如下图所示:

网站技术模式 网站开发模式演进历程

静态网页访问流程

客户端向服务器发送请求Nginx根据请求路径获取网页内容将页面内容传输给客户端客户端展示网页效果

静态网站有明显的局限性:

如果需要更新页面的内容,比如说,每个页面添加一条广告信息,会很麻烦,需要一个一个页面进行修改,工作量比较大,尤其是大规模的网站,这种方式基本不可行。无法实现交互效果,比如登录,发表评论、点赞等功能。

动态网站

鉴于静态网站的问题,后来就诞生了动态网站技术、比如PHP、JSP、ASP等。所谓的动态网站也不是页面有动画,而是指页面是通过技术手段动态生成的。比如银行的账单页面,张三和李四会看到不同的数据,但是在服务器中仅仅一个动态页面就够了,当张三和李四分别访问该动态页面时,会分别动态生成两个不同的HTML页面,动态性体现在HTML的动态生成上。

网站技术模式 网站开发模式演进历程

以PHP动态网站技术为例,具体流程如下

客户端访问服务器的php页面Nginx根据请求路径找到php文件Nginx把php文件交给php运行环境进行编译,转换成静态HTML页面,然后交给NginxNginx把动态生成的HTML页面返回给客户端浏览器展示页面效果

服务端渲染与客户端渲染结合

无论是静态网站还是动态网站,当浏览器发送请求之后,如果服务器返回内容的时间比较慢(可能是网络问题),那么浏览器只能等待,处于阻塞状态,呈现出的效果就是长时间白屏,在当今快节奏的生活模式下,坐高铁、吃快餐......这些习惯已根深蒂固,当一个页面3秒左右不出来,我们甚至都不愿意去等。

所以为了改善用户体验,2005诞生了一种技术Ajax,他可以使浏览器在不阻塞的情况下,向服务器发送请求,用户是无感知的,当服务器返回数据后,页面再根据数据进行局部更新。有了Ajax这种技术,再配合jQuery,基本上就成了前端的主要开发模式,这也是此后jQuery近10年的辉煌时期(当然现在有了更好的选择—Vue/React/Augular)。

接下来需要着重解释一个概念:渲染 。所谓的渲染就是把数据填充到HTML标签的过程。

还是以查看账单的场景为例,账单数据一般都是存储在数据库中,那么php代码会从数据库中查询出数据然后拼接到HTML标签代码中,这个过程发生在服务器,所以称之为服务端渲染 。流程如下图所示:

网站技术模式 网站开发模式演进历程

客户端请求得到服务端渲染的HTML页面之后先进行展示,如果用户触发操作要更新页面,还可以通过Ajax请求获取后端返回的数据(当前基本上是JSON格式的数据),从而实现页面的局部更新。比较典型的场景有触底加载更多列表内容的效果,当页面滚动到底部的时候,页面上面的内容不会消失,而是在底部显示Ajax请求的一页新的数据,这种效果体验非常好。那么服务器如果仅仅返回JSON数据,页面端会通过javascript代码把数据填充到HTML标签中进行显示,这种数据填充标签的过程发生在浏览器,即所谓的客户端渲染

jQuery时代基本上是服务端渲染和客户端渲染结合使用,一般主页面采用服务端渲染,主页展示之后,后续页面局部更新操作一般基于Ajax,采用客户端渲染方式,从而提升交互体验。

前后端分离

随着互联网的持续繁荣,客户端基于Ajax渲染的业务场景越来越复杂,那么把JSON数据拼接到HTML标签中的代码实现越来越繁琐,代码变得难以维护。虽然出现了像art-template之类的前端模版引擎,从某种程度上有所改善,但是像事件处理还是需要自己去操作,并未从根本上解决问题。

好在2009年一种技术的诞生奠定现今前端更加繁荣的开发模式:Node.js

Node.js可以让javascript运行在非浏览器环境,并且提供了对接底层操作系统API的能力。经过十多年的发展,这个生态已经非常繁荣。新兴的前端框架基本都是构建在Node.js生态之上,包括目前比较流行的AngularJS、Vue、React。

新兴前端框架,比如以React为例,基本上颠覆了前端代码的开发模式,将程序员从繁琐的DOM操作中解脱出来,而仅仅需要关注数据处理和业务操作,从而大大简化了前端的代码实现。此外更重要的一点就是,前后端从项目结构和开发流程上彻底分离 ,让前端和后端可以更加专注(其实都可以少掉点儿头发),而之前很多后端基本都是做全栈的工作。

在这种前后端分离的开发模式下,具体流程如下

网站技术模式 网站开发模式演进历程

在这种前后端分离 的模式下,前后与后端的对接仅仅需要约定一种接口(接口细节包括请求地址,请求方式、请求参数,后端返回的结果),那么这种接口是与技术无关的,所以前后的技术选型可以自由设计,前端可以选择React、Vue等都可以,后端可以选择java、PHP、python等亦无所谓。

对于前端来说,一个很大的变化,就是前端项目可以单独实现工程化,可以独立设计、开发、测试、部署上线以及运维等。所以这套流程靠后端已经不太容易兼职搞定了,所以前端工程师这个岗位才有了一席之地,并且可以与后端工程师分庭抗礼。

对话“十四五”|人机协同将是未来主要工作模式

中央纪委国家监委网站 王雅婧

“5G+AI”将会给我们的生活带来哪些新体验?目前人工智能技术在制造企业应用落地上还存在哪些挑战?随着人工智能的发展,人类是否会失业?围绕相关问题,5月27日,记者采访了科技部新一代人工智能发展研究中心副主任李修全。

问:当前,5G在国内发展迅速,5G+AI在诸多领域得到运用,有人认为“5G+AI将会成为人类社会变革的下一次巨浪”,您是如何理解的?这两项技术的融合将会给我们的生活带来哪些新体验?

李修全:确实如此。以5G为代表的高速移动互联技术正在加速成熟,并与人工智能交汇融合。因为5G具有大带宽、低时延、广覆盖的特点,能够实现更大连接下的通信,不仅将提升现有智能产品的性能,也将对未来人工智能系统形态带来深刻影响。随着5G以及新的高速移动通信基础设施的普及,未来大量智能系统都将构建在高速移动通信网络基础之上。比如未来工作环境中,异地协同工作、实时远程触控机器人,虚拟教育等分布式协同将成为普遍形态,时空距离大幅度压缩。家庭中各种电器开始联通移动网络,智能可穿戴设备持续监测人的身体状态,结合健康预测、情绪识别等智能算法,为人们提供更加智能化的生活体验。高速移动通信和人工智能技术的融合也将深度变革未来交通。

问:当前,我国制造业的一大发展趋势是智能化升级。在您看来,目前人工智能技术在制造企业应用落地上还存在哪些挑战?您有哪些建议?

李修全:当前,我国制造业领域产业智能化总体上仍处于初级阶段,很多行业还面临信息化、网络化、智能化任务并存的问题,人工智能技术落地过程中存在不少挑战。比如在一些制造业领域,工业互联网、物联网等支撑智能化技术落地的基础设施仍然相对薄弱,硬件接口和数据协议统一的标准化体系缺乏,企业内部数据孤岛大量存在,缺乏规范的行业数据积累。尤其是现有设备不能支撑智能算法应用,需要对设备进行升级改造,初期技术部署成本较高,中小企业仍面临成本压力。

下一步,我们还需下大力气加快制造企业数字化改造,提升行业数据采集能力和整个工艺过程的数字化水平,以数字化为先导夯实产业智能化升级基础。另外也要加快制定工业大数据、工业物联网等领域相关技术标准,解决信息孤岛等瓶颈问题,探索形成行业数据共创共享机制,加快行业数据共享融通。

问:现在很多人都很关心,随着人工智能的发展,有一天人类是否会面临无事可做的困境。对此,您是怎么看的?

李修全:人工智能从其学科建立之初就致力于用机器模仿人类的感知和行为能力,以替代人类的部分工作,比如在煤炭、消防等领域,有很多岗位工作环境恶劣或对人体有伤害;在工业领域,有很多重复性工作,这些都迫切需要人工智能的发展来替代人工。但目前人工智能技术还难以达到人类很多高认知型工作的要求,因此大多数岗位并不会被机器简单替代。

可以预见,人机协同将是未来社会的主要工作模式。人工智能作为人们的助手将协助我们完成大量简单、重复的任务,人只需要完成其中创造性、思维性较强的工作环节,这将大大提高人们的工作效率甚至改造工作模式。同时,人工智能也将通过催生智能新兴产业、带动衍生业态等方式,创造大量新的就业。所以我认为,人们在未来智能社会不会无事可做,我们需要面对的更多的是行业结构调整、就业形态的变化以及对工作技能的新需求。

问:“十四五”规划提出,培育壮大人工智能、大数据等新兴数字产业。请您介绍一下我国人工智能下一步的发展方向。

李修全:自《新一代人工智能发展规划》发布以来,我国人工智能进入加速发展的新阶段。国家自然科学基金、新一代人工智能产业创新重点任务揭榜项目等强化人工智能基础理论和关键技术研发,一批具有国际影响力的创新性成果得以涌现。中国企业在人工智能领域技术创新中的主体作用日益强化。大批科技型企业结合各行业智能化转型升级需求,不断加大人工智能技术研发资金和人才投入,成为推动人工智能技术创新的重要力量,同时深度参与产学研协同AI人才培养,学术界和产业界共同驱动人工智能创新发展已初具形态。

人工智能应用场景创新已成为中国加速产业化落地和技术迭代的重要途径,各地积极推动人工智能应用场景创新,为人工智能技术创新与快速商业化创造了良好环境。中国也正以更加开放的姿态推动人工智能发展,积极推进与全球各国的人工智能国际合作。

当然,中国人工智能也还有诸多薄弱环节。进一步加强基础理论和关键技术研究、强化企业技术创新能力、拓展人工智能场景创新和国际开放合作,将是中国下一步推进人工智能发展的重要方向。

相关问答

www采用什么交互模式?

WWW服务采用客户/服务器工作模式,客户机即浏览器(Browser),服务器即Web服务器,它以超文本标记语言(HTML)和超文本传输协议(HTTP)为基础,为用户提供界面...WWW...

浏览器“极速模式”和“兼容模式”有什么不同?-ZOL问答

极速模式下,网站打开速度快,但某些网站在极速模式下可能出现兼容性问题,显示不正常。兼容模式下,网站打开速度比极速模式略低,但网页兼容性问题较少。根本不同...

网站电子商务模式类型有哪些..._电子商务_帮考网

电子商务模式主要有B2B、B2C、C2C和C2B几种。B2B是企业对企业,B2C是企业对消费者,C2C是消费者对消费者,C2B是消费者对企业。电子商务模式主要有B2B...

网站提供的两种基本搜索模式是什么-在线法律咨询|律图

即将用户所需的信息完全拷贝到网站的服务器上,当用户利用搜索引擎查找到所需信息时,可以任意下载。这种搜索引擎模式按信息提供来源又分为两种:第一种是网站本身...

电子商务网站的经营模式..._电子商务_帮考网

电商网站经营模式主要有B2C、B2B、C2C和O2O等。B2C是企业对消费者,B2B是企业对企业,C2C是消费者对消费者,O2O是线上对线下。选择合适模式关键看目标...

如何将网页调整为极速模式?

1.打开360浏览器。2.地址栏后会有一个e的图标,点击图标,点击以后有极速模式和兼容模式。3.选择极速模式以后,图标变成闪电的样子就已经设置好了。扩展资料...

网站赢利模式主要有两种:一是卖自己的产品(包含服务),二是...

[最佳回答]网站赢利模式主要有两种:一是卖自己的产品(包含服务),二是...

京东网的网络模式是什么?

京东网的网络模式是电子商务模式。京东商城网上商店模式的电子商务模型的优势:京东商城的模式就类似于现实生活中沃尔玛、乐购、家乐福类的大型超市,引进各种...

网页视图模式有哪几种?

网页视图模式是一种模式,没有再分类,就是说视图模式中含有网页视图模式(只有一种网页视图模式)网页视图模式是一种模式,没有再分类,就是说视图模式中含有网页...

如何在手机上使用电脑网页模式?

在手机上使用电脑网页模式,有以下两种方法:打开手机UC浏览器,点击浏览器下方中间"功能键"按钮后,选择下方"设置"按钮;进入"设置"界面之...

抱歉,评论功能暂时关闭!