首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

前后端驱动的两种思维差异

以传统php, jsp, 或python为代表的后端web开发,与现在前端工程化的框架如vue,angular等,有很大的不同。

vue/angular本质上是一种c/s模式。js在本地运行,且是中心点。从远端读取数据,并驱动数据在页面里呈现。

传统web是b/s模式。html(js)被称为模板,服务器读取数据,并自己填充到模板,然后往浏览器传输。js只是本地做一些交互或点缀。

两者不是不能混用,也没有明确的规定,但二者思维里还是有很大的差异。后端模式下html(js)就是模板,显示数据用。

还是以注册功能为例来说明。

后端模式b/s结构,点“注册”,form表单直接post, 后端处理post请求,取出对应的表单数据,校验,查重,看两次密码是否一致,如果出错,会把错误码写到模板带回。浏览器只管如何展示即可

{%csrf_token%}

手机号:

{%if errors.mobile%}

{{ errors.mobile }}

{%endif%}

密码:

{%if errors.password%}

{{ errors.password }}

{%endif%}

再次输入:

{%if errors.repassword%}

{{ errors.repassword }}

{%endif%}

{%if err_msg%}

{{ err_msg }}

{%endif%}

后端会完成用户注册,登录并且写session并跳转

而vue为代表的前端驱动模式这个过程是由javascript来驱动完成。

后端在校验后,只管返回状态,登录,token认证,路由等功能都需要前端自行完成。

vue在模板里的语法和django的模板语法有异曲同工之炒。vue在js里的逻辑和django view里的逻辑类似。只是对于后端而言,python更自由。本地终究没那么好维护。

但有些需要和用户交互的,用户触发的行为,这时候,python后端是接触不到了,除非post提交,然后整体返回。这里就是vue的用武之地。

前后端不分离的web场景下,使用jquery dom驱动是个好的选择。

因为后端的充当 vue逻辑的作用,用数据对模板进行填充。vue主要接管了数据,然后由自己通过对控件的绑定,数据数据进行填充。

vue绑定控件后,后端只能通过vue才能修改控件,比如文本框的值。一是没必要,二是对seo反而不好。后端已经完成大部分数据填充的前提下,如果有一些本地需要的交互,验证,通过jquery外挂的方式,代价也不大。主要是两种编程方式的取舍。

混用不是不可以,有代价,有难度。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180224G0NK7Q00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券