魏名华

不要偷懒,做更好的自己

Nothing


No Welcome Message

Javascript 全栈工程师培训教程 学习笔记(1)

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: 这个只有前端团队才能体会到,没这个机会