Fork me on GitHub

2021-02-02: WebRTC 1.0, Firefox 85, Chrome 89 Beta

Translator: U-Yeong Ju Edit on GitHub See Revisions

JSer.info #525 - WebRTC 1.0이 W3C Recommendation 및 IETF 표준이 됐다.

W3C 사양에는 JavaScript API가 정의돼 있고, IETF 사양에는 프로토콜이 정의돼 있다.
이미 브라우저 상에 JavaScript API가 구현돼 있고, 많은 WebRTC 구현체가 존재하기 때문에 이용할 수 있고 또, 이용하고 있는 상태다.
이번 발표는 WebRTC 사양이 1.0을 달성, 안정화 된 것을 의미한다.

다음 사양 개선은 WebRTC is now a W3C and IETF standard에 작성돼 있듯 WebRTC Next Version Use Cases등으로 활용 사례를 모아가며 정리할 것으로 보인다.


Firefox 85가 릴리스 됐다.

Flash 지원이 종료됐다.

Prefix 없이 CSS의 :focus-visible 지원, <link rel="preload">를 기본적으로 지원한다.
ES Proposal Stage 3의 Top-Level await 지원, at() 메서드 지원 등이 추가됐다.
또, 캐시 등을 사용한 트래킹을 방지하기 위해 Network partitioning이 도입됐다.


Chrome 89 베타가 릴리스 됐다.

WebHID API, Web NFC, Web Serial API 기본적으로 활성화, 데스크탑 웹에서 Web Sharing이 활성화 됐다.
또, Cross-origin opener policy reporting API, Manifast에 display_override가 추가됐다.
그 외로 performance.measureUserAgentSpecificMemory() 추가, Streams API가 Byte Streams을 지원한다.
파이어폭스와 마찬가지로 Top-Level await 지원이 추가됐다.


아티클


January brings us Firefox 85 - Mozilla Hacks - the Web developer blog

hacks.mozilla.org/2021/01/january-brings-us-firefox-85/

Firefox ReleaseNote

Firefox 85 릴리스.
Flash 지원 종료.
Prefix 없이 CSS의 :focus-visible 지원, <link rel="preload"> 지원.
ES Proposal Stage 3의 Top-Level await 지원, at() 메서드 지원.
또, Network partitioning이 도입됐다.


Release Notes for Safari Technology Preview 119 | WebKit

webkit.org/blog/11525/release-notes-for-safari-technology-preview-119/

safari ReleaseNote

Safari Technology Preview 119 됐다.
SpeechRecognition API 활성화, CSS aspect-ratio 프로퍼티 지원 개선, prefers-contrast: more지원 등.
WebAssembly에서 memory.copy, memory.init, memory.fill을 플러그를 붙여 지원한다.


Release v7.5.0 · npm/cli

github.com/npm/cli/releases/tag/v7.5.0

npm ReleaseNote

npm 7.5.0 릴리스.
npm 패키지의 Diff를 얻을 수 있는 npm diff 커맨드 추가.


Chromium Blog: Chrome 89 Beta: Advanced Hardware Interactions, Web Sharing on Desktop, and More

blog.chromium.org/2021/01/chrome-89-beta-advanced-hardware.html

Chrome ReleaseNote

Chrome 89 베타 릴리스.
WebHID API, Web NFC, Web Serial API 기본적으로 활성화하고 데스크탑에서 Web Sharing을 활성화 했다.
Cross-origin opener policy reporting API, Manifast에 display_override 추가.
performance.measureUserAgentSpecificMemory() 추가, Streams API에서 Byte Streams을 지원. Top-Level await 지원.


WebRTC 1.0 is a W3C Recommendation | W3C News

www.w3.org/blog/news/archives/8897

W3C WebRTC news

WebRTC 1.0이 W3C Recommendation이 됐다.


TOAST UI Chart 4.0 is here! | TOAST UI :: Make Your Web Delicious!

ui.toast.com/weekly-pick/en_20210126

JavaScript chart library ReleaseNote

그래프 라이브러리 TOAST UI Chart v4.0 릴리스.
의존 모듈 정리하고 파일 크기를 줄였다. 반응형 지원, 라이브 갱신에 대응한 그래프 추가, 테마 옵션 개선.
v3에서의 마이그레이션 가이드도 함께 공개 됐다.


CKEditor 5 v25.0.0 with flexible annotations, improved text blocks handling and performance fixes

ckeditor.com/blog/CKEditor-5-v25.0.0-with-flexible-annotations-improved-text-blocks-handling-and-performance-fixes/

JavaScript editor library ReleaseNote

CKEditor 5 v25.0.0 릴리스.
ReDoS 문제 수정. 켄텐츠 블록의 동작 개선, 대량 텍스트 포맷 성능 개선, 이미지 관리 개선 등


Release v5.3.4 · vuejs/vue-devtools

github.com/vuejs/vue-devtools/releases/tag/v5.3.4

Vue Extension ReleaseNote security browser

Vue DevTools 5.3.4 릴리스.
Universal XSS 취약점 수정.


Babel 8 Release Plan · Issue #10746 · babel/babel

github.com/babel/babel/issues/10746

babel issue

Babel 8의 Roadmap Issue


아티클


When to use HTTPS for local development

web.dev/when-to-use-local-https/

HTTPS debug article

로컬 개발에서도 HTTPS가 필요한 경우와 localshot에 대해.
또, 로컬 개발에 사용해야 하는 TLD 소개.


Visitor pattern in TypeScript | Writing | Kirill Vasiltsov

www.kirillvasiltsov.com/writing/visitor-pattern-typescript/

TypeScript article

TypeScript의 interface를 사용한 Visitor Pattern 구현 방법 소개


Cypress vs Selenium vs Playwright vs Puppeteer speed comparison | Checkly blog

blog.checklyhq.com/cypress-vs-selenium-vs-playwright-vs-puppeteer-speed-comparison/

JavaScript browser E2E article testing

테스트 프레임워크 실행 속도 비교 글.
Puppeteer, Playwright, WebDriverIO, Selenium, Cypress를 몇 개의 테스트 시나리오를 이용해 비교한다.


`undefined` vs. `null` revisited

2ality.com/2021/01/undefined-null-revisited.html

JavaScript article opinion

undefinednull에 대해서.
undefinednull의 역사, undefinednull이 언어적으로 발생하는 경우, 언어적으로 특별히 취급되는 경우, 어떤 것을 값이 없는 경우로 사용할 것인지 이야기한다.


소프트웨어, 도구, 라이브러리


azu/express-lazy-router: Lazy loading for express router

github.com/azu/express-lazy-router

express TypeScript library node.js

express의 Router를 지연 로드하는 라이브러리.
ts-node-dev나 @babel/register로 runtime compile 하는 경우에 동작 시 전체 컴파일하는 게 아닌 분산 컴파일 가능하도록 하는데 목적을 두고 있다.


WebReflection/linkedom: A triple-linked lists based DOM implementation.

github.com/WebReflection/linkedom

HTML DOM JavaScript node.js library

Node.js 용의 HTML/DOM 구현 라이브러리.
기본적인 활용 사례로 HTML 문자열을 토대로한 경로 탐색, DOM API 등을 일정한 성능으로 실행할 수 있게 하는데 목적을 두고 있다.


shinyoshiaki/werift-webrtc: WebRTC Implementation for TypeScript (Node.js)

github.com/shinyoshiaki/werift-webrtc

WebRTC JavaScript library

Node.js에서의 WebRTC 구현.
STUN, TURN, ICE, DataChannel, MediaChannel 등을 구현한다.


willmendesneto/perf-marks: The isomorphic, simplest, and lightweight solution for User Timing API in Javascript - 🚀 only 208B 🚀. Tree-shaking and entry points built-in. Simple as that!

github.com/willmendesneto/perf-marks

performance JavaScript library node.js browser

User Timing API의 래퍼 라이브러리.
브라우저와 Node.js(perf_hooks)에서 사용할 수 있다.
User Timing API의 래퍼, 지원하는지 판단, 함수 프로파일링 기능 등을 제공한다.


alesgenova/post-me: 📩 Use web Workers and other Windows through a simple Promise API

github.com/alesgenova/post-me

JavaScript webworker library Promises TypeScript

Worker, Window(iframe)간의 메시징 라이브러리.
Promise 기반의 API로 Window와 Worker 사이에서 메시지를 주고 받을 수 있다.


Pull Request to this article
JSer.info Slackに参加する