好久沒更新這個系列的文章啦,因為最近各種瑣碎事哎。挺長一段時間沒有學習了,停了這麼久,好像只有一個收穫,我上了報紙了哈哈,雖然遠沒有記者寫得那麼誇張,但拿出來炫耀下應該沒事吧^_^http://e.hznews.com/paper/hzrb/20140228/A9/4/
哈哈,進入正題:
和資料庫say goodbye,並不是說,不去使用資料庫了。而是換一種方式來儲存和訪問“持久型”資料。
接下我想寫的這種方式,是使用一個bmob公司開發的“移動後端服務平台”,簡單說就是,讓開發人員把重點放在行動裝置 App前端代碼(web也支援)的編寫,而將資料庫、服務端邏輯交給雲平台處理。
有幾個好處:
1:跨平台。在PC端,我們使用http來發送和請求資料,無論.net還是php皆能使用。我一直的學習路徑,就是無視平台,只要某種東西是某平台專用的,比如asp.net的什麼控制項,我堅決不用,它會讓菜鳥產生依賴性。而這種跨平台強大到什麼程度!它可以讓你的安卓或IOS也可以來使用它(其實這方面才是優勢~~不是通過http,而是通過他們提供的開發包)。這樣可以簡單快速地實現PC端與移動端程式間的資料共用。
2:高速度,高速率。無需我們自己找資料庫伺服器,也無需我們來考慮查詢速率最佳化問題,這些都是服務商來做(伺服器在中國大陸)。在開發的時候,很多菜鳥是不能知道他設計的網站或程式在真實環境下的運行速度的。比如我現在測試的主機是在香港的,資料庫也是香港的,我本地程式連那個資料庫返回一些資料庫,真的超慢,簡單的需求功能都要好幾秒才返回,這真無法接受。
3:零成本。首先服務商的各種服務是免費和穩定的(也有針對企業收費的),也有較詳細的操作文檔,各種操作也基本沒什麼難度可言。
但也有些缺點:
1:基礎不好的菜鳥又想深入學習技術的就先不要搞這個,正統的資料庫概論什麼的要學好先。
2:比較適合移動開發,感覺不大適合那些有複製需求的使用者。
3:“資料庫”與“後台”分布在不同的伺服器,故PC端Web應用的速度可能會比較慢(我測試時處理資料不大,所以感覺還是挺快的)。比較適合於原生APP開發。
現在開始正式介紹這個產品。
上一節我們實現了QQ登入功能,這次我們把這些使用者資料存放區起來。
首先你要登入 http://www.codenow.cn/ ,建立一個應用,拿到屬於你自己的密鑰
在“資料瀏覽”處建立新的資料庫表和欄位:
查看開發文檔(我這裡以web開發執行個體): http://www.codenow.cn/docs.restful#REST API 快速入門
因為web這方面的文檔不是針對某個語言或平台來寫的,所以我也是測試還有諮詢客服挺久才弄了個大概,比如:
在.net就得這樣寫代碼:
string strData = "{\"value\":\"aaa\"}";//這裡的json資料就要根據你建立的表欄位 ASCIIEncoding encoding = new ASCIIEncoding(); byte[] byteData = encoding.GetBytes(strData); HttpWebRequest http = (HttpWebRequest)HttpWebRequest.Create("https://api.bmob.cn/1/classes/wish"); http.Headers.Add("X-Bmob-Application-Id:*******************"); http.Headers.Add("X-Bmob-REST-API-Key:*********************"); http.ContentType = "application/json"; http.Method = "POST"; http.ContentLength = byteData.Length; Stream send = http.GetRequestStream(); send.Write(byteData, 0, byteData.Length); send.Close();
其它資料操作方式也是大同小異了,有興趣的自己摸索下應該就會的。而雲端驗證的我還沒去測試,需要用到再說吧。
目前我在做一個項目,也是跟《和資料庫say goodbye》有關的,但不是使用這個平台。就算做完也還要一段時間來測試它的可行性,所以還需要挺長時間的吧。
最後宣傳下一號店的小店(藍貝璐寶寶鞋):http://shop.yhd.com/html/19810/ 專手工做0~3歲小寶寶布鞋,程式猿們有寶寶的支援下哈^_^