你的位置:首页 > Java教程

[Java教程]web开发漫谈


本文同步至微信公众号http://mp.weixin.qq.com/s?__biz=MzAxMzgwNDU3Mg==&mid=401950045&idx=1&sn=cec056802bb52f909554691d0427f4f0#rd

对后续文章感兴趣的可以扫码关注哈

对于一个非技术人员比如说pm,网站编辑等通常遇到一些问题,不知道是该找前端解决还是应该找后端。也有一些功能,既可以放到前端来做,也可以放到后端来做。这样看似一个模糊不清的问题,然而考虑到后续的维护成本,页面性能时,结论往往是明确的。

    一个web应用在开发模式上通常划分为前端和后端。本文基于此,浅偿辄止的聊聊前后端开发分别都是做什么的,以为它们之间如何分工当然还有自己的工作观。希望对非技术人员或初学web开发的同学有所帮助也希望大牛们不要见笑。。

    通俗地说,后端是处理数据的,前端是展示数据的。例如,当我们访问一个已展示性为主的站点时,首先会在浏览器地址栏输入该站点的网址。这是浏览器会通过DNS域名解析器获取到该网址对应的站点的ip地址,然后浏览器向对应的web服务器发送请求(http),web服务器响应该请求,从DB中获取数据,并返回给浏览器。如下图所示:红框圈出来的就是后端做的事情,响应浏览器发送的http请求,操作数据库,处理数据,然后返回。浏览器端也就是前端在拿到数据之后,对数据进行展现。这也是通常的以展示性为主的web应用的工作流程。(http为web开发的基石,不清楚的,google之)。

 也就是前端关注的是用户体验。真实的还原设计稿,保证web动画的流畅性,在视觉和交互上给用户一种清爽、简洁舒适的感觉。这也是我对于一个好的设计,好的设计稿的理解。用户界面并不是越炫酷就越好的。要追求极致简洁,返璞归真。要做到简单,有时候,往往更艰难。。而数据操作,并发量,权限控制等都是后端关注的。

    在对前端,后端有了一个初步的印象之后,接下来,实际开发中前后端是怎么协作的呢?一种方式是前后端开发之前预先定义好数据格式及变量的命名等,然后前端根据设计稿和预先的约定编写页面模板,将模板开发好之后,发给后端程序员。后端在拿到模板之后,操作数据库,用获取到的数据渲染模板生成html页面返回给浏览器。另一种方式是,前后端预先定义好数据格式,然后把数据以json或jsonp形式的接口暴露给前端,然后前端获取到数据之后,在前端进行模板的渲染。具体该使用哪一种方式,或是两种方式都使用,就需要根据具体的业务场景具体分析了。

    按照目前的开发模式,目前还无法完全的做到前后端分离。好的应用也都是在前端后端及设计师通力配合的结果。一方面为了降低工作中的沟通成本另一方面从提升工程师自身的开发素质从整体的全局的角度上认识web开发而不是前端开发或者后端开发而言,我们都不应该只局限于前端或后端。前端工程师也应该去了解些后端的知识,后端也应该去学一些前端的知识。在保证知识广度的前提下去拓展知识的深度。

    最后,正如文章开头说言,有一些功能,既可以放到前端来做,也可以放到后端来做。不同的实现方式,它的后期的维护成本以及性能往往不尽相同,有时候差别还很大。有的时候,我建议有些功能放到后端完成,并不是想减轻自己的工作量,而是考虑到这些因素之后得出的一个结论。开发当中,不可避免的会碰到一些问题、困难。我们不能因为难做而绕道采用两一种次一些的实现方案。正是因为有一些问题有困难,才有我们存在的价值。当然,一切的一切都是建立在我们每个程序员自身的基础素质之上的。。