Node应用开发
Node是服务器的JavaScript运行环境,提供API与操作系统互动。
Node意义
- JavaScript 成为服务器脚本语言,与 Python 和 Ruby 一样
- JavaScript 成为唯一的浏览器和服务器都支持的语言
- 前端工程师可以编写后端程序了
前端开发模式的根本改变
- Node环境下开发
- 大量使用服务器端工具
- 引入持续集成等软件工程的标准流程
- 开发完成后,编译成浏览器可以运行的脚本,放上CDN
全栈工程师
- 前端工程师正在转变为全栈工程师
- 一个人负责开发前端和后端
- 从数据库到 UI 的所有开发
REST接口
前后端分离以后,他们之间的通过接口通信。
后端暴露出一个接口,前端消费后端提供的数据。
后端接口一般是REST形式,前后端的协议一般是HTTP.
REST API
REST 是浏览器与服务器通信方式一种设计风格。
它的全称是“REpresentational State Transfer”,中文意思为“表现层状态转换”。
+ Resouse : 资源
+ Representation : 表现层
+ State : 状态准换
+ Transfer : 转换
REST 核心理念
- 1.互联网上的所有可以访问的内容,都叫资源。
- 2.服务器保存资源,客户端请求资源。
- 同一个资源,有多种表现形式。
- 协议本身步带有状态,通信时客户端必须通过参数,表示请求不同状态的资源。
- 状态转换通过HTTP动词表示。
URL设计
- URL是资源的唯一识别符。
- /store/1
- /store/2
- /store/1/employee/2
查询字符串
查询字符串表示对所请求资源的约束条件。
+ GET/zoos/1/animals?limit=10
+ GET/zoos/1/animals?limit=10&offset=10
+ GET/zoos1/animals?zoo_id=1
HTTP动词
操作 | SQL方法 | HTTP动词 |
---|---|---|
Create | Insert | POST |
Read | Select | GET |
Update | Update | PUT/PATCH |
Delete | Delete | Delete |
软件行业的发展动力
历史演变: 前后端部分 -> 前后端分离 —> 全栈工程师
动力:更加产业化,大规模地生产软件
+ 效率更低
+ 成本更低
通用性好、能够快速产出的技术最终会赢,单个程序员的生产力要求越来越高。
未来只有两种软件工程师
- 端工程师
- 手机端
- PC端
- TV端
- VR端
- 云工程师