在Android上,Progressive Web Apps与本机应用程序相比具有哪些功能,反之亦然

在Android上,Progressive Web Apps与本机应用程序相比具有哪些功能,反之亦然,第1张

概述2015年,谷歌推出了一种开发Android应用程序的新方法:progressivewebapps.可以创建一个看起来像本机应用程序的应用程序,可以使用设备的硬件,如摄像头和加速度计,接收推送通知,有一个启动器图标,离线工作,存储本地数据等在Android上,本机应用程序提供的渐进式Web应用程序不支持哪

2015年,谷歌推出了一种开发Android应用程序的新方法:progressive web apps.可以创建一个看起来像本机应用程序的应用程序,可以使用设备的硬件,如摄像头和加速度计,接收推送通知,有一个启动器图标,离线工作,存储本地数据等

在AndroID上,本机应用程序提供的渐进式Web应用程序不支持哪些功能,反之亦然.

解决方法:

TL; DR – 截至2017年2月,Progressive Web Apps是一个足够强大的平台,Twitter has moved all of their mobile web traffic to a React PWA.

截至2016年8月,Progressive Web Apps实际上提供了比通常想象的更多的硬件访问.这是我在AndroID 52上的Chrome 52稳定版的whatwebcando.today屏幕截图:

硬件访问包括

> geolocation – 在绝大多数浏览器中都受支持
>通过getUserMedia/Stream和即将推出的MediaStream Image Capture API的摄像头和麦克风
>设备vibration
>屏幕orientation and accelerometer访问,包括compass and gyroscope
> battery status

即将到来的硬件访问

这些功能正在实现或已在某些浏览器中使用:

>蓝牙通过Web Bluetooth API
> NFC
> ambient light sensor(firefox 48中的works)
> proximity sensor(firefox 48中的works)
> accelerometer,magnetometer和gyroscope传感器访问
> shape detection API

另一个要注意的重点是Origin Trials框架(implemented in Chrome)使制造商能够公开和测试硬件(或软件)功能,而无需经历标准化过程.例如,手机制造商可以公开用于读取压力传感器值的API,对其进行细化,然后将其提交给W3C考虑.

除了硬件访问之外,还有传统上由本地应用程序使用的软件功能,现在可用于Web应用程序.

PWA也可以使用传统的原生功能

>推送通知
>离线工作
> adding an icon to the home screen
>感谢WebAPKs出现在应用程序列表中 – 渐进式Web应用程序现在可以打包到实际可安装的AndroID软件包中!
>于full-screen发布
> clipboard access
>通过HTML5 Canvas或WebGL硬件加速2D / 3D图形 – 检查HTML5 Canvas demos,WebGL sites或three.js library中的一些.2014年Unity cross-platform game engine基准测试比较原生与WebGL渲染性能,以及concluded

“The most important takeaway is, while there are still areas where WebGL is significantly slower than native code, overall you can get expect very decent performance already, and this can only get better in the future.”

The gap has indeed been closing.
> reading任何浏览器中用户选择的文件
> slick, smooth UIs与60fps animations

这些功能涵盖了很多用例,现在许多流行的本机应用程序都可以重写为PWA.以Slack为例.它的开源替代品,Rocket.Chat, is building a PWA version.有关更多PWA演示,请参阅https://pwa.rocks.

来自PWA的类似本机的功能

> handling intents – 例如,sharing a page to another app,或者是share target,例如,一个PWA聊天应用程序,它接收一个图像以设置为用户的头像

Native Android features尚未提供给PWA

>访问指纹传感器(under development)
>联系人,日历和浏览器书签访问(缺乏对这些访问权限可被隐私用户视为feature)
>警报
>电话功能 – 拦截短信或电话,发送短信/彩信,获取用户的电话号码,阅读语音邮件,拨打电话,无需拨号器对话框
>低级访问一些硬件功能和传感器:手电筒,大气压力传感器
>系统访问:任务管理,修改系统设置,日志

渐进式Web应用程序提供本机应用程序缺少的功能

>可发现性 – 搜索引擎可以轻松找到渐进式网络应用程序中的内容,但StackOverflow等以内容为中心的本机应用程序不会在应用程序商店搜索结果中显示其提供访问权限的内容,例如“pwa vs. native” .对于像Reddit这样的社区来说,这是一个问题,因为Reddit无法将他们众多的子社区作为单独的“应用”暴露给应用商店.
>可链接性 – 任何页面/屏幕都可以有直接链接,可以轻松共享
> bookmarkability – 保存该链接以直接访问应用程序的视图
>永远新鲜 – 无需通过应用程序商店推送更新
>通用访问 – 不受应用商店sometimes arbitrary policies或(非预期)geographic restrictions的约束
>大量数据节省,在新兴市场中极为重要,因为互联网接入昂贵和/或速度较慢.例如,电子商务网站Konga cut data usage by 92% for the first load by migrating to a PWA.
>低分配摩擦 – 如果您的渐进式网络应用程序在线,它已经可供AndroID(和其他移动)用户访问.

> 65.5% of US smartphone users don’t download any new apps each month
> PWA无需转到应用程序商店,搜索应用程序,单击安装,等待下载,然后打开应用程序. Each of these steps loses 20% of the potential users.

最后说明:PWA在桌面和大多数移动设备上以相同的代码库运行.在桌面环境(ChromeOS和later Mac和windows)上,它们以与其他应用程序相同的方式启动,并在常规应用程序窗口(无浏览器选项卡)中运行.

总结

以上是内存溢出为你收集整理的在Android上,Progressive Web Apps与本机应用程序相比具有哪些功能,反之亦然全部内容,希望文章能够帮你解决在Android上,Progressive Web Apps与本机应用程序相比具有哪些功能,反之亦然所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1103064.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存