DEV Community

Cover image for 7 JavaScript Web APIs to build Futuristic Websites you didn't know🤯
Tapajyoti Bose
Tapajyoti Bose

Posted on • Updated on

7 JavaScript Web APIs to build Futuristic Websites you didn't know🤯

With the rapidly changing technologies, developers are being provided with incredible new tools and APIs. But it has been seen that out of the 100+ APIs, only 5% of them are actively used by developers.

Let's take a look at some of the useful Web APIs that can help you skyrocket your website to the moon!🌕🚀

1. Screen Capture API

The Screen Capture API, as the name suggests, allows you to capture the contents of a screen, making the process of building a screen recorder a piece of cake.

You need a video element to display the captured screen. The start button will start the screen capture.

<video id="preview" autoplay>
  Your browser doesn't support HTML5.
</video>
<button id="start" class="btn">Start</button>
Enter fullscreen mode Exit fullscreen mode
const previewElem = document.getElementById("preview");
const startBtn = document.getElementById("start");

async function startRecording() {
  previewElem.srcObject =
    await navigator.mediaDevices.getDisplayMedia({
      video: true,
      audio: true,
    });
}

startBtn.addEventListener("click", startRecording);
Enter fullscreen mode Exit fullscreen mode

2. Web Share API

The Web Share API allows you to share text, links, and even files from a web page to other apps installed on the device.

async function shareHandler() {
  navigator.share({
    title: "Tapajyoti Bose | Portfolio",
    text: "Check out my website",
    url: "https://tapajyoti-bose.vercel.app/",
  });
}
Enter fullscreen mode Exit fullscreen mode

NOTE: To use the Web Share API, you need an interaction from the user. For example, a button click or a touch event.

3. Intersection Observer API

The Intersection Observer API allows you to detect when an element enters or leaves the viewport. This is exceptionally useful for implementing infinite scroll.

NOTE: The demo uses React because of my personal preference, but you can use any framework or vanilla JavaScript.

4. Clipboard API

The Clipboard API allows you to read and write data to the clipboard. This is useful for implementing the copy to clipboard functionality.

async function copyHandler() {
  const text = "https://tapajyoti-bose.vercel.app/";
  navigator.clipboard.writeText(text);
}
Enter fullscreen mode Exit fullscreen mode

5. Screen Wake Lock API

Ever wondered how YouTube prevents the screen from being switched off while playing the video? Well, that's because of the Screen Wake Lock API.

let wakeLock = null;

async function lockHandler() {
  wakeLock = await navigator.wakeLock.request("screen");
}

async function releaseHandler() {
  await wakeLock.release();
  wakeLock = null;
}
Enter fullscreen mode Exit fullscreen mode

NOTE: You can only use the Screen Wake Lock API if the page is already visible on the screen. Otherwise, it would throw an error.

6. Screen Orientation API

The Screen Orientation API allows you to check the current orientation of the screen and even lock it to a specific orientation.

async function lockHandler() {
  await screen.orientation.lock("portrait");
}

function releaseHandler() {
  screen.orientation.unlock();
}

function getOrientation() {
  return screen.orientation.type;
}
Enter fullscreen mode Exit fullscreen mode

orientation

7. Fullscreen API

The Fullscreen API allows you to display an element or the entire page in full screen.

async function enterFullscreen() {
  await document.documentElement.requestFullscreen();
}

async function exitFullscreen() {
  await document.exitFullscreen();
}
Enter fullscreen mode Exit fullscreen mode

NOTE: To use the Fullscreen API too, you need an interaction from the user.

Finding personal finance too intimidating? Checkout my Instagram to become a Dollar Ninja

Thanks for reading

Need a Top Rated Front-End Development Freelancer to chop away your development woes? Contact me on Upwork

Want to see what I am working on? Check out my Personal Website and GitHub

Want to connect? Reach out to me on LinkedIn

Follow me on Instagram to check out what I am up to recently.

Follow my blogs for bi-weekly new Tidbits on Dev

FAQ

These are a few commonly asked questions I get. So, I hope this FAQ section solves your issues.

  1. I am a beginner, how should I learn Front-End Web Dev?
    Look into the following articles:

    1. Front End Development Roadmap
    2. Front End Project Ideas
  2. Would you mentor me?

    Sorry, I am already under a lot of workload and would not have the time to mentor anyone.

Latest comments (49)

Collapse
 
tmgaston profile image
Tchinda MOISE GASTON

Wow. Discovered new APIs in Javascript. Detailed post. Thanks.

Collapse
 
jungar1111 profile image
jungar1111

So I tried 'screen capture API' in edge, Firefox, and Chrome. It does not work in any of them. Any thoughts?

link

Collapse
 
satyendrachaudhary profile image
Satyendra Chaudhary

Well there are a lot of them documented over mdn, even the experimental ones. You can get bluetooth devices, wifi networks and a lot more.

Collapse
 
saurabhmisra profile image
Saurabh Misra

Wow! This is a great list. I wasn't aware of any of these native APIs. Thanks for sharing.👍

Collapse
 
abdo84758101 profile image
abdo

n

Collapse
 
layanyashoda profile image
Layan Yasoda

Such a helpful post.

Collapse
 
developeratul profile image
Minhazur Rahman Ratul

Thanks for sharing! I am amazed by the Screen capture API.

Collapse
 
theashutoshshukl01 profile image
Ashutosh shukla

Very nice post thanks for shering this with us.

Collapse
 
anhtran304 profile image
Anh Tran

Great, thanks for sharing, very helpful

Collapse
 
voltra profile image
Voltra

Oh god, that Clipboard API is a security hazard

Collapse
 
kossijulesketika profile image
Jules le dev

Thanks
Very useful

Collapse
 
clericcoder profile image
Abdulsalaam Noibi

Wow,Great Article

Collapse
 
bretbernhoft profile image
Bret Bernhoft

The clipboard API is one of the more powerful tools mentioned on this post, in my opinion. You can add entire files, including images, to a persons clipboard in association with any event. That's a lot of flexibility.

Collapse
 
richardrichardson profile image
RichardRichardson

It's really interesting.

Collapse
 
zalithka profile image
Andre Greeff

thanks for the refresher! I did already know most of them, but I haven't really used them as much as I would like... this makes me want to go play with them now.

so... after work then. definitely. :D