后端API长什么样?
开放平台其实都是开放API, 那么API又是什么呢?简单理解就是url,就是增删改查, 之前说过的就是前端/移动端对后端的数据请求,攻与受。
先看看API长什么样。
- htttp://www.hellojack/ : 主页,默认是登陆页面
- http://www.hellojack/user/add :用户,增加
- http://www.hellojack/user/delete :用户,删除
- http://www.hellojack/user/update :用户,修改
- http://www.hellojack/user/search :用户,查询
完整的API是这样的,很长是吧,所以API文档是声明前缀,然后把http://www.hellojack.com前缀略去。
介绍下API调用的method姿势吧,有四种姿势,post(增)、get(差)、put(改)、delete(删),这个规范叫Restful化,规范是规范,怎么使用又是另一回事了,常用的是post(增删改)和get(改)。
Node.js
这里以Node.js为例,编写后端,因为它比较简洁,一句代码就可以启动web服务器。
说明下Node.js和Js的关系,Node.js和Javascript有着本质的区别,是平台环境和创业者的关系,Javascript本身一直在浏览器沙盒里生活运行着。有一天,有一帮黑客比赛项目中创造了一个新环境(Node.js),它让Javascript可以跳出浏览器沙盒,也可以干后端(Java\php)的事,还可以开发PC端(跨windows、mac、linux多平台)。
Node.js也是个全能型语言,前后端都可以。看下Node.js开发的pc应用,slack也在其中。
Node.js开发的后端
扯远了,回到后端开发,下面是Node.js服务端代码,代码很少。
var express = require('express'); //Node.js实现的web服务器
var app = express(); //生成一个
app.get('/', function (req, res) { //这里,今天的重点,这个就是API
res.send('首页(登陆页)')
})
app.post('/user', function (req, res) { //这里,今天的重点,这个就是API
res.send('小明') //获取用户
})
app.post('/user/update', function (req, res) { //这里,今天的重点,这个就是API
res.send('小明') //获取用户
})
var server = app.listen(8081, function (req, res) {
console.log("hello world")
})
火车票代售点
小奈:什么是开放平台?
大仁:你买过火车票么?
小奈:买过
大仁:在哪里买的?
小奈:最开始在火车站买的,后来发现附近有代售点,就在代售点买。
大仁:是吧,平台开放的目的就是用户方便,火车站卖票卖不过来啊,尤其逢年过节的时候,大冬天的大排长龙。代售点和火车站合作,售票压力下降,用户也方便。
开放平台
大仁:有没有发现现在很多app都有IM和地图功能?
小奈:是啊,那不是很简单么?
大仁:如果没有地图和IM开放平台 ,那是根本可能实现的,这两个都是大工程,光是地图数据采集就难以想象。
大仁:你看满大街都是共享单车,他们肯定要基于地图来实现定位吧。所以你会看到xx地图上可以使用共享单车,肯定要合作的。照理来说应该xx地图来做这个单车的事,但是地图背后要做的事太多,所以开发平台是一种趋势,也是一种生态哲学。
商业&生态
上次提到小程序,小程序其实就是应用分发入口,相当于app store、小米/华为/应用市场,这就威胁到他们的应用分发生态了,所以苹果也曾有过“封杀”警告,国内的安卓厂商也结盟推出了类似服务,小米有一个“一键直达”服务开放平台,直接在应用商店里,
所以小米也提出了“一键直达”