数据库
就是存放数据的仓库,
为什么要分个前后端出来呢?
有三个原因
- 第一,数据需要集中储存.
- 我发个动态,如果只保存在我的手机上,那你们怎么看,所以,要保存在服务器的数据库上,让你们一上线查询,服务器数据库,就能看到我的动态了.
- 安全
- 前端的代码所有人是可以看到的,如果前端直接连数据库的话,那数据库密码,岂不是相当于贴在脑门上,人家想干啥干啥,所以,一般都是后端开启一个服务,公开一个 网络地址,这个服务的名词,叫做API应用编程接口,他会判断前端发过来,不同的网络请求数据,分别调用对应的函数或其他服务,这些函数根据传来的参数,去操作数据库进行处理,这样一来,前端只发送固定的参数,接收结果的数据,用户再通过不同的API接口,完成各种数据功能的同时,你不会知道你内部具体的代码是怎么样的,就很安全.
- 权限管理
- 软件之所以有破解版,要么是故意不防,要么就是实现功能不走一圈后端,破解,就是把前端代码里判断vip的部分给改掉,就可以用了,而如果所有的功能由后端实现,后端每次都会查一下在我的数据库里,你到底是不是vip,不是的话,我就不返回相关的数据,就不可能破解了对吧,在线应用和游戏无法破解,就是这个原因,同样的道理,也适用于企业管理软件,等需要鉴别用户权限的产品.
前端
前端就是用户的设备,你的电脑,手机手环屏幕之类的,给这些设备开发浏览器,网页,app,小程序之类的就叫前端开发,主要的工作内容就是处理用户界面,和交互逻辑,行业内都是大前端概念包含所有,
浏览器
-
localStorage
本地储存,最常用
-
sessionStorage
会话储存,存短期数据
-
cookie
跨网站使用,逐渐废弃
-
indexedDb
浏览器的一个简易数据库
小程序
-
wx.setStorage
和浏览器一样
app
- ReactNative的AsyncStorage
- weex的storage
- 不同框架有不同的函数,如electron框架的electron-store
pc
- 不同的框架有不同的函数
其他环境看各自的文档,原理都差不多
前后端交互
前端根据用户的行为执行不同的函数,通过网络函数请求服务器地址API,后端接收到请求数据后,根据参数执行对应的函数,这些函数可能会操作数据库,并发送回前端执行结果数据,前端收到数据后进行相应操作,然后再接着循环不断.
后端
后端就是服务器,网络数据库之类的,运行在服务器上的程序就叫服务,英文是sever,服务主要的作用就是处理数据库和安全之类的