본문으로 건너뛰기
피드

Hologram v0.8.0 — Elixir에서 JavaScript를 직접 호출할 수 있게 됨

frontend 약 3분

Elixir 풀스택 프레임워크 Hologram v0.8.0이 JS 인터롭을 추가. Elixir에서 JS 함수 호출, npm 패키지, Web API, Web Components를 직접 사용 가능. Promise는 Elixir Task로 변환됨.

  • 1

    JS.call, JS.get/set, JS.new, ~JS 시길 등으로 Elixir에서 JS 직접 호출 가능

  • 2

    값 자동 박싱/언박싱, JS Promise가 Elixir Task로 변환

  • 3

    Web Components 템플릿 지원 추가

  • 4

    270커밋, JS 인터롭 PR만 7000줄 이상

  • 5

    Breaking change: ~JS 시길에 use Hologram.JS 명시 필요

  • Elixir 풀스택 프레임워크 Hologram이 v0.8.0에서 프로젝트 시작 이래 가장 많이 요청된 기능인 JS 인터롭을 추가함
  • Elixir 코드에서 JS 함수 호출, npm 패키지 사용, Web API 접근, Web Components 활용이 전부 가능해짐. 클라이언트 사이드에서 레이턴시 없이 즉시 실행됨
  • API 구성: JS.call로 함수 호출, JS.get/set/delete로 프로퍼티 접근, JS.new로 클래스 인스턴스 생성, JS.eval이나 ~JS 시길로 raw JS 실행 가능
  • Elixir-JS 경계에서 값이 자동으로 박싱/언박싱됨. JS 네이티브 타입(객체 참조, 함수 등)은 NativeValue 구조체로 감싸져서 오파크하게 처리됨
  • JS Promise가 Elixir Task로 변환돼서 Task.await/1으로 결과를 받을 수 있음. fetch API 같은 비동기 작업이 Elixir 시맨틱스에 자연스럽게 통합됨
  • Web Components도 템플릿에서 바로 사용 가능. 커스텀 HTML 태그를 파서가 인식함
  • 릴리스 규모: 270커밋, 162파일 변경. JS 인터롭 PR 하나가 150파일에 걸쳐 7,000줄 이상
  • Breaking change: ~JS 시길이 더 이상 자동 임포트되지 않으므로 use Hologram.JS를 명시적으로 추가해야 함
  • 향후 계획으로 Elixir의 프로세스 모델을 클라이언트 사이드로 포팅할 예정. 이번 비동기 인프라가 그 첫 단계임

원문 보기

JS Promise를 Elixir Task로 매핑한 설계가 영리함. 궁극적으로 Elixir 프로세스 모델을 브라우저로 가져오겠다는 로드맵의 첫 걸음이라는 점에서 방향성이 명확함.

댓글

댓글

댓글을 불러오는 중...

frontend

미래적인 텍스트를 만드는 6가지 영화 로고 꼼수

2016년에 나온 타이포그래피 글이지만, SF 영화 로고가 왜 비슷하게 ‘미래적’으로 보이는지 꽤 웃기고 정확하게 해부한다. 기울임, 각진 곡선, V자 형태, 글자 결합, 일부 획 제거, 금속 질감과 별 배경까지 더하면 대충 2092년 느낌이 난다는 식이다.

frontend

브라우저에서 진짜 하늘과 행성 대기를 렌더링하는 법

이 글은 파란 하늘, 노을, 행성 대기를 셰이더로 렌더링하는 과정을 단계별로 파고든다. Rayleigh 산란, Mie 산란, 오존 흡수, 깊이 버퍼, 행성 스케일 처리, LUT 기반 최적화까지 다뤄서 WebGL·React Three Fiber 쪽 개발자에게 꽤 실전적인 자료다.

frontend

블로그 글이 현재 시간을 알려준다? CDN 헤더로 만든 서버리스 시계 실험

이 글은 Cloudflare CDN의 응답 헤더와 브라우저 PerformanceResourceTiming API를 이용해 웹페이지 안에서 현재 시간을 추정하는 실험을 다룬다. NTP처럼 전용 시간 서버를 운영하지 않고도 CDN이 사실상 시간 기준점처럼 동작할 수 있다는 아이디어다. 실제 테스트에서는 웹 시계 오차 범위가 약 60ms로, ntpdig의 약 6ms보다 한 자릿수 정도 덜 정밀했다.

frontend

쿼리 스트링 차단 선언한 개인 웹사이트 운영자의 빡침

한 개인 웹사이트 운영자가 자기 사이트 URL에 임의의 쿼리 스트링을 붙이는 관행을 아예 막겠다고 선언했다. 특히 ref, UTM 같은 추적 파라미터를 남의 URL에 붙이는 건 사용자와 사이트 운영자 모두에게 무례한 일이라는 주장이다.

frontend

번은 좋은데, 이제 앤트로픽 품에 있어서 불안하다는 얘기

글쓴이는 번이 빠르고 실용적인 자바스크립트 런타임이라는 점은 인정하지만, 앤트로픽 인수 이후 장기적인 방향을 신뢰하기 어려워졌다고 말한다. 특히 클로드 코드의 품질 저하, 과금 혼란, 서드파티 하네스 제한 사례를 보며 번도 같은 제품 운영 방식에 휘말릴 수 있다고 우려한다.