mysql定位前后端问题_Web 前后端分离的意义大吗?
意义很大,但是你的问题本身认识有偏差。
对于前后端分离,认识上有个误区,那就是很多人自称:我们老早就分离了,全AJAX,使用Angular或者什么什么就可以了。
这个说法是不合适的,打个比方,别人问的是“如何解决家禽把蛋生在水草边的问题?”,但实际上人家养的是鸭子,答题的却是养鸡的,所以回答“不让去水边就行了”,这显然不在点子上。
这两年业界说的前后端分离,是限于偏展示类的系统(用A代替),而不是应用、管控类Web项目(用B代替),在B类项目里,前后端是天然分离的,对此,除了少部分后端开发人员,基本所有人的认识都是一致的。上一段中这样回答的人一般都是只做B类项目,在B类项目里,前后端分离是共识,不需要讨论。
那么,剩下的问题就是讨论A类项目的前后端分离了。这个问题的核心在什么地方呢,在于模板的与数据结合的位置,以及,模板的控制权在谁手里。经过这两年的讨论,基本上我们可以达成的共识就是:模板应当由前端人员去控制,主要原因有两方面:
- 性能优化(尤其是外部资源的管理与发布,请求合并等等)
- 协作的顺畅性(已形成模板的界面片段的返工等问题)
那么,模板到底应该在什么地方跟数据结合?
这个问题就比较折腾了,有部分人尝试像B类项目那样,使用js模板,然后在浏览器端执行,这是存在一些问题的,比如说seo不友好,首屏性能不够,尤其对于首页DOM量很大的电商类网站,差距很明显。
所以我们还是得把主要的模板放在服务端来执行。在这个过程中,阿里作了一些尝试,那就是引入Node层,在这一层把模板与数据进行合成,然后浏览器拿到的就是生成好的HTML了,但也不是所有HTML都是这么生成好的,还是会有一些内容等到了浏览器之后,再用js去加载和生成。
所以这一定会是一个混合方案,同一个系统中存在两种模板,一种在服务端执行,一种在浏览器中执行,互为补充。
至于说这个方案中,是否中间层一定要是node,我觉得无所谓,只要是能正常做web项目的东西都可以,这个还是要看所在企业的技术积累方向,当然node做这块是有一些优势的,比如对前端人员的语言友好性,前后端模板的通用性等等,但这些都是细节,重点还是整体方案和流程。
这时候回头看你问题中的这句:
> 前后端分离的意思是,前后端只通过 JSON 来交流,组件化、工程化不需要依赖后端去实现。
我相信你这里对前后端的限定是以浏览器为准的,但事实上,A类项目中,前后端的分界一定要延伸到服务器端的模板层,也就是在这一层里,把各种来源的数据整合到模板中,这个数据未必是JSON格式的,会存在有JSON,XML,特定的二进制等等。
组件化这个话题就更复杂了,在刚才组织形式中,很难说出究竟什么才是组件。是某个商品的模板吗?是数据吗?是数据和模板的结合体吗?没法回答。在此,我说一句自己的看法:像电商这种项目的前端部分,基本不存在组件的概念,甚至不存在组件化的价值,因为这里面可复用的东西太少了,也不易提取,大多数东西都是不带逻辑的界面模板。
最近因为ReactJS的流行,带来了一个Isomorphic的概念,这是一种很有意义的探索,但是否能解决这类问题,尚不得而知,根据我的理解,它对B类项目是较好的补充方案,但对A类项目暂时还缺乏可用性,因为A类项目中,运行期的DOM变更并不多,多是整片的改变,用这个方案去解决的话,有些牛刀杀鸡的感觉。
关于B类项目的组件化,我之前那个没写完的系列是关于它的,但经过最近一年多的思考,我又觉得需要再重新写一篇东西了。感谢你的问题提醒了我,这就写。
mysql定位前后端问题_Web 前后端分离的意义大吗?相关推荐
- Android端+java后端+servlet+MySQL的型男塑造平台【前后端源代码+论文+答辩ppt】
活动地址:毕业季·进击的技术er 目录 前言 第一章 绪论 1.1 背景和意义 1.2 国内外研究现状 1.3 论文研究目标与内容 1.4.减肥瘦身相关概念与计算方式介绍 第二章 需求分析 2.1 平 ...
- Maven项目+MVC三层架构+Mysql+Tomcat+私教预约系统前后端(私教、用户、管理员)+可以用于学习SSM框架、javaweb、maven项目入门
Maven项目+MVC三层架构+Mysql+Tomcat+私教预约系统前后端(私教.用户.管理员)+可以用于学习SSM框架.javaweb.maven项目入门 可以用于课程设计.毕业设计的知识点入门学 ...
- webapi把html内容传后端,WebAPI 实现前后端分离
随着Web技术的发展,现在各种框架,前端的,后端的,数不胜数.全栈工程师的压力越来越大. 现在的前端的框架,既可以做各种Web,又可以做各种APP,前端框架更新换代越来越快,越来越多. 传统的模式 前 ...
- easyui框架前后端交互_easyui前后端分离
陈旧的开发模式 美工(ui工程师:出一个项目模型) 前端工程师做html页面 java工程师:将原有的html转成jsp,动态展示数据 前后端强依赖,后端必须要等前端的html做好才能套jsp.如果h ...
- Axure通用版电商后台管理系统+通用版移动端商城商户端+电商管理系统+对账管理+消息管理+内容管理+运营管理、会员管理、订单管理、促销管理、财务管理+通用版商城前后端电商系统+电商用户数据大屏看板
作品介绍:Axure通用版电商后台管理系统+通用版移动端商城商户端+电商管理系统+对账管理+消息管理+内容管理+运营管理.会员管理.订单管理.促销管理.财务管理+通用版商城前后端电商系统+电商用户数据 ...
- 【ECDH java后端和javaScript前后端互通实现】
ECDH java后端和javaScript前后端互通实现 问题背景 ECDH算法 Java 实现 前端JavaScript 实现 问题背景 web前端和后端之间的通信不一定可靠,如果不方便使用预共享 ...
- 基于知识图谱的前后端(vue+django)分离的问答系统的设计与实现(三):前端开发
基于知识图谱的前后端(vue3+django)分离的问答系统的设计与实现 基于知识图谱的前后端(vue3+django)分离的问答系统的设计与实现(一):总体介绍 基于知识图谱的前后端(vue3+dj ...
- mysql查询手机号码后四位,前几位怎么写?
mysql查询手机号码后四位,前几位怎么写? 查询手机号后四位 同理查询前几位这么写 引申一下查询前几位和后几位写法 随机位置查询的写法,只要出现就打印 也是新手,才疏学浅,大家共同进步,谢谢 查询手 ...
- mysql前端还是后端_前端和后端哪个发展好点?
前端和后端哪个工资高,哪个发展前景好?事实上,两个都是属于技术研发岗位,都是高薪有前途的职业,不存在说哪个工资更高些,都基本在一万到五万之间,工资的差别主要体现在个人技术上.要问做前端好还是做后端好? ...
最新文章
- 油品调和计算软件_燕山石化汽油在线调和系统完成升级改造
- 面试题:找出出现次数超过1/2和1/3的数
- apache2 的https配置和代理https后端nodejs配置
- linux导入函数包失败,使用qsub运行shellscript时出现apos;文件意外结束apos;和apos;错误导入函数定义apos;错误 中国服务器网...
- openssh 7.4 java使用_openssh/openssl升级到7.4和1.0.2j 源码方式
- vue.js 2.0 官方文档学习笔记 —— 01. vue 介绍
- 如何用ABAP代码的方式弹出SPRO里的customizing activity
- Vue报错:Elements in iteration expect to have ‘v-bind:key‘ directives的解决办法
- 雷军再失猛将!小米12号创始员工离职 曾一起喝粥创立小米
- vue多页面开发_使用VUE进行移动端H5页面开发前准备
- 计算机网络考前,《计算机网络原理》--考前复习资料.doc
- 机器学习(一):数据预处理
- 安卓模拟器封包抓取加解密
- MPPT算法(恒定电压、扰动观察、电导增量)介绍与实现过程
- Oracle 数据库限制IP地址连接
- 业务分析系列主题:业务场景
- 什么软件可以测试手长,手相测试扫一扫软件
- uniapp如何使用uview中的loadmore上拉加载
- 读《期货市场计算机分析指南》笔记
- 众筹源码 php,助创cms众筹源码系统v1.0
热门文章
- 求序列中第k小的数_无理数的整数部分与小数部分
- 如何将SmartDraw中的图形导出LATEX可用的EPS格式?
- Faster R-CNN 《Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks》论文笔记
- hdu5459(2015沈阳网络赛J题)
- Codeforces Gym 101630J Journey from Petersburg to Moscow (最短路)
- 从2018年12月起陆续将博客搬至博客园(cnblogs)
- java图片上传下载_java web 文件上传与下载
- 安卓开发fragment报错_android开发 Fragment嵌套调用常见错误
- linux合并两个文件 去重复,c - 在Linux中使用C,通过系统调用将两个文本文件合并为一个新文件(来回换行) - 堆栈内存溢出...
- 计算机专业人大学排名,计算机专业学校排名哪些大学计算机专业比较好