Web与Android真正的结合

作者: Tamic | 来源:发表于2016-09-28 20:17 被阅读2374次

    Tamic 开发社区
    更多文章请点击: http://www.jianshu.com/users/3bbb1ddf4fd5/latest_articles

    “纸飞机”,刚开始只是一个简单的想法- “能从一个屏幕扔个纸飞机到另一个屏幕”

    提出这个想法人的核心理念是利用网络的力量(即时通讯)把到世界各地所有人连接到一起。在现代网络技术,特别是JavaScript和WebGL的发展,可以让纸飞机实现到每个屏幕上。

    纸飞机最初是 2016年的在谷歌I / O大会上提出的,与会者和观众可以提前30分钟连接。在2016年国际和平日公众推出,谷歌开发者做一个Android的实验,这也是谷歌特色的播放功能-具有原生的Android7.0的功能,譬如当飞机在其他地方被收到后,能及时丰富的以通知形式呈现。

    介绍

    用户可以创建并同时增加自己设计好填充颜色的飞机。一个简单的动作就可以把飞机投射到虚拟世界。用户通过访问Pc版网站就会看到飞机飞入画面。

    之后,用户就可以查看,看看他们的飞机飞到世界各地。飞机上的每枚邮票(ip mac地址等)读起来就像一本护照,以及可以看到3D的地球中飞行路线和距离。

    除了让自己的飞机飞出去,用户可以通过手势就像一张网捕捉已扑捉其他地方飞来的飞机,并可以进入虚拟现实打开它,标明自己已参观过飞机。然后可以添加自己邮票,并把飞机重飞到飞机群。

    WebView

    开发纸飞机必须跨设备,使用最新网络技术从50寸的谷歌桌面到其他移动设备。

    • WebGL

    从程式化的多边形地球表面,WebGL是用来渲染3D元素的技术。用自定义GLSL着色器 照亮渲染地球,用可变形的坐标作实现用户打开关闭纸张的动画。

    earth_wireframe.gif

    WebSockets

    当用户“抛出飞机”,这时会发送消息到WebSockets,这样消息就被传递到所有的台式电脑,这样可以看到可视化的飞机。

    WebWorkers

    主线程WebWorkers主要采用多线程来计算地球表面的每个WebGL呈现的元素。

    为了创建跨平台的伟大工程,,谷歌开发者扩展了原生的Android代码。这使得他们能够利用网页中的Android,将已经存在的网页代码的应用到app中,同时加入和操作系统深度整合过的丰富的通知和后台服务。

    有兴趣的可以直接看纸飞机demo: https://github.com/activetheory/Paper-Planes-Android-Experiment

    Notifications

    Firebase 云服务(FCM)用于推送通知到Android应用程序。当用户的飞机已经被用户拿起来甩,就会很多城市,并且显示已行驶的里程。并发控制的的通知管理器,以确保它们不会过于频繁到推送到android设备。

    后台 Service

    谷歌开发者实现了每天一次检查本地存储的一个后台服务,以确定当用户在上次运行app访问后。如果用户在两周内没有访问,应用程序将会发送通知,邀请用户启动并打开该应用的一个页面。

    通信网

    应用服务器部署到谷歌云平台的网络上运行。将连接所有设备上,使用内置的地理编码的头以获取IP(用户唯一标识符)和Socket.IO 获取大致地理位置。

    用户连接到服务器后,可以用任何设备查看该地区飞机记录。

    期待谷歌关于Vr的更多飞跃……

    如果喜欢 请继续关注!

    相关文章

      网友评论

      本文标题:Web与Android真正的结合

      本文链接:https://www.haomeiwen.com/subject/ddhkyttx.html