什么是前端?
前端代码在浏览器运行,后端代码在服务器运行。
前后端不分时代
互联网发展的早期,前后端开发是一体的,前端代码是后端代码的一部分。
1.后端收到浏览器的请求
2.生成静态页面
3.发送到浏览器
后端MVC的开发模式
那是的网站开发,采用的是后端MVC模式。
- Model(模型层):提供/保存数据
- Controller(控制层):数据处理,实现业务逻辑
- View(视图层):展示数据,提供用户界面
前端只是后端MVC的V。
MVVM模式
另一些框架提出MVVM模式,用View Model代替Controller。
- Model
- View
- View-Model:简化Controller,唯一作用就是为View提供处理好的数据,不含其它逻辑。
Angular
Google公司推出的Angular是最流行的MVVM前端框架。
它的风格属于HTML语言的增强,核心概念是双向数据绑定。
Vue
Vue.js是现在很热门的一种前端MVVM框架。
它的基本思想于Angular类似,但是用法更简单,而且引入了响应式编程的概念。
前后端分离
- Ajax -> 前端应用兴起
- 智能手机 -> 多终端支持
两个原因,导致前端开发方式发生根本的变化。
前端不再试MVC中的V,而是单独的一层。
Node
2009年,Node项目诞生,它是服务器上的JavaScript运行环境。
Node = JavaScript + 操作系统API
Node的意义
- JavaScript成为服务器脚本语言,与Python和Ruby一样
- JavaScript成为唯一的浏览器和服务器都支持的语言
- 前端工程师可以编写后端程序了
前端开发模式的根本改变
- Node环境下开发
- 大量使用服务器端工具
- 引入持续集成等软件工程的标准流程
- 开发完成后,编译成为浏览器可以运行的脚本,放在CDN
全栈工程师
前端工程师正在转变为全栈工程师
- 一个人负责开发前端和后端
- 从数据库到UI的所有开发
全栈技能
怎样才能称为全栈工程师?
- 传统前后端技能:HTML、CSS、JavaScript
- 一门后台语言
- 移动端开发:IOS/Android/HTML5
- 其他技能:数据库、HTTP等等
软件行业的发展动力
历史演变:前后端不分 -> 前后端分离 -> 全栈工程师
动力:更加产业化、大规模的生产软件
- 效率更高
- 成本更低
通用型好、能够快速产出的技术最终会赢,单个程序员的生产力要求越来越高。
H5就是一个最好的例子
为什么H5技术会赢得移动端?
- 开发速度快:Native需要重新编译才能开到结果,H5是及时输出
- 开发成本低:Native需要两个开发团队,H5只要一个
- 快速开发:安卓Native新版本需要24小时,IOS需要3~4天,H5可以随时更新
未来软件的特点
- 联网
- 高并发
- 分布式
- 跨终端
现在基于Web的前端技术,将演变为未来所有软件的通用的GUI解决方案。
未来只有两种软件工程师
- 端工程师
- 手机端
- PC端
- TV端
- VR端
- ……
- 云工程师
网友评论