Web全栈开发:从入门到实战
上QQ阅读APP看书,第一时间看更新

1.4 什么是前端、后端和全栈

全栈是Web开发技术的总称,简单来说,以客户端程序为主的开发称为前端开发,以服务器端程序开发为主的称为后端开发。因此,很容易知道,全栈开发人员必须既熟悉前端开发技术,又掌握后端开发技术。

1.4.1 吸引用户的前端

Web应用的“前端”其实是指开发的程序能够在浏览器中解析和运行。这些程序可以实现网页内容的添加和设计,包括文字、图片、视频以及各种不同内容的布局,还包括一些动态效果,比如发表评论、倒计时等。这些功能的实现是由浏览器解析、处理、渲染相关HTML、CSS,JavaScript代码后呈现出来的。前端开发的目标之一就是要让网页足够漂亮,吸引更多人来使用。

随着网页的流行,网站仅仅作为浏览信息的功能就不够用了,于是人们希望在网页上与网站产生交互,比如发表日志和评论,还可以删除日志,单击实现网页上元素的动态变化等。这些主要是依靠浏览器对象技术(BOM),文档对象技术(DOM)和JavaScript,通过浏览器自带的解析器程序对这些代码进行解析。这就是前端开发的目标之二:注重与用户的交互,关注用户体验。

前端开发的主流技术包括HTML、CSS、BOM、DOM和JavaScript;除了这些基础的编程技术外,还有一些第三方的库和框架可以用于快速开发,比如Bootstrap、jQuery、Vue.js和AngularJS等。

1.4.2 数据为王的后端

Web应用的“后端”是指用运行在后端服务器上的程序,通常用来针对前端程序发出的请求,做出回应,比如“反馈是否登录成功”,还可以是管理前端用户查询的数据(比如京东商城的商品),以及用户自己产生的数据,比如用户名、文章、评论等。这些主要依靠后端服务器技术(如PHP)和数据库技术,让用户能够与数据库打交道,主要通过Apache服务器、后台服务器解析器、数据库管理器来实现。因此,后端开发的最重要的目标之一就是管理数据,另一个目标则是实现网页内容的动态更新。

后端开发的主流技术包括服务器端脚本语言PHP、Node.js、Python、JSP和ASP.NET,以及数据库技术MySQL、SQLServer和Oracle。后端开发也有一些框架,比如MongoDB和Express。

1.4.3 综合型全栈及案例分析

全栈最初是由Facebook的工程师提出的,单纯从程序开发的角度来说,就是开发人员承担包括前端和后端在内的所有功能的开发任务。下面结合具体案例,让我们分别来看看前端开发、后端开发以及全栈技术可以实现什么样的网站。

1.前端应用案例

前端的应用十分广泛,我们作为消费者所有在互联网上打开的网页都属于前端应用。如果你有网购经验的话,京东一定不陌生。我们以京东首页为例,可以看到其首页包含页面间的导航和左侧分类列表,以及中间的图片轮播效果和右侧的图文列,这些网页的内容和排版都可以通过前端技术实现。一般来说,网站的前端是服务于广大用户浏览网站,用户主要浏览网页上的内容获取资讯、资源等。

2.后端应用案例

后端开发的重点是管理数据,因此,纯后端开发的案例常常是某后台管理系统,比如一个博客管理后台系统,它主要是对博客相关的数据进行管理,比如文字、图片、影音和其他日常使用文件的发布、更新、删除等操作,同时也包括用户信息、留言信息、流量信息的统计和管理。简单来说,该系统就是对数据库中的数据和文件的操作和管理,以使得面向大量消费者用户的前端网站内容得到及时更新。一般来说,网站的后端只是由少数具有管理员权限的人可以使用,他们主要负责管理数据的更新和删除,以及一些统计工作。

3.全栈应用案例

全栈应用其实你一点儿都不陌生,现在很多网站都会允许用户主动修改和添加网页中的数据和信息,这些网站都属于这一类。因此,一些具有复合型功能的网站都采用前端和后端结合的方式,让网站实现包括评论功能、下单功能、关键词搜索功能。为什么说这些网站是全栈技术实现的呢?因为它不仅能够实现前端技术的目标:关于网页内容的布局和用户的交互,比如整个页面的布局,通过按钮的单击实现型号的选择和加入购物车等功能。另外,关于商品的价格、评价数量、版本、型号等描述数据,都是通过访问相关的数据库才得知的。这种类型的网站是前端和后端的一个综合体的呈现,也就是全栈的体现。

总结一下,前端更偏重于界面和内容的设计,后端则更侧重于对数据的操作和管理。从界面来看,前端页面和后端页面开发重点不同:前端要求页面漂亮,给用户提供良好的交互性;后端界面则要简洁便利,把功能和查询信息显示在同一页面。现在大多数网站,比如京东和新浪网都是前端和后端的结合。其中,前端负责网页内容的展示,后端负责数据的动态查询与更新,这就必须依靠全栈开发技术才能得以实现。

至此,本书的重点已经非常明确,就是希望带你去体会如何开发与实现一个“全栈”型的网站。简单来说,所有关于向用户展示的网页内容,由前端负责,而关于需要后端服务器给出响应消息以及数据库查询结果的,则要依靠后端技术,通过前端和后端的配合,你才能搭建一个Web全栈应用。