V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
MikeLei
V2EX  ›  问与答

各位现在新开的项目是采用前后分离,还是采用视图模型返回?

  •  
  •   MikeLei · 2019-11-01 10:08:06 +08:00 · 2004 次点击
    这是一个创建于 1883 天前的主题,其中的信息可能已经有所发展或是发生改变。

    小白一个,前面开发一直用原生 ajax 来进行前后端分离,但是感觉前端会很囊肿,前端需要处理很多逻辑(登录状态,是否能够浏览某个 html 界面,等等),感觉前端需要做的事情实在是太多了。

    尝试过视图模型返回,部分地方用着确实爽,不用去管繁杂的 json 返回结果,但是感觉用了视图模型在前端效果 Js 就不好写了,很多效果,不知道应该怎么实现,怎么触发

    各位大佬可以探讨一下是完全靠前端请求接口,后端完全不管前端是什么表现形式(网页,APP ),还是靠渲染视图模型来开发,这两个哪个最爽,效率最高,后期维护还舒服?

    背景:小公司,小项目,Spring Boot,jQuery 一梭子到底型前端,全干型程序员。

    17 条回复    2019-11-02 09:08:41 +08:00
    Caballarii
        1
    Caballarii  
       2019-11-01 10:28:12 +08:00
    纯 jquery 搞前后端分离吗。。。好狠啊
    lxk11153
        2
    lxk11153  
       2019-11-01 10:30:51 +08:00
    前后分离是趋势,交互只传数据。
    VUE 视图与数据绑定 这样也是趋势
    MikeLei
        3
    MikeLei  
    OP
       2019-11-01 10:49:51 +08:00
    @Caballarii 前端一直是短板,VUE 之前看过一点,那时候一直用的 jQuery ajax 求接口来拼拼改改页面,所以不太能理解 VUE 的运行逻辑,现在回头看能理解很多了,VUE 有机会还是要抓起来再学学的。

    @lxk11153 也就是视图模型交给了 VUE 去处理?后端按照规定格式传给 VUE 让他自动渲染就可以了?
    anmie
        4
    anmie  
       2019-11-01 10:56:53 +08:00
    在不考虑项目复杂度,和 vue 的一些劣势的情况下,无脑 vue 前后端分离一把梭就行了。
    如果如上的一些问题需要考虑,那前端这边,你只能内容展示型网站 ssr,应用型网站 vue。
    然后分离的情况下,后台还有一个好处,就是你的接口不仅可以提供给网站使用,app,小程序同样可以。
    lxk11153
        5
    lxk11153  
       2019-11-01 10:59:25 +08:00
    @MikeLei #3 cn.vuejs.org/v2/guide/#%E5%A4%84%E7%90%86%E7%94%A8%E6%88%B7%E8%BE%93%E5%85%A5
    比如这个,data.message 这个字段有个 reverseMessage 方法在修改,但你并没有看到 js 里去如何修改 html,js 里改了 data.message 的值,html 也相应变动了,然后页面往下一个输入框例子,你在页面输入框输入字符,js 里的变量也相应改变了值
    MikeLei
        6
    MikeLei  
    OP
       2019-11-01 11:03:15 +08:00
    @anmie result 风格前后端分离也一直是我理解的模式,后端完全不用管前端的展示方式,只需要会请求 http 就可以调用,但是我现在疑惑的是,如果这样写前端的任务量是不是太大了,基本上等于后端只需要负责输出数据,和校验请求的合法性,其它什么都不用管了。而前端它需要管理登录状态,管理页面访问,取出 Json 用于渲染前端页面,等等各种各样的逻辑,难道这些逻辑本身就应该属于前端的范畴嘛?

    还是说我写法有问题?有更简便的方法?
    MikeLei
        7
    MikeLei  
    OP
       2019-11-01 11:09:09 +08:00
    @lxk11153 嗯,我大概看明白了。有空要深入研究一下。然后还有一个问题要请教您,像 LayUI,FinUI,这种填鸭式的前端框架还能与 VUE 融合吗?感觉用了框架以后就多了很多很多局限。
    MAIQ
        8
    MAIQ  
       2019-11-01 11:16:36 +08:00
    全干,怎么方便怎么来。我也是全干,后端依旧渲染视图和处理逻辑;前端用 vue 负责界面,不用写一坨一坨的 js,工作量少很多
    lxk11153
        9
    lxk11153  
       2019-11-01 11:28:00 +08:00
    @MikeLei
    #6 所以 vue 就是来简化处理咯,比如说列表渲染 cn.vuejs.org/v2/guide/list.html
    #7 vue 是数据层的,你说的 UI 是样式层的,基本的控件没问题,自定义控件的话看如何实现要具体分析了;基于 vue 的也有很多 UI 框架的。搜一下就行
    hyy1995
        10
    hyy1995  
       2019-11-01 11:42:10 +08:00
    楼主好像觉得,前后端分离之后,前端需要写的逻辑多了,任务量大。



    实际上也是这样的,现在的前端早已不是当年的切图仔了。。。
    zaul
        11
    zaul  
       2019-11-01 14:45:05 +08:00
    换 VUE 吧,用习惯了你会把 JQ 彻底抛弃,毫不犹豫
    zaul
        12
    zaul  
       2019-11-01 14:45:16 +08:00
    开发效率也会变高的
    stillyu
        13
    stillyu  
       2019-11-01 15:58:35 +08:00 via iPhone
    jquery 拼 html 字符串不觉得累吗?也不好维护。 换 vue 吧,你会爱上的,一两天就能上手了
    nekolr
        14
    nekolr  
       2019-11-01 16:00:26 +08:00
    Spring Boot + vue 一把梭,再用 jquery 头发都掉了。
    nekolr
        15
    nekolr  
       2019-11-01 16:02:42 +08:00
    @MikeLei UI 框架直接用基于 vue 的这种,方便很多
    weixiangzhe
        16
    weixiangzhe  
       2019-11-01 20:08:44 +08:00 via Android
    就算不上 react vue 之类的也要有模板引擎才行
    anmie
        17
    anmie  
       2019-11-02 09:08:41 +08:00
    @MikeLei 前后端都能做的内容,那就无所谓是属于谁的范畴,至于前端是不是做了太多的工作,只能说前端已经不是以前的页面仔了。
    而且 vue 全家桶用熟了之后,你会发现工作量并不会增加很多,更何况你自己全干,某些逻辑前端处理比后台处理还方便
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3083 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 10:55 · PVG 18:55 · LAX 02:55 · JFK 05:55
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.