您现在的位置是:探索 >>正文
应用层是前端还是后端开发
探索6972人已围观
简介刚入行那会儿,我在一个技术群里问了个问题:“应用层到底算前端还是后端?”结果炸出一堆人,有人说“应用层就是前端”,有人说“应用层是后端的事”,还有人直接甩了句“你先把OSI七层模型背熟再问”。那会儿我 ...
刚入行那会儿,应用我在一个技术群里问了个问题:“应用层到底算前端还是层前后端?”结果炸出一堆人,有人说“应用层就是端还前端”,有人说“应用层是后端后端的事”,还有人直接甩了句“你先把OSI七层模型背熟再问”。应用那会儿我真去背了,层前背完更懵——七层模型里的端还“应用层”跟日常说的“前端后端”压根不是一回事。
先说清楚一个事:OSI模型里的后端应用层,是应用网络协议栈的最顶层,跟HTTP、层前FTP、端还SMTP这些协议打交道。后端它负责的应用是“应用程序怎么接入网络”,而不是层前“应用程序的界面长什么样”。你写一个React页面,端还调了个fetch请求,这个fetch本身属于应用层协议(HTTP)的调用,但写React代码这件事,大家习惯叫前端开发。所以“应用层”这个词,在计算机网络语境和日常开发语境里,指的根本是两个维度。
那日常聊的“应用层开发”到底指什么?我观察下来,多数时候它指的是“业务逻辑层”——夹在界面和数据存储之间的那部分代码。比如电商系统里,购物车怎么算优惠、订单状态怎么流转、库存怎么扣减,这些逻辑既不在按钮的点击事件里,也不在数据库的SQL语句里,它们住在应用层。写这层代码的人,可能用Java、Python、Node.js,也可能用Go。他们跟前端对接接口,跟DBA对接表结构,自己负责把业务规则翻译成可执行的代码。
我待过一家做SaaS的公司,前端组和后端组之间有个“应用组”。前端组只管页面渲染和交互,后端组只管数据库和基础设施,应用组就卡在中间。有次改一个退款流程,前端说“我这边只负责把用户填的金额传给接口”,后端说“我这边只负责把退款记录写进表”,应用组的人得把退款规则、审批链路、异常处理全串起来。你说这算前端还是后端?都不算,它就是应用层。
但现实里很多公司不这么分。小团队往往把应用层逻辑直接塞进后端代码里,前端只做展示。这时候“应用层”就被后端吞了。另一种情况是,前端框架越来越重,React/Vue里也管状态、管路由、管数据缓存,有些业务逻辑就前移了。于是“应用层”又被前端吞了一部分。所以这个问题没有标准答案,取决于你团队怎么切分职责。
我自己的判断标准很简单:看代码运行在哪儿。跑在浏览器或手机上的,不管它叫不叫应用层,实际就是前端。跑在服务器上、处理请求和业务规则的,不管它叫不叫应用层,实际就是后端。OSI那个应用层是协议概念,跟岗位分工不是一码事。有人把“应用层开发”当成“全栈”的另一种说法,也有人把它当成“业务逻辑开发”的代名词。词本身有歧义,争论之前先对齐定义,不然就是各说各话。
回到最初那个问题。现在我会说:应用层既不是前端也不是后端,它是一个逻辑分层。硬要归类的话,它更靠近后端,因为多数业务规则最终跑在服务器上。但如果你写的是Electron桌面应用,业务逻辑全在本地跑,那它又偏前端了。技术标签这东西,用来沟通可以,用来站队就没意思了。
Tags:
上一篇:网站和app区别与联系
下一篇:美国航空官网
相关文章
快排cms
探索快排CMS这个活儿,干过的人都知道,它根本不是技术问题,是心态问题。 去年秋天,我接到一个客户的电话,声音急得像是房子着了火。他的企业站被百度拔了毛,收录从三千多页掉到剩下首页。我打开后台一看,好家伙 ...
【探索】
阅读更多网站排查
探索凌晨两点,手机弹出一条告警:站点首页响应时间从 230ms 飙到 4.8s。我爬起来打开笔记本,第一件事不是重启服务,而是先看监控曲线——CPU 没炸,内存没满,磁盘 IO 也正常。那问题大概率不在服 ...
【探索】
阅读更多外国论文网站
探索找文献这件事,绕不开几个老牌网站。PubMed 算一个,但只限生物医学。真正覆盖面广的,还得是 Web of Science 和 Scopus。这两个不是免费公开的,得靠学校或机构订阅。我读研那会儿, ...
【探索】
阅读更多