Consider the problem a bit. Dopustim, we are a team of developers(or one developer it does not matter) got the assignment to make a website according to the picture attached above, there might be a description of the behavior of elements, animations, or even split animle HR depending on user actions. Also, let us not have any limits, technology, etc. There is a task, zakazshik wants the result and then create. We have several options for further action.
1) In the forehead, from the perception of design. We understand that the elements of design is essentially a 3D scene with the perspective and the simple physics of light.
Then we can:
* Make all the graphics in a separate layer. Even in this case it will be canvas
* In another layer a lot just form content filling of the website
To work with 3D scene, we can either take an existing library or make your own solution which will masterservice us this scene on a plane which we can incorporate into the layout canvas. Let's say we decided not to waste my time and we are satisfied with our solution, we take biblioteku. For example, we took THREE.js. We position the canvas so to enter the future stage in the design. Using javascript and the solution we've chosen is drawn we need a 3D scene if you need added logic based on the reaction of the user (mouse movement etc). On top of canvas we position our static website (text buttons, etc.). For the implementation we used (in minimal version) html, css, js, maybe just the shaders and 3D models if you don't poluchilsa to do with primitives.
2) In the forehead, from the decomposition of logic components of the process.
We want to divide the project into components and implement component-wise, or we understand that every element of the interface should be completely independent. perhaps this will deal with different developers. Then most likely if there was pre-agreement. each developer will choose the most interesting or easiest method of implementation of the component. And in the end we get a hodgepodge of heaps of libraries and technology. The main thing then in the final stage to corodinate logic components. Used technologies (html + css + js + that we considered necessary in each individual component)
3) In the forehead by technology.
We say that we have a limited set of technologies that we can use. The minimum required set of technologies to implement such as the picture html and css. But more will be safe html, css, and svg. We have restricted the set of technologies and from primitive to more complex visual structures are involved. Using methods of deception of the perception of the user to achieve effects of three-dimensionality, the existence of the scene and lighting etc.
I very briefly described a variety of approaches to creating a unified concept of perception by the user. There are still infinitely many approaches and ways to implement processes of development. The choice and content of each specific zavisiat ofconcrete tasks, different conditions and the contractor. Why I was here. To give to understand a Single tool (silver bullet) in all cases no, always have to go from many factors. Just looking at the picture I would be purely a visual scene in the canvas using the same THREE.js and separately over the scene to position all the controls and text. If it's not static and if there is no spreading behavior of elements and display. there is already to think further.