iVX入门教程:4.前台数据vs后台数据
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
前台数据是什么
每一个前端应用,都可以理解为前端数据与用户界面的集合。
用户界面,负责提供直接与用户交互的媒介,而前端数据,则是用户界面背后的实质内容,我们可以把这前端数据想象为各种存储在前端的excel表格。
比如,在一个点餐的应用中,用户界面负责将前端数据展示为菜单列表,当我们点餐时,我们又会通过界面,去改变前端数据。
我们使用一个前端应用的过程,可以理解为我们通过用户界面与应用的前端数据进行交互的过程。
因此,尽管我们无法直接“触碰”到前端数据,我们必须能够“认知”到它的存在,在任何应用的开发过程中,前端数据都是我们需要处理的核心对象。
临时VS持久化的前端数据
前端数据可以分为临时的前端数据与持久化的前端数据,临时的前端数据,在每次应用打开时,就会重新清零,仅在应用运行时有效;持久化的前端数据,会存储在客户端设备的存储设备中,在下一次打开应用时依然存在。
在开始应用开发之前,我们必
须对这两种数据的概念非常清晰。
在网页应用中,大多数数据都是临时的前端数据。
比如,打开百度,搜索一个内容,百度的页面会返回的一个搜索结果的列表,这个结果列表就是以“搜索结果内容”这个前端数据为基础来显示的。
此时,如果我们重新刷新浏览器,再次打开百度,之前的搜索结果就会清空了,我们必须再次搜索才能获取之前的列表。
每次搜索,其实就是我们的浏览器从百度服务器获取搜索内容数据后,通过用户界面显示出来的过程。
每次刷新浏览器,之前的搜索内容数据就会清空,必须重新获取。
网页应用中也存在持久化类型的数据,比如,登录iVX工具后,第二次刷新浏览器,我们依然在登录状态,不需要重新输入用户名密码。
这就是因为第一次登录工具之后,工具会存储你的用户身份令牌信息至浏览器,第二次刷新工具后,工具会自动用这个身份令牌信息去服务器换取你的用户信息。
浏览器存储用户身份信息的方式是cookie,可以理解为存储在浏览器内部的一个小文件,这个文件在刷新页面,或重新打开浏览器时,会依然存在。
由于浏览器的设计初衷是浏览互联网的内容,因此在浏览器中运行的网页应用的大多数数据都是临时数据,临时数据的好处是每次都是实时从服务端获取,内容可以实时更新。
比如,我们做了一个H5,更新发布之后,用户再次打开,就是最新的内容了。
但如果我们做的是一个手机APP,则需要用户重新手动下载更新并安装更新包。
为了提升用户体验,浏览器在发展的过程中也添加了持久化数据的存储方法,主要包括cookie,local Storage和session Storage,但这些存储方法并不能存储大量的数据,通常只是用来存储一些用户状态信息, 比如,用户的身份令牌,用户的浏览记录等等。
临时数据和持久化数据的概念很容易理解,但在真正开始应用开发时,初学者还是容易混淆这两个概念。
比如,我们做一个点赞的H5应用,很多初学者会直接使用一个前端的计数器组件,点击一个按钮,让这个计数器加1,每次点击按钮,赞数就加1,完美。
但我们会惊讶的发现,当我们重新刷新应用时,整个点赞数就归零了。
这个另人奔溃的结果,就是因为计数器只是一个前端组件,其依赖的数据也是前端临时数据,每次刷新浏览器,数据就清零了。
因此,需要制作点赞的效果,我们需要依赖后台数据。
后台数据是什么
后台数据,就是存储在应用服务端的数据。
与前端数据不同,我们处理的大多数后台数据,都是持久化的数据,即不会随着应用的刷新或重启而清零的数据。
这些持久化的数据,基本上都是存储在“数据库”中。
“数据库”是我们经常听到的一个名词,它的英文是data base,因此,我们也经常会称之为“DB”,请记住DB或db这个简称,我们之后会经常和它打交道。
比如,在iVX工具中,数据库组件的图标也是以
DB来命名的:。
数据库本质上是在后台服务器运行的一个数据管理程序,可以用来存储,修改,查询数据。
我们可以把它想象成安装在远程服务器的一个excel软件。
当然,在后台运行的数据库管理程序不是excel,而是mysql,mariaDB,redis,mongoDB,cassandra, oracle等等各种不同的数据库管理程序(我们称它们为DBMS,database management system,即数据库管理系统),它们本质上和excel是一样的,只是拥有更强大的数据处理功能而已。
数据库中存储的数据,提供了每个应用的公共的数据基础。
以我们之前提到的点赞应
用为例,如果我们将点赞数量这个数据,存储在前端,无论是临时前端数据还是持久化的前端数据,其都不能在不同的客户端之间共享。
比如,我们将点赞数量存储在浏览器的cookie里,成为一个持久化的前端数据。
这样,我们再次打开应用,这个赞数依然存在。
但是,如果换一个用户打开应用,他的浏览器里并没有之前存储的cookie,因此,他看到的赞数依然是0。
因此,前端数据,无论是临时的还是持久化的,都是存储在每个客户端设备中的,设备与设备之间的前端数据是不共享的。
但后台数据,由于是存储在服务端,而每个应用的后台服务端是统一的(都是在远程机房中的那几台服务器电脑),因此,可以实现不同客户端之间的数据共享。
在点赞的例子中,我们如果使用后台数据来存储赞数,就可以实现不同的客户端设备之间共享这个赞数数据,并修改这个数据(点赞触发赞数加1)。
后台的临时数据
尽管大多数的后台数据都是数据库中的持久化数据,我们在搭建后台服务的时候,依然会涉及到临时数据,即在后台计算中临时存储的中间状态的数据。
我们可以把它们理解成后台服务器在计算过程中的“草稿”。
我们在学习后台服务搭建时,会详细来讲临时数据的作用。