shiro 前后端分离_浅谈前后端分离

0 1原始时代

说到原始时代,就要稍微久远一点,必然还没有app。

是一个pc网页的时代。

当时主流的动态网站技术是jsp,asp.net,还有发展蓬勃的php等,具体的时间大概是2000年前后吧。

当时研发技术人员的统称还是软件工程师,开发工程师等,没有太多的细分。

数据库、逻辑代码、掺杂着动态标签的html页面,一个人从头干到尾的情况很普遍......

0 2快速发展

摩尔定理确实是一个非常好的规律总结,硬件成本的变化也是互联网技术发展的一个重要因素。

术业有专攻-前端

由于电脑硬件的快速发展,带来了更高的显示分辨率和处理速度。

对于企业来说,给用户提供更好的使用体验愈发重要。

页面表现、速度流畅、兼容性、交互效果等都成了必要因素。

原有的“大包大揽”的职责分配被逐渐改变,会有专门的技术人员负责用户交互与体验部分,也就是“前端”职位的职责开始逐渐清晰。

前端的技术栈主要有,javaScript、html、css,以及2009年发布的node.js,还有最近几年流行起来的vue等前端框架。

这个阶段还有一个很有意思的梗,就是小公司为了省钱,要求前端掌握一些ps等图片处理技术,也给不了解技术的人造成了误导,认为前端工程师是切图的。

术业有专攻-后端

并不是因为有一部分工程师去做前端开发了,剩下的就变成了后端开发。

从家用电脑的普及到互联网的普及,以及移动互联网和智能手机的兴起,对于技术服务来说,最典型的变化就是用户数快速增多、使用的时长也大幅增加。

高并发,高可用,高性能,安全,存储,业务多变性等等变成了互联网服务企业必须要应对的技术挑战。

企业需要有专职的人处理这些偏后台的技术工作,也就催生了后端技术职位的产生。

后端的技术栈,涉及的也非常广,包括:编程语言基础,设计模式,虚拟机原理,各类框架,操作系统,数据库技术,网络传输,分布式等。

0 3反观痛点

大多数动态web开发技术都有很多相似之处,我们以jsp为例进行分析。

资源耦合

这里的资源指js、css、html、图片、动画等。

比如图片:

如果是页面背景之类的静态图片,要更换图片的话,就需要整个项目进行重新打包,进行发版;

即使是根据url,动态展现给用户的图片,由于是整个项目共用服务资源,这种相对比较大的文件请求,会给服务器造成额外的负担。

其他的相关资源也是同理。

项目耦合

传统项目最基本的是所有页面和服务都在一起。

项目扩容其实就是把项目复制到多台服务器上。

日常使用中,如果某个页面或者某个数据库连接配置有问题,就需要重新打包项目,全部重新发布,很可能还会造成网站服务一段时间不能使用。

所以,前后端分离,后端微服务化,其实也是一个大家从极其不方便,到逐渐方便的不断的探索过程。

0 4人力解耦

线性耦合

在原始时代,一个人串行,多个人间并行的情况比较多见。

比如注册、登录页面和功能是A在负责。

下单,结算页面和功能是B在负责。

“一个用户只有在登录后才能下单,否则就要跳转到登录或注册页面”。

这个功能必须要等到A和B都完成各自的工作后才能进行,进度把控上稍有问题,就会出现相互等待的情况;技术调试和协作的成本也比较高。

技术嵌入耦合

即使是在经过了一段发展,前端工作相对独立后,当时也存在着前端工程师完成页面技术工作后,等后端工程师来嵌入动态数据标签,调试有问题后,再进行沟通、修改,效率比较低。

前后端分离后,双方可以先约定数据交互的接口规范,然后各自进行开发与调试。

后端工作更专注,彼此间只有逻辑协作关系,没有页面调用关系了。

前端与后端之间也避免了嵌入式等待。

0 5技术复用

如今已经是移动互联时代,不仅仅只为用户提供网页服务就可以了,还要支持手机、平板、手表等多个终端类型。

从企业内部来说,登录、注册、下单这些行为的逻辑都是一致的,不会因为用户使用不同的设备,就有不同的业务逻辑。

在前后端分离的技术架构下,前端或移动端负责适配各种不同的设备特点,如屏幕尺寸,而后端则只需要考虑业务逻辑的正确性与技术稳定性。

d548b153e63e99ef693fe041e2f89f20.png

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值