Create collaborative VR environment
Web / Mobile / VR / AR / IoT / AI
Software architect, consultant, GDE, author
CTO & Co-founder
creating a robust, performant, and feature-rich online conferencing experience
VR in the browser
2006 - WebGL prototype (Canvas 3d)
2011 - WebGL 1.0 spec was released
2017 - WebGL 2 released
2016 - WebVR 1.0 was announced
2019 - WebXR released.
WebVR deprecated
What are our solutions?
WebVR/WebXR
AFrame
Coordinate system
Right handed cartesian coordinates
Positive Z axis is behind the viewer
Axis directions are changed when applied rotation component
Entity component system
Entities - Containers into which components can be attached
Components - Reusable modules of data that can be attached to entities
Systems - global scope, services, state etc.
React 360
Built for 360 user interfaces
Architecture
React
react-native bridge
Browser
index.js
asyncronous messages passing through the bridge
client.js
Getting started
npx react-360-cli init React360Demo
You can render on cylinder surfaces
or on flat surfaces providing the angle
To interact with Native(browser) you need to define native modules
And register them
The React side
Pretty similar to React Native
Animating using Animated
What about the Data
and real-time?
GraphQL
A query language for your API
What's wrong with REST
How it looks like
What about Architecture
3factor.app Architecture
What is Hasura
open source and free engine that gives you auto-generates real-time GraphQL API on top of new or existing PostgreSQL database
Features
- Can be deployed to any cloud or run locally
- Compatible with all Authentication solutions
- Can run on top of new or existing Postgres database
- Supports Postgres addons (PostGIS, TimescaleDB)
- Auto-generates GraphQL api
- GraphQL queries are compiled to performant SQL statements using native Postgres features
Features
- Comes with hasura-cli which has awesome tools like migrations and more
- Can work with custom SQL statements
- Has configurable access controls for data
- Can be connected to your own GraphQL server (does schema stitching)
- Has eventing system which enables to trigger serverless functions
Let's see it in action
How to add it to VR?
And in React 360?
And now in VR
Create collaborative VR environment in the browser with React and GraphQL
By Vladimir Novick
Create collaborative VR environment in the browser with React and GraphQL
- 1,321