有點不太明白web和api方式的真正區別,
只是覺得web方式是對應前端用瀏覽器呈現,而api是對應手機/平板用app呈現
而且,web方式可以自然輕鬆地維護狀態(session, cookie),而api無狀態,但是可以人為地用token維持狀態。
不知道這種認識是否正確? 【問題1】
api方式有ajax問題嗎? 【問題2】
用laravel一點點做了一個網站的簡陋雛形(自然是web方式),考慮未來開發相應的手機/平板app前端,這個時候我想,能不能去掉所有的web方式訪問,無論是瀏覽器還是app都透過api的方式連接後端(服務端),這樣一來,我就不用開發web方式的後端,只要開發api方式的後端就行了。
這樣做可行嗎? 【問題3】
這樣做容易實現嗎? 【問題4】
這樣做是否是產業通行做法? 【問題5】
先謝!
黄舟2017-05-16 16:49:25
問題1:基本正確。用token不能算維持狀態,只是一個臨時的訪問令牌而已。
問題2:後端API並不關心前端是不是ajax,畢竟ajax只是web的技術,而API可以接收各種類型的HTTP請求。 web的ajax唯一要注意的是跨域問題。
問題3:當然可行,這就是典型的前後端分離web開發。
問題4:容易,前端和後端可以完全獨立開發,只需要API介面約定好。
問題5:其實已經通行很久了,不過你能獨立悟出這一點也是不錯的。
怪我咯2017-05-16 16:49:25
關於pc端與app端公用同一套代碼api實現的問題,有好處也有不好的地方,因為app受界面的限制,呈現的內容與pc應該還是有區別的,所以分開維護實現比較好,當然也有不好的地方,就是程式碼修改起來就要修改兩個地方,所以還是看自己的綜合考量
曾经蜡笔没有小新2017-05-16 16:49:25
我覺得如果產品服務需要衍生到很多平台,那就用API的方式開發。而且是各平台的功能、內容都高度耦合。
如果是網站功能很繁多、經營以網站為主,而APP簡化了很多,這時候也可以獨立給APP做個API,網站還是用傳統的方式開發效率高一點。