在百度开放云平台上构建Web App
在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获取经纬度,关键代码如下:
if(navigator.geolocation){navigator.geolocation.getCurrentPosition(displayLocation,displayError);
}
经纬度转换为实际地理位置我们用百度地图开放API,需要引用相应的包。
<scriptsrc="http://api.map.baidu.com/api?v=1.3"type="text/javascript"></script>我们在上面getCurrentPosition的参数方法里调用百度API,代码如下。
functiondisplayLocation(position) {getAddress(position.coords.longitude,position.coords.latitude);
}functiongetAddress(lon, lat) {var map = newBMap.Map("container"); // 创建地理编码实例 var myGeo = new BMap.Geocoder(); // 根据坐标得到地址描述 myGeo.getLocation(new BMap.Point(lon,lat), function(result){ if (result){document.getElementById("locationData").innerHTML= result.address; } });
}
2、拍照上传
关于拍照上传的部分已经在《如何使用HTML5实现拍照上传应用》一文中有描述,不再详细解释。
我们完成的代码包括前端实现拍照和定位的index.html以及后台接收图片和地理位置信息的upload.php,放置到云环境中即可生效。
3、效果查看
我们在手机上用支持HTML5Geolocation和The Media Capture API的浏览器(例如最新的OperaMobile)打开index.html的URL可查看到最后的效果。效果图如下:
总结
百度开放云平台非常强大,使用起来也很方便。中小开发团队可以使用百度开放云平台快速的构建各种稳定的服务和创新应用,迅速接入百度海量用户的需求。
在百度开放云平台上构建Web App相关推荐
- 云上的云:AVOS Cloud在云平台上构建云服务的经验分享
2019独角兽企业重金招聘Python工程师标准>>> 云上的云:AVOS Cloud在云平台上构建云服务的经验分享 AVOS Cloud作为国内领先的云后端服务提供商,为移动应用开 ...
- 百度云api android,帮助文档首页/百度移动统计API/百度移动统计 Android版SDK - 百度开放云平台...
百度移动统计SDK 一.简介 百度移动统计SDK(Android)是百度官方推出的移动统计SDK在Android平台上的版本(以下简称SDK).SDK的发行版本(完整下载包为android.zip)中 ...
- 百度开放云java+tomcat部署web项目-小皇帝詹姆斯
添加部署 复制svn地址,在本地checkout出来,打包自己的web项目并改名为ROOT.war,svn提交上去后,点击快捷发布,发布成功后稍等1-3秒点击域名就可以直接访问自己的小项目啦! 项目结 ...
- 百度开放云·10大解决方案
百度开放云 在昨天结束的百度世界大会·开放云论坛上,百度开放云对外开放了六款通用解决方案,以及面向物联网领域.教育领域.大数据领域.移动互联网领域的四套行业解决方案. 网站及部署方案 结合百度生态专属 ...
- 百度开放云520深情告白开发者 9.9元尝新体验高调上线
五月堪称是品牌营销的黄金月,在劳动节和母亲节两个重要节点之后,又迎来了520--花样告白日,当然也是残忍的虐狗日.这一天情侣们尺度大开,各家品牌则脑洞大开,不过对于开发者而言,甜言蜜语和高调炫技永远比 ...
- 探秘百度开放云—数字媒体解决方案
百度开放云数字媒体解决方案,集合了多媒体转码MMT.对象存储BOS.内容分发网络CDN等云计算产品,提供对元视频进行存储.转码.多端设备适配.加密/版权管理.多节点分发等全流程一站式服务.用户使用百度 ...
- 百度开放云·网站及部署解决方案
百度世界大会·开放云论坛上,百度开放云共对外发布10套解决方案,覆盖建站部署.视频.图像.存储分发.大数据分析.移动APP以及数字营销.在线教育.物联网.政企等领域. 首先来剖析网站及部署解决方案! ...
- 百度开放云首席架构师徐串:架构师对架构的理解
百度开放云首席架构师徐串:架构师必须理解程序员的痛 时间 2016-05-18 13:19:49 CSDN 原文 http://geek.csdn.net/news/detail/74783 主题 ...
- 【百度开放云开讲啦】全民TV、罗辑思维、百度揭秘直播核心技术
启智创新 云领未来 7月30日,百度开放云全国巡讲北京站 正式开讲啦~ 现场照片 呃--光顾着盯茶点 差点错过了主持人的开场~ 认真听讲~认真听讲~ 至目前视频直播平台在全国近300家,直播用户近2亿 ...
最新文章
- 破解加密PDF文件pdfcrack
- python中的ord函数
- 当精准广告遇到大数据
- 计算机应用基础电大答案2015,2015电大形考计算机应用基础_Windows7操作系统_客观题(答案).doc...
- python怎么编程输入坐标_python编程之API入门: (一)使用百度地图API查地理坐标...
- TI-RTOS实时操作系统开发之功耗测试
- 英语笔记:写作:Nothing succeeds without a strong will
- ResNet改进版来了!可训练网络超过3000层!相同深度精度更高
- 高倍数泡沫装置PHP_移动式高倍数泡沫灭火装置
- Spring的事务管理难点剖析(1):DAO和事务管理的牵绊
- 1 在 Linux 下开机自动重启脚本(亲测)
- Identityserver4配置证书
- windows环境下面安装neo4j出错记录
- FTP 简介与 Windows 系统搭建 FTP 服务器
- SVN 错误中文对照
- linux chrome 缓存,Linux设置chrome缓存至内存,及开关机同步
- 【冈凡记录】阿冈与叶凡超女8进6决赛的全观察!
- 微信内置页实现自动拨号到页面的功能
- 深度丨详解 Amazon Go 三大核心技术
- python发微信红包_微信现金红包 python