If you are an experience developer, Unity is the recommended development environment for AR and VR. There are good examples and boilerplates to get you started. This repository is using AFRAME.js and AR.js (and THREE.js under the hood). Using only web technologies it is easy to get started, also for beginners and it is extremely easy to deploy (its just a website).
If you are just getting started and want to experiment, I recommend you fork this repo and activate the GitHub Pages settings. GitHub will then host all the examples and your code and you can immediately test it on your mobile device.
There a different concepts for extending reality (XR) through digital content. XR is the encompassing term describing all approaches. Virtual reality (VR) are applications that seperate reality and the virtual reality completely. While physicial interactions might still happen in the real world. The visual world is completely virtual. Augmented reality (AR) on the other hand, displays digital content on top of the real world. Most of the time the digital content is simply added on top, but in a mixed reality (MR), the real world objects and digital objects are interacting with one another. For example moving something in the real world, also results in an interaction in the digital world. Sometimes MR is also defined by the way you perceive the digital visualisation. While most people use phones and tablets to view AR content, using AR-glasses removes the device-frame and creates a smooth blending between real world and digital content.
Source: Wikipedia
For this prototyping approach we will simply use modern smartphones or tablets, nothing special required. If you are interested in prototyping VR content, I recommend buying a cardboard VR. Originally produced by Google, cardboard VR sets are now available from various distributors for as cheap as 5 euros. Cardboard VR allows you to transform your phone into a VR headset. More sophisticated AR/VR headsets are:
VR:
AR:
Basic
Advanced