Three JS: Unleashing the Potential 
                             of the Web

Three JS: Unleashing the Potential of the Web


Introduction

Three.js is a powerful and flexible 3D library that makes it possible to create stunning visualizations on the web. It is built on top of WebGL, a web standard for rendering 3D graphics in real +time, making it easy for developers to create interactive 3D experiences for their websites. With Three.js, web developers can now create visually rich and engaging experiences that were previously impossible.

Click here to discover more about the Three js community

Capabilities of Three JS

Three.js has a wide range of capabilities that make it suitable for creating a wide range of 3D visualizations, from simple animations to complex games. It supports a variety of file formats, including OBJ, FBX, and Collada, making it easy to import 3D models into your scene. It also has support for shaders, allowing for the creation of custom materials and lighting effects. Furthermore, Three.js supports various camera types, including perspective, orthographic, and stereo, making it easy to create the desired perspective for your scene.

Using three.js with React, Vue.js, Angular, Svelte, TypeScript

In recent years, the web development ecosystem has exploded, with what seems like hundreds of different libraries and frameworks for building web applications, such as React, Angular, and Vue.js, and with new ones arriving all the time ( Svelte, anyone?). Each of these is highly opinionated, following different design philosophies and paradigms, and even adding extensions of JavaScript such as JSX. And that’s not even mentioning completely new languages built on top of JavaScript such as TypeScript.

In a world where frameworks are king, it seems like using such a simple web page to showcase our work is at odds with this claim. Fortunately, that’s not the case, since three.js scenes are always displayed within a single HTML <canvas> element.

If you wish, you can create this canvas directly in HTML:

<canvas id="scene"></canvas

in the same way, so that in the end we have a single top-level component called a World that creates a three.js scene inside an <canvas> element. To use this World component with React, you can wrap it inside a React Component, to use it with Vue.js, you can wrap it inside a Vue Component, to use it with Angular, you can wrap it inside an Angular Component, to use it with Svelte… well, you get the picture. In other words, you can create your main app the React way, the Angular way, or the Svelte way, and create your three.js app the three.js way, and then connect them up with very little effort.

Live Code Examples:

1.

How to use or install Three.js:

Installation

Project structure

Every three.js project needs at least one HTML file to define the webpage, and a JavaScript file to run your three.js code. The structure and naming choices below aren't required but will be used throughout this guide for consistency.

  • index.html

      <!DOCTYPE html>
      <html lang="en">
          <head>
              <meta charset="utf-8">
              <title>My first three.js app</title>
              <style>
                  body { margin: 0; }
              </style>
          </head>
          <body>
              <script type="module" src="/main.js"></script>
          </body>
      </html>
    
  • main.js

      import * as THREE from 'three';
    

    Install with NPM and a build tool

  • Development

    Installing from the npm package registry and using a build tool is the recommended approach for most users — the more dependencies your project needs, the more likely you are to run into problems that static hosting cannot easily resolve. With a build tool, importing local JavaScript files and npm packages should work out of the box, without import maps.

    1. Install Node.js. We'll need it to load manage dependencies and to run our build tool.

    2. Install three.js and a build tool, Vite, using a terminal in your project folder. Vite will be used during development, but it isn't part of the final webpage. If you prefer to use another build tool, that's fine — we support modern build tools that can import ES Modules.

# three.js
npm install --save three

# vite
npm install --save-dev vite

Conclusion

With the power of Three.js, web developers have a wide range of creative possibilities at their fingertips. The library has made it possible to create stunning 3D visualizations on the web with ease. With its large and active community, Three.js has become a popular choice for developers looking to create engaging and interactive experiences on the web. As technology continues to evolve, the future of WebGL developers is looking brighter than ever, and Three.js is sure to play a significant role in shaping the future of web development.

Click here for tips, tricks, and suggestions for using three.js, for beginners and experts alike. Keep this page open while working on three.js applications of any size.