在2013年8月“百度世界”大会上百度发布了轻应用,并引起了热烈的讨论,再一次把Webapp和Native的讨论推向一个高潮,据了解,轻应用除了通过搜索解决了Native需要下载和无法破壳访问的问题外,还有一个很重要的特性就是“媲美和超越Native的体验”,大家都知道,目前Webapp的体验是输给Native的,为什么呢?很重要的一个原因就是Webapp无法像Native那样轻松调用本地的设备以及文件系统等等,那么百度的轻应用如何来解决这个难题呢?答案就是端能力。
一. 端能力介绍
百度轻应用的端能力其实是包括两方面:1. 本地端能力;2.云端能力,下面我将详细介绍这些端能力。
(1)本地端能力
本地的端能力一直是Webapp想要的,因为端能力不仅能使我们应用功能更丰富,也是应用的体验更加。如果没有端能力我们如何读取手机相册的照片做图片类的应用、不能调起camera如何做二维码识别,照相、摄像等应用。目前百度轻应用提供了这些能力,目前提供的端能力list如下:
· 调起应用(Activity)
· 电池(Battery)
· 网络连接状态(Connection)
· 设备信息(Device)
· 文件系统(FileSystem)
· 系统语言信息(Globalization)
· 地理位置(Geolocation)
· 本地媒体功能(Media)
· 二维码(QRCode)
可能你在上面的list中没有找到自己想要的端能力,不要担心,据我所知,百度轻应用还会陆续提供下面的端能力:
· 加速器
· 陀螺仪
· 摄像头
· 联系人
..........
(2)云能力
大家也都了解,百度的云服务也是很强大的,例如语音识别、图像识别等等技术,如果这些也能开放给开发者,那么开发者的想象空间就更大了,发挥的空间也更大了,百度轻应用也将这些能力开放出来了,目前开放的list:
· followSite(appid,options)
关注轻应用,同时添加轻应用到桌面
· checkFollow(appid,options)
检查是否已关注轻应用
即将开放的云能力如下:
· 人脸识别
· LBS
· 语音识别
· 播放内核
· PUSH
..........
二. 如何使用端能力
我想上面的端能力可以丰富大家的应用,那么这些端能力使用起来方不方便,会不会有很大的开发量呢?下面我们来实际的看看如何使用这些端能力:
(1)登陆开发者中心接入轻应用,填入相关的信息
(2)点击“确定”后出现下面页面后,点击“返回应用信息”
(3)获取Api Key,这个在后面需要使用
(4)在应用中加入轻应用端能力,这里以“地理位置”为例
<!DOCTYPE html>
<html>
<head>
<title>定位</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" name="viewport" />
<script name="baidu-tc-cerfication" type="text/javascript" charset="utf-8" src="http://apps.bdimg.com/cloudaapi/lightapp.js"></script>
</head>
<body>
<button onClick="getLocation()">定位</button>
<p id="alert_massage"></p>
</body>
<script type="text/javascript">
var flag = false;
//第一个参数是在第三步获取的Api key
clouda.lightapp("Api key",function(){
flag = true;
})
var onSuccess = function(data){
lng = data.longitude;
lat = data.latitude;
document.getElementById("alert_message").innerHTML = "经度:"+lng+" 纬度:"+lat;
};
var onFail = function(err){
};
var getLocation = function(){
if(flag){
clouda.device.geolocation.get({
onsuccess:onSuccess,
onfail:onFail
});
}
}
</script>
</html>
三. 如何调试端能力
在上一节第三步的截图中可以找到“如何测试”部分,按照上面的方法即可在线下进行调试
Tips:移动端的调试在这里推荐一个工具 weinre