后端API長什么樣?
開放平臺其實都是開放API, 那么API又是什么呢亡蓉?簡單理解就是url,就是增刪改查喷舀, 之前說過的就是前端/移動端對后端的數(shù)據(jù)請求砍濒,攻與受。
先看看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調(diào)用的method姿勢吧待诅,有四種姿勢,post(增)熊镣、get(差)卑雁、put(改)募书、delete(刪),這個規(guī)范叫Restful化测蹲,規(guī)范是規(guī)范莹捡,怎么使用又是另一回事了,常用的是post(增刪改)和get(改)弛房。
Node.js
??這里以Node.js為例道盏,編寫后端,因為它比較簡潔文捶,一句代碼就可以啟動web服務器荷逞。
??說明下Node.js和Js的關系,Node.js和Javascript有著本質(zhì)的區(qū)別粹排,是平臺環(huán)境和創(chuàng)業(yè)者的關系种远,Javascript本身一直在瀏覽器沙盒里生活運行著。有一天顽耳,有一幫黑客比賽項目中創(chuàng)造了一個新環(huán)境(Node.js)坠敷,它讓Javascript可以跳出瀏覽器沙盒,也可以干后端(Java\php)的事射富,還可以開發(fā)PC端(跨windows膝迎、mac、linux多平臺)胰耗。
??Node.js也是個全能型語言限次,前后端都可以〔竦疲看下Node.js開發(fā)的pc應用卖漫,slack也在其中。
Node.js開發(fā)的后端
??扯遠了赠群,回到后端開發(fā)羊始,下面是Node.js服務端代碼,代碼很少查描。
var express = require('express'); //Node.js實現(xiàn)的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")
})
火車票代售點
小奈:什么是開放平臺?
大仁:你買過火車票么忙灼?
小奈:買過
大仁:在哪里買的匠襟?
小奈:最開始在火車站買的钝侠,后來發(fā)現(xiàn)附近有代售點,就在代售點買酸舍。
大仁:是吧帅韧,平臺開放的目的就是用戶方便,火車站賣票賣不過來啊啃勉,尤其逢年過節(jié)的時候忽舟,大冬天的大排長龍。代售點和火車站合作淮阐,售票壓力下降叮阅,用戶也方便。
開放平臺
大仁:有沒有發(fā)現(xiàn)現(xiàn)在很多app都有IM和地圖功能泣特?
小奈:是啊浩姥,那不是很簡單么?
大仁:如果沒有地圖和IM開放平臺 状您,那是根本可能實現(xiàn)的勒叠,這兩個都是大工程,光是地圖數(shù)據(jù)采集就難以想象膏孟。
大仁:你看滿大街都是共享單車眯分,他們肯定要基于地圖來實現(xiàn)定位吧。所以你會看到xx地圖上可以使用共享單車柒桑,肯定要合作的弊决。照理來說應該xx地圖來做這個單車的事,但是地圖背后要做的事太多幕垦,所以開發(fā)平臺是一種趨勢丢氢,也是一種生態(tài)哲學。
商業(yè)&生態(tài)
上次提到小程序先改,小程序其實就是應用分發(fā)入口疚察,相當于app store、小米/華為/應用市場仇奶,這就威脅到他們的應用分發(fā)生態(tài)了貌嫡,所以蘋果也曾有過“封殺”警告,國內(nèi)的安卓廠商也結盟推出了類似服務该溯,小米有一個“一鍵直達”服務開放平臺岛抄,直接在應用商店里,
所以小米也提出了“一鍵直達”