#javascript

웹뷰 브릿지를 WebMessageListener로 마이그레이션하기

Android 브릿지를 addJavascriptInterface에서 WebMessageListener로 옮기자 동기 호출이 알아서 해 주던 요청·응답 맞추기와 실패 감지를 웹이 떠안았다. 요청과 응답을 맞추는 네 가지 방법을 비교하고, 메서드 이름 키와 토큰 요청 합치기를 고른 이유와 requestId가 필요해지는 경우를 정리했다.

페이지네이션 컴포넌트 · 3편

페이지네이션 컴포넌트, 포커스를 잃지 않게 하기

노드를 지우지 않고 상태만 바꾼다

페이지네이션 컴포넌트 · 2편

페이지네이션 컴포넌트, 헤드리스로 다시 설계하기

커스텀 엘리먼트와 compound 구조, 그리고 SSR

페이지네이션 컴포넌트 · 1편

페이지네이션 컴포넌트, 모듈 경계부터 그리기

라이브러리를 쓰지 않기로 하고 처음부터 설계한 기록

Node.js, require(esm) 공식 지원

CJS와 ESM이 갈라져 있던 15년. top-level await만 없으면 ESM도 동기 평가가 가능하다는 발견이 어떻게 require(esm)로 이어졌는지 — Joyee Cheung의 발표를 보고 정리한 글

Vanilla Web: You don't need that library

라우팅·상태 관리·템플릿팅·컴포넌트를 라이브러리 없이 브라우저 표준만으로 푸는 방법을 짚은 발표 정리다. 도구를 고르기 전에 그 도구가 가리고 있는 웹 플랫폼을 먼저 보자는 이야기다.

JavaScript의 미래: JIT를 넘어 AOT 컴파일의 시대로 (feat. Porffor)

hello world 하나를 위해 100MB짜리 런타임을 들고 다니는 게 당연한가. Porffor가 보여준 AOT 컴파일의 가능성 — 발표 영상을 보고 팀 내 공유용으로 정리한 글

리액트 스케줄러 완전 분석: MessageChannel을 선택한 이유

동료의 질문에 requestIdleCallback이라고 답했는데 틀렸다. 리액트가 MessageChannel을 고른 이유부터 Lane 우선순위, useEffect가 paint 전에 실행되는 경우까지 소스코드로 따라간 기록