A-Frame is an open-source web framework for building virtual reality experiences. It allows developers to build VR experiences for the web using HTML. A-Frame uses an entity-component architecture where virtual objects are defined as entities that can have various components added to define their appearance, behavior, and functionality. This makes it easy to build 3D scenes and VR experiences without needing to know three.js or WebVR APIs. A-Frame also includes a registry of reusable components and an in-browser inspector to help develop VR experiences for the web.
2. Nice to meet you
Erik Minarini
@doJester13
Unity and Android Developer at Touchlabs
Manager at GDG Bologna
Founder of ToughNutToCrack
3. Virtual reality (VR) is an interactive computer-generated experience taking place
within a simulated environment, that incorporates mainly auditory and visual, but
also other types of sensory feedback like haptic
What is VR?
4.
5. Virtual reality is growing so fast in many areas.
VR isn’t just for games, it is also largely used in business, marketing, commercial
and many others.
VR is growing
8. The WebVR is a javascript API that provides interfaces to VR hardware to allow
developers to build compelling, comfortable VR experiences on the web.
10. Developing a virtual reality application, in particular for the web, could seem hard,
but you shouldn’t be afraid.
There is a solution!
Are you scared?
11. A open source web framework for building virtual reality experiences
A-Frame
17. ECS architecture is a common and desirable pattern in 3D and game development
that follows the composition over inheritance and hierarchy principle
Entity-Component-System
18. Entities are container objects into which components can be attached. Entities are
the base of all objects in the scene. Without components, entities neither do not
render anything, similar to empty <div>s.
Entities
19. Components are reusable modules or data containers that can be attached to
entities to provide appearance, behavior, and/or functionality. All logic is
implemented through components, and we define different types of objects by
mixing, matching, and configuring components.
Components
20. Systems provide global scope, management, and services for classes of
components. Systems are often optional, but we can use them to separate logic and
data; systems handle the logic, components act as data containers.
Systems
21. Entities are represented by the <a-entity> element and prototype.
Components are represented by HTML attributes on <a-entity>‘s.
Systems are represented by <a-scene>‘s HTML attributes.
...in A-Frame