在百度开放云平台上构建Web App

标签: 百度 开放 平台 | 发表时间:2012-06-23 08:00 | 作者:[email protected] (秩名)
出处:http://www.kuqin.com/jingyan/

酷勤网 � 程序员的那点事!

在3月23日的百度开发者大会上,百度推出了开放云计算平台来帮助开发者构建分布式网络应用。它包括云存储、云环境、关系服务、消息服务等组成部分,开发者可以利用云平台方便的编写分布式网络应用,无需考虑集群扩容、负载均衡等问题。

百度开放云平台的优点包括:

1、 容量大:云存储支持最高2T的单文件数据容量;个人云存储用户存储初始空间高达15G,无上限。

2、 多语言支持:支持PHP和Java,后继支持Python。

3、 功能全面:包括fetchurl、task queue、sql、memcache,提供监控和日志等服务。

4、 使用方便:可通过SVN或者在线编辑器编辑代码,另外目前还有Eclipse插件,未来将支持本地开发环境。

5、 稳定:百度的服务稳定可依赖。

下面我将先介绍如何使用百度开放云平台,然后结合百度开放API和HTML5来构建一个简单的移动Web App。

需要注意的是,现在百度开放云平台只向收到邀请码的开发者开放,未来会面向广大开发者开放。

百度开放云平台之云环境(百度应用引擎-Baidu App Engine)

云环境可以帮助我们搭建各种Web服务。

首先打开 http://yun.baidu.com,点击登录按钮登录百度帐号。有权限的用户会看到下面的界面。

点击进入管理后台,选择云环境-我的应用-创建应用。

填写表单内容,选择所需的语言环境,提交。可以看到我们的应用创建成功了。

点击版本管理,进入应用信息页面之后点击创建新版本,并输入版本号,创建新版本。

版本创建成功后我们可以用多种方式来管理代码:

1) 在线管理:点击编辑代码,进入在线管理界面。在如下界面里我们能自由添加、修改代码。

2) SVN管理:我们可以通过应用信息页面里的SVN地址进行连接,通过SVN方式管理代码。请注意,SVN用户名、密码和你的百度帐号相同。

作为示例,我们在在线管理页面里修改index.php的代码为“echo ‘Iam Jiangyujie.’”。然后点击应用信息页面里版本前面的当前版本选择框,使版本生效。

此时,我们访问应用对应的域名即可看到index.php的输出。

百度开放云平台之云存储(Baidu Personal Cloud Storage)

云存储可以放置用户的各种文件,例如实现网盘、相册等。

在开放云平台管理后台里点击左侧的云存储,进入我的Bucket界面,然后选择创建Bucket(你可以把它想成一个桶,用来存放你的文件;你可以拥有多个独立分隔的桶)。输入Bucket名称,并选择所需的存储容量、流量、请求数,确定完成。

创建成功后,在Bucket列表里双击进入所需要的桶。在里面我们可以看到上传文件选项。

作为示例,我们上传一个测试文件test.htm,文件内容为“Yujie test bae.”。

上传完毕后,我们如果要访问这个文件,必须经过URL签名。点击左侧的菜单进入URL签名,填写Bucket名和Object分别为“test-bucket”和“/test.htm”。点击“Sign”后我们可以获得该文件四种HTTP协议下的URL地址。

我们使用第一个GET地址即可正常访问此文件。

百度开放云平台之Web App

我在百度开发者大会上讲到的例子很有趣,现在我们使用HTML5、百度开放API以及云平台来搭建一个手机拍照签到上传的应用。

1、 地理定位

地理定位使用HTML5的GeolocationAPI获取经纬度,关键代码如下:

[html] view plain print ?

  1. if(navigator.geolocation){
  2. navigator.geolocation.getCurrentPosition(displayLocation,displayError);
  3. }

经纬度转换为实际地理位置我们用百度地图开放API,需要引用相应的包。

[html] view plain print ?

  1. <scriptsrcscriptsrc="http://api.map.baidu.com/api?v=1.3"type="text/javascript"></script>
  2. 我们在上面getCurrentPosition的参数方法里调用百度API,代码如下。
  3. functiondisplayLocation(position) {
  4. getAddress(position.coords.longitude,position.coords.latitude);
  5. }
  6. functiongetAddress(lon, lat) {
  7. var map = newBMap.Map("container");
  8. // 创建地理编码实例
  9. var myGeo = new BMap.Geocoder();
  10. // 根据坐标得到地址描述
  11. myGeo.getLocation(new BMap.Point(lon,lat), function(result){
  12. if (result){
  13. document.getElementById("locationData").innerHTML= result.address;
  14. }
  15. });
  16. }

2、拍照上传

关于拍照上传的部分已经在《 如何使用HTML5实现拍照上传应用》一文中有描述,不再详细解释。

我们完成的代码包括前端实现拍照和定位的index.html以及后台接收图片和地理位置信息的upload.php,放置到云环境中即可生效。

3、效果查看

我们在手机上用支持HTML5Geolocation和The Media Capture API的浏览器(例如最新的 OperaMobile)打开index.html的URL可查看到最后的效果。效果图如下:

总结

百度开放云平台非常强大,使用起来也很方便。中小开发团队可以使用百度开放云平台快速的构建各种稳定的服务和创新应用,迅速接入百度海量用户的需求。

正在加载推荐文章
月光博客:我对百度应用开放平台的看法
web app初学者使用Application Cache指南
开放平台App Store:APPLE树下吃苹果
无觅相关文章插件,快速提升流量

[ comments ]

相关 [百度 开放 平台] 推荐:

我对百度应用开放平台的看法

- chengdujin - 月光博客
  所谓百度应用开放平台,是基于百度“框计算”的信息技术与服务机制,针对用户需求,为广大站长和开发者免费提供的开放式数据分享暨对接平台. 开发者或运营商可以将应用直接提交到百度应用开放平台,并实现最佳位置和最佳形式的搜索结果直接展现.   平台目标:百度应用开放平台“有望建成一个新的生态体系”,把搜索框变成类似苹果AppStore这样的应用平台,提供应用和服务;对用户来说,有利于用户体验,帮用户节约时间.

在百度开放云平台上构建Web App

- - 酷勤网-挖经验 [expanded by feedex.net]
酷勤网 � 程序员的那点事. 在3月23日的百度开发者大会上,百度推出了开放云计算平台来帮助开发者构建分布式网络应用. 它包括云存储、云环境、关系服务、消息服务等组成部分,开发者可以利用云平台方便的编写分布式网络应用,无需考虑集群扩容、负载均衡等问题. 百度开放云平台的优点包括:. 1、 容量大:云存储支持最高2T的单文件数据容量;个人云存储用户存储初始空间高达15G,无上限.

百度阅读器正式发布 与阅读开放平台打通

- guangtao - cnBeta.COM
百度今日宣布正式推出其客户端领域的又一产品――百度阅读器,用户可通过安装,阅读百度阅读开放平台的信息. 据了解,该款阅读器除了注重用户体验,在功能进行完备之外,同时还将借助百度宽广的开放平台,打通阅读器客户端与阅读开放平台之间的联系. 从功能上看,百度阅读器包含了在线书库、我的书柜、文档阅读等模块,还兼容pdf、txt、word等多种常见电子阅览格式.

百度推出移动终端平台“百度易”

- Quantum - 月光博客
  在百度2011世界大会移动互联网分论坛上,百度移动终端平台“百度易”首度正式亮相,这一平台整合百度框计算、易商店、网盘、地图、掌上百度、阅读器服务,可与终端厂商分成,有传言称“百度易”或将作为百度手机操作系统的形态呈现.   据介绍,百度易平台类似手机操作系统,内置百度已有的包括“百度浏览器”、“百度身边”、“百度地图”等在内的无线互联网产品外,还包括易平台新推出的“易ting”音乐产品、“易阅”阅读产品、“易盘”云存储产品.

腾讯推出QQ开放平台Q+

- Wuvist - Solidot
慕容鱼吐的新闻泡 写道 "腾讯推出QQ开放平台Q+,宣称促进开放互联网. 网站的视频显示,Qplus提供的功能是将腾讯制作的一些Widget直接在桌面运行,腾讯很可能将该功能捆绑进QQ客户端.

腾讯的广告和开放平台

- Frank - It Talks--上海魏武挥的博客
数字世界中有两个公认为最大的开放平台,其一为谷歌,其二为Facebook. 前者在公开的财报中显示,有97%的收入来自广告. 后者则在向高盛提供的文件中表示:大部分收入来自在线广告. 这两个平台有一个非常重要的类似特征:它们都是广告平台——请注意,我并不是说是媒体平台. 谷歌和Facebook自己并不创造内容,它们是真正的平台角色:让信息供给者、广告供给者、信息消费者在自己的服务中云集,从中获取收益.

Open Graph:FB的开放平台瑰宝

- - 雷锋网
Facebook 之前推出的“ Like ”按钮曾一度获得广大用户的喜爱,一次简单的点击就能完成分享. 后续, FB将 Timeline 与 Open Graph 整合也是迎合用户对这种简单互动的喜爱,用户则可以通过各种应用以各种方式实现分享,而 Open Graph 的特别之处在于它能够自动分享用户正在浏览或播放的内容.

淘宝开放平台技术历程

- - CSDN博客推荐文章
注:文中所有的技术点都可以在 http://blog.csdn.net/cenwenchu79 找到详细的文章,同时本文主要介绍开放平台技术发展历程,产品和业务内容不涵盖在此,因此受众群体主要是技术人员.             2006年底,阿里巴巴提出了workat alibaba的战略,20来号人就被拉到湖畔花园马云的公寓里面开始一个叫阿里软件的公司创业.

ESB总线和能力开放平台

- - 人月神话的BLOG
上图是ESB企业服务总线和互联网Open API能力开放平台的一个简单对比. 对于在企业内部的服务集成和管控,由于需要面对企业内复杂的业务系统间集成和遗留系统适配,因此使用较多的仍然是ESB企业服务总线. 而对于互联网应用,更多考虑的是轻量和高性能,已经开发和接入的效率,当前使用较多的是类似Open API方式下的能力开放平台.

读物联网开放平台01(6.17)

- - 人月神话的BLOG
全书名为《物联网开放平台-平台架构、关键技术和典型应用》,准备2到3篇文章将关键内容整理下. 今天主要整理下本身的第1,2章,涉及到物联网概述,物联网体系基础技术方面的内容. 物联网:各种物通过各种传感类设备接入到互联网,建立物和物,物和人之间的连接和通信,以实现智能化识别,定位,监控和管理的一种网络.