Skip to content

[번역] 당신이 몰랐던 미래지향적 웹사이트를 만드는 7가지 자바스크립트 WEB API 🤯

Translate, JavaScript5 min read

banner

이 게시물은 원본 아티클인 7 JavaScript Web APIs to build Futuristic Websites you didn't know🤯 를 한글로 번역한 게시글입니다. 게시물 내용의 저작권은 원작자 Tapajyoti Bose 에게 있습니다.

급격하게 변하는 기술 속에서 개발자들은 놀라운 새로운 도구와 API를 제공받고 있습니다. 하지만 100개 이상의 API 중 오직 5% 정도만 활발하게 사용하고 있습니다.

이번에는 당신의 웹 사이트에 로켓을 달아 줄 유용한 WEB API를 소개해보겠습니다! 🚀

1. 스크린 캡처 API (Screen Capture API)

스크린 캡처 API는 이름으로 예측할 수 있듯이 화면에 보이는 컨텐츠를 캡처할 수 있습니다. 또한 이를 이용해 화면 녹화기를 매우 쉽게 만들 수 있습니다.

캡처한 화면을 표시하기 위해 영상(Video) 요소가 필요합니다. 시작 버튼을 클릭하면 화면 캡처가 시작됩니다.

<video id="preview" autoplay>Your browser doesn't support HTML5.</video>
<button id="start" class="btn">Start</button>
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);

2. 웹 공유 API (Web Share API)

웹 공유 API는 웹페이지에서 글자, 링크, 심지어 파일까지도 설치되어 있는 앱으로 공유할 수 있게 해줍니다.

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

참고: 웹 공유 API를 사용할 때는 버튼 클릭, 터치 이벤트 등 사용자의 상호작용이 필요합니다.

3. 교차점 관찰자 API (Intersection Observer API)

교차점 관찰자 API요소가 뷰 포트에 들어오거나, 나갈 때를 감지할 수 있게 해줍니다. 이는 특히 무한 스크롤을 구현할 때 유용합니다.

4. 클립보드 API (Clipboard API)

클립보드 API클립보드데이터를 읽거나 쓸 수 있게 해줍니다. 이건 클립보드에 복사 기능을 구현하는데 유용합니다.

async function copyHandler() {
const text = 'https://tapajyoti-bose.vercel.app/';
navigator.clipboard.writeText(text);
}

5. 화면 켜짐 유지 API (Screen Wake Lock API)

어떻게 유튜브는 영상을 시청하는 동안 화면이 꺼지지 않게 하는지 궁금하지 않은가요? 그건 바로 화면 켜짐 유지 API 때문입니다.

let wakeLock = null;
async function lockHandler() {
wakeLock = await navigator.wakeLock.request('screen');
}
async function releaseHandler() {
await wakeLock.release();
wakeLock = null;
}

참고 : 화면 켜짐 유지 API는 오직 페이지가 화면에 표시된 상태일 때만 사용할 수 있습니다. 그 외에는 오류를 발생시킵니다.

6. 화면 방향 전환 API (Screen Orientation API)

화면 방향 전환 API현재 화면 방향을 확인하고, 특정 방향으로 고정시킬 수 있게 해줍니다.

async function lockHandler() {
await screen.orientation.lock('portrait');
}
function releaseHandler() {
screen.orientation.unlock();
}
function getOrientation() {
return screen.orientation.type;
}
screen orientation

7. 전체 화면 API (Fullscreen API)

전체 화면 API는 요소나 현재 페이지를 전체화면으로 볼 수 있게 해줍니다.

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

역주 의견

여기서부터는 저(himprover)의 의견 입니다.

시간이 많이 없어 비교적 길이가 짧은 아티클을 선정했습니다.

내용은 짧아도, 실제로 개발 할 때 유용한 API 임은 분명합니다.

API 이름 특성 상 번역했을 때 어색한 부분이 있어 별도 영어 표기를 같이 했습니다.