V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
f2er
V2EX  ›  程序员

请教下下各个公司前后端的开发环境如何和谐统一?

  •  
  •   f2er · 2013-06-14 21:39:41 +08:00 · 5949 次点击
    这是一个创建于 4173 天前的主题,其中的信息可能已经有所发展或是发生改变。
    现在本厂里,前后端环境不统一,一到联调阶段各种蛋疼。现在情况是在联调阶段,前端修改完静态资源包括修改模板页,再发给后端,一来二往都很麻烦,而且还容易出错。
    想了解下怎么和谐统一下开发环境?
    29 条回复    1970-01-01 08:00:00 +08:00
    lqs
        1
    lqs  
       2013-06-14 21:45:46 +08:00   ❤️ 1
    让后端提供好数据接口,前端负责联调。
    f2er
        2
    f2er  
    OP
       2013-06-14 21:50:59 +08:00
    @lqs 那还是会涉及到联调时的修改。
    比如现在要修改CSS或image,都要修改完给程序commit。费时
    lqs
        3
    lqs  
       2013-06-14 21:54:19 +08:00
    @f2er 前端改好后自己直接commit就行了
    f2er
        4
    f2er  
    OP
       2013-06-14 22:06:35 +08:00
    @lqs 就是没环境。。如果有个统一的开发环境,在联调阶段,调试OK了在commit就可以了。现在还不知道如何做到统一。有跟开发经理谈过,说多个库很难搞
    ijse
        5
    ijse  
       2013-06-14 22:30:41 +08:00
    前后端代码都commit到同一个库里,不能这样吗?
    honk
        6
    honk  
       2013-06-14 23:16:24 +08:00
    沒必要統一,後端依賴的那些庫關前端鳥事!
    後端向或從哪裏(DB/MemCache/其他Server API)讀寫數據也不關前端鳥事!

    簡單點說,後端 Controller 最終會有一個類似叫 render 的方法,include 前端模版頁面並傳入數據;
    前端開發時只要實現一個類似 render 的方法就行了,剩下的就是數據結構的約定了;
    多數情況下,這個數據結構完全可以由前端定(頁面是自己做的,自然比後端更清楚需要些什麼數據);
    lightening
        7
    lightening  
       2013-06-14 23:19:44 +08:00
    honk
        8
    honk  
       2013-06-14 23:19:54 +08:00
    這種方式對前端要求比較高,需要會些後端用到的語言,但不需要多精通,以 php 為例,基本會用 echo/if/else/for/foreach/ 和一些常用的格式轉換函數就差不多了
    mudone
        9
    mudone  
       2013-06-14 23:34:45 +08:00
    国宝哎~~
    refresh
        10
    refresh  
       2013-06-14 23:35:02 +08:00
    1. 服务器用node.js开发,前后端统一语言统一解决方案,可以使用rendr或socketsstream这些解决方案

    or

    2. 后端只提供restful的api,后端只要保持i/o正确,通过test case就行,基本上不存在联调。
    likuku
        11
    likuku  
       2013-06-14 23:42:33 +08:00
    前后端分开存储,在线上生产机也是如此,如有条件,生产机都分成跑程序的和单纯存储资源的。

    前端有自己的 svn/git,只存 css/js/image 等静态资源,后端只存 php/py 等程序文件。

    互相之间依靠共享的在线 wiki/docs 的交互/API 手册来指导对接。

    项目/活动 立项,就前后端和产品坐一起先协商好对接的方式和规则,达成统一后,再由产品全程追踪协调推动进展直到测试和上线。
    zhttty
        12
    zhttty  
       2013-06-14 23:53:38 +08:00
    没svn或者git?
    f2er
        13
    f2er  
    OP
       2013-06-15 08:34:07 +08:00
    @mudone 王一?在这都能碰到你
    f2er
        14
    f2er  
    OP
       2013-06-15 08:36:25 +08:00
    @zhttty 这个有
    mudone
        15
    mudone  
       2013-06-15 08:44:25 +08:00
    @f2er V2EX 第 4242 号会员,加入于 2010-12-23 00:00:56 AM,今日活跃度排名 200 ^_^
    gouflv
        16
    gouflv  
       2013-06-15 10:41:19 +08:00
    前端不会用svn吗难道
    sivacohan
        17
    sivacohan  
       2013-06-15 10:49:56 +08:00 via Android
    @f2er acm/icpc的国宝?
    miizoo
        18
    miizoo  
       2013-06-15 12:23:57 +08:00
    我就看看不出声。
    hpyhacking
        19
    hpyhacking  
       2013-06-15 15:47:08 +08:00
    让他们变成一个人
    aisensiy
        20
    aisensiy  
       2013-06-15 17:20:25 +08:00
    @hpyhacking 这个最靠谱
    akira
        21
    akira  
       2013-06-15 18:09:17 +08:00
    别告诉我服务器上面,你们前后端的文件会交叉放一起。
    只要不是的话,两边都给读写权限就是了。
    例如开个ftp什么的,然后前后端分别上传到自己的目录。
    或者如果有用版本管理,服务器上面做两个cron来拿版本,也可以啊。
    xatest
        22
    xatest  
       2013-06-15 18:19:10 +08:00
    @f2er 前端修改CSS/image/HTML关后端毛事,定义好数据接口,符合接口定义的请求和响应就行了。前后端唯一通信的就是传输数据,跟用不用svn/git没有任何关系。
    fiture
        23
    fiture  
       2013-06-16 15:52:41 +08:00
    @xatest 额,你说的应该是ajax请求的数据接口吧,那样定义好接口倒不错,但是要是需要后端渲染的模板就没那么简单了,我觉得楼主是说的是一些后端模板之类的东西,如果是这样的话,前端直接去改后端模板就行了。
    z4none
        24
    z4none  
       2013-06-17 13:53:09 +08:00
    同一个人来做 +1
    binjoo
        25
    binjoo  
       2013-06-17 14:15:29 +08:00
    前后一条龙服务的飘过。
    waterye
        26
    waterye  
       2013-06-17 15:12:06 +08:00
    前后端属于同一项目组,前端做好后发给后端,有问题大家沟通。代码统一由后端check in
    xhslyf
        27
    xhslyf  
       2013-06-17 15:30:44 +08:00   ❤️ 1
    我们这里是前后端约定好数据格式,包括静态的和动态的。
    静态的指服务器渲染的的内容,动态指 AJAX 请求数据前端渲染的内容。

    静态内容由后端程序员帮我们搭建本地环境,指导模版引擎(比如 FreeMarker)用法,然后在前端开发时我们自己模拟 JSON 数据来做预览,做好以后交付时后端按照我们的 JSON 数据来返回同样的真实数据即可。
    AJAX 同样,也是做模拟数据,后端根据模拟数据提供真实数据。


    在这些之前,前端会根据设计图或者原型图先做一遍数据分析,利用一些标注工具在图上标注出所有的数据格式,包括 FreeMarker 和 AJAX 请求的数据。某些 JS 操作会提交的相关参数,需要返回的相关数据等等之类也要标注出来。

    标注完成以后,到会议室搬出投影仪,前后端的人坐一起过一遍,修正无误后,前后端就开始根据这个数据分析图来开始同步进行工作。前端开始切图,后端开始准备我们需要的数据。


    简单归纳就是,所有用户看到的东西,都由前端来负责;后端根据前端的要求,提供数据。
    前端拿到数据以后,以各种方式展示给用户看。
    f2er
        28
    f2er  
    OP
       2013-06-18 22:30:37 +08:00
    @xhslyf 里面提到的前后端会坐在一起确认接口,这个挺靠谱的。我们现在是有的前端模拟好数据后,后端根据前端来配接口。这个可以有。。
    我这边提的是后端也套好模板代码后,这个时候需要进行调整静态资源遇到的环境问题。
    f2er
        29
    f2er  
    OP
       2013-06-18 22:33:19 +08:00
    @sivacohan 这是?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1810 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 16:40 · PVG 00:40 · LAX 08:40 · JFK 11:40
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.