前后端基本架构

  • 简介
  • 前端
  • 前后端交互
  • 后端

简介

本文将简要介绍一下我所使用的前后端基本框架,只是为了后续做小项目时有较好的大局观,每个部分的实现都有非常多的坑,之后的文章会详细介绍每一个部分的源码和使用方式,以一个简单的个人博客为样例,一个坑一个坑的填,敬请期待。

将会用到的技术汇总:
React
Redux
React-redux
React-router
Redux-thunk
Webpack
Javascript ES6
AJAX
python
ORM(Object Related Mapping)
MySQL

目前的前后端架构非常繁多,各有优劣,这里只会讲解我比较喜欢的框架。
MVC(Model+View+Controller)是一种非常流行的框架概念,主要的思想就是降低各个工作模块之间的耦合度,方便未来的拓展和代码重用。其中,
模型层(Model)是用来存储应用所需的数据,可以定义特定的读写规则,统一管理数据。
控制器层(Controller)是应用的业务逻辑所在地,是整个应用的大脑。
视图层(View)是用来展示数据,能够把已有的数据转换为特定的界面,方便与用户交互
三者之间如何运转取决于框架的具体设计。

前端

我所选用的前端框架是React+Redux,如下图所示

前后端基本架构_第1张图片

React是View层,负责根据state渲染出页面,同时也会根据监测用户的输入dispatch actions。State是Model层,负责存储整个应用的state,每当有所变化时,会通知react重新渲染界面。

前后端交互

我比较喜欢的是前后端分离,基本结构如下:

前后端基本架构_第2张图片

浏览器不关心Server如何拿到数据,只要知道约定的API可以获取到想要的数据即可,而Server也不关心浏览器如何使用数据,只要根据约定的API返回数据即可。这里需要了解ajax,这是两者交互较为常用的方式。
Server API可以有两种形式,一种是把约定的API名字放到url上传给server,server解析url执行API并返回结果;另一种是把API作为参数的一部分传递给server,server读取参数时顺便读取到了API的名字。两种方式都不错,可以任意选用。

后端

后端逻辑主要是和数据库交互,如果是服务器集群的话会更复杂一些。

后端框架

选用ORM与数据库交互是为了不需要每次都编写SQL来访问数据库。后端语言种类较多,我比较喜欢用python,因为网络爬虫,机器学习的相关代码我都是使用python来编写。当然,现在比较火的nodejs也可以实现server端使用javascript,统一前后端的语言,这样可以复用更多的代码。

你可能感兴趣的:(全栈之路-从零单排)