好久没更新这个系列的文章啦,因为最近各种琐碎事哎。挺长一段时间没有学习了,停了这么久,好像只有一个收获,我上了报纸了哈哈,虽然远没有记者写得那么夸张,但拿出来炫耀下应该没事吧^_^http://e.hznews.com/paper/hzrb/20140228/A9/4/ 哈哈,进入正题:
好久没更新这个系列的文章啦,因为最近各种琐碎事哎。挺长一段时间没有学习了,停了这么久,好像只有一个收获,我上了报纸了哈哈,虽然远没有记者写得那么夸张,但拿出来炫耀下应该没事吧^_^http://e.hznews.com/paper/hzrb/20140228/A9/4/
哈哈,进入正题:
和数据库say goodbye,并不是说,不去使用数据库了。而是换一种方式来存储和访问“持久型”数据。
接下我想写的这种方式,是使用一个bmob公司开发的“移动后端服务平台”,简单说就是,让开发者把重点放在移动应用前端代码(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岁小宝宝布鞋,程序猿们有宝宝的支持下哈^_^