JavaScript 全栈工程师培训教程–学习笔记(1)
前端开发的历史和趋势
前后端不分的时代
前端代码是后端代码的一部分。
wmh: 那个时候初学JavaEE, 前端的代码包含在工程中,由servlet处理输出给浏览器
后端 MVC 的开发模式
前端只是后端 MVC 的 V。那时的前端工程师,实际上是模板工程师,负责编写页面模板。
wmh: 后来做的大型JavaEE工程,使用struts2等框架,基本上是这样,页面中有很多占位符。
Ajax
Ajax 技术诞生,改变了一切。前端不再是后端的模板,可以独立得到各种数据。
wmh: 原来并不知道Ajax对前端意味着这么大的变化,也没有体会到。
Web 2.0
Ajax 技术促成了 Web 2.0 的诞生。
- Web 1.0:静态网页,纯内容展示
- Web 2.0:动态网页,富交互,前端数据处理
wmh: 原来2.0是这样子。
前端 MVC 框架
前端通过 Ajax 得到数据,因此也有了处理数据的需求。
前端代码变得也需要保存数据、处理数据、生成视图,这导致了前端 MVC 框架的诞生。
- 2010年,Backbone.js
wmh: 学习前端 MVC 框架—Backbone.js(Backbone 只有 M 和 V,没有 C) wmh: 看不懂(2016/11/28)
SPA
SPA = Single-page application 2010年后,前端工程师从开发页面,变成了开发”前端应用“(跑在浏览器里面的应用程序)。
wmh: SPA原来是一个概念,一个提法。
MVVM 模式
另一些框架提出 MVVM 模式,用 View Model 代替 Controller。如Angular、Vue
wmh: 学习Vue、Angular。
前后端分离
- Ajax -> 前端应用兴起
- 智能手机 -> 多终端支持
这两个原因,导致前端开发方式发生根本的变化。
前端不再是后端 MVC 中的 V,而是单独的一层。
wmh: 意思是前端包含iOS、Android?
REST 接口
前后端分离以后,它们之间通过接口通信。
后端暴露出接口,前端消费后端提供的数据。
后端接口一般是 REST 形式,前后端的通信协议一般是 HTTP。
wmh: 我接触的一直是这样,还有其他方式?
Node
2009年,Node 项目诞生,它是服务器上的 JavaScript 运行环境。
Node = JavaScript + 操作系统 API
Node 的意义
- JavaScript 成为服务器脚本语言,与 Python 和 Ruby 一样
- JavaScript 成为唯一的浏览器和服务器都支持的语言
- 前端工程师可以编写后端程序了
wmh: 也许swift马上就可以了
前端开发模式的根本改变
- Node 环境下开发
- 大量使用服务器端工具
- 引入持续集成等软件工程的标准流程
- 开发完成后,编译成浏览器可以运行的脚本,放上 CDN
wmh: 这个只有前端团队才能体会到,没这个机会