查看详情

Oculus 自动唤起 VR 模式

移动设备相对传统 PC , 对 Web 的限制相对而言会更加严格一点,尤其 Webkit 针对 网页的权限限制非常严格。 比如我们常见的自动播放,随着 Safari 的限制,后面 Chrome 也开始限制音视频的自动播放功能。 同样的对于头显类设备,注入 Facebook Oculus 系列(Go, Quest 等),三星 MR 等,作为移动设备对音视频同样采取了一些限制。我们在开发 VR 的时候,必然需要唤起 VR 模式, 类似自动播放 的策略,我们也需要做唤起 VR 的手势交互逻辑。 当然唤起失败后,我们需要在界面出现点击的按钮,让用户手动点击。 // display 是 之前 navigator.getVRDisplays() 获取的关于可用头显设备对下 display.requestPresent([ { source: canvasElement, }, ]) .then(() => { console.log( 详情 »

查看详情

The letter of 2018 - Mark Zuckerberg

每年年底小扎都会回顾今年这一年做了什么,2018对于小扎而言无疑是最为挑战的一年,隐私,数据安全,舆情,高管离职,这些问题便随着用户的增长和信息的爆炸膨胀显得非常突出,但是文章还是非常自信的回顾了去年这些方向的努力,大概往往最困难的时候也是厚积薄发的时候。2019,依旧不平静。 原文链接: https://www.facebook.com/zuck/posts/10105865715850211 (自备梯子) For 2018, my personal challenge has been to focus on addressing some of the most important issues facing our community -- whether that's preventing election interference, stopping the spread of hate speech and misinformation, making sure 详情 »

查看详情

开始使用 React-VR

React-VR 是 Facebook 团队推出的使用JavaScript来开发VR应用的框架,和 React 相似,你可以通过编写组件的形式来进行程序的开发。(写过 React-Native的应该可以很快上手吧。) 快速开始 首先我们需要安装脚手架程序: npm install -g react-vr-cli 安装成功后,我们就可以开始创建项目了。 react-vr init vrexamples 如果初始化过程中,遇见了提示 yarn 依赖安装的问题,你可以进入项目目录,重新安装就好。 初始化成功后,我们进入项目,然后输入npm start , 访问: http:/localhost:8081/vr/ 就可以看到web上的内容了。如果你有VR的设备,你也可以戴上体验下。 编辑代码 这个时候我们打开编辑器, 查看index.vr.js 的源码,写过React-Native的是不是有种泪奔的感觉,的却是这样写的: 'use strict'; import React from 'react'; import { AppRegistry, asset, 详情 »

查看详情

2017年Facebook F8开发者大会值得关注的议题

美国太平洋时间4月18日上午,2017年4月18日 Facebook 将在加州举行2017的 F8 开发者大会 。F8 主要是面向技术开发者的会议,Facebook则会带给大家过去一年里他们的技术团队在人工智能,VR,视频等方向上的研究进展。 B站的直播 F8 Youtube Keynote 每年的小扎都会做 F8 的 Keynote 演讲,阐述公司的发展近况,以及最新的研究成果。大概一个半小时的时间会有一些部门的负责人上台分享,分享团队的近况,当然这是一次最好机会练习听力的机会,不要错过。 2014年的 F8 宣传片: React 以及 GraphQL 在 FacebookF的应用以及未来 (关于 React的话题) The Evolution of React and GraphQL at Facebook and Beyond React 和 GraphQL 颠覆了传统页面的开发,这个分享我们可以了解到 FB 的工程师如何提升开发效率以及应对未来的一些 App 设计。 如何实现保持用户的持续增长 详情 »

查看详情

Nuclide 阅读笔记

Nuclide是 facebook 针对Atom出的一款编辑插件,你可以通过它开发,调试 React 以及 React Native的程序。这也是FB首次将自己的开发流引入到第三方编辑器中。 当然这里记录的不是这个编辑器怎么用,怎么用可以看这里.这里主要是记录对源代码的阅读和解析。 目录结构 Nuclide 的目录结构并非和标准的 atom 插件生成包的目录一致。 + lib // 存放的是整个Atom 插件功能的JS资源 + node_modules + pkg // 依赖的包,插件功能的具体实现在这个里面 + nuclide-code-hightlight 代码高亮的功能 + nuclide-console 实现控制台输出功能 + ... + resources + package.json ... 不是很重要的文件 lib 目录 熟悉 Atom插件开发的应该都知道,我们实际上所定义的菜单按钮或者command的这些都是通过在这里面的JS实现的,而我们首先需要制定项目的入口文件,也就是lib/main-entry.js。 main.js main.js 实际为 nuclide 做了配置的主要事情,我们看源码就知道,它执行流程如下: 设置默认的配置 读取 pkg 目录下的包的package. 详情 »

查看详情

Building Global Community ---- Mark Zuckerberg

原文地址: https://www.facebook.com/notes/mark-zuckerberg/building-global-community/10154544292806634/ 2017年2月17日,Facebook的CEO小扎发布了一篇《Building Global Community》文章,表达自己对未来的期待。文章比较长,但用词简单,推荐挑战下阅读英文全文。 To our community, On our journey to connect the world, we often discuss products we're building and updates on our business. Today I want to focus on the most important question of all: are we building the 详情 »