1P by GN⁺ 18시간전 | ★ favorite | 댓글 1개
  • Ladybird는 7월 한 달 동안 47명의 기여자들이 319개의 풀 리퀘스트를 병합함
  • Web Platform Tests에서 1,831,856개까지 합격 테스트 수가 증가함
  • Google reCAPTCHA 통과 문제를 해결하여 레디버드의 호환성이 향상됨
  • HTTP/3, 고주사율 지원, Trusted Types 등 현대 웹 표준에 기반한 기능과 보안 개선을 이룸
  • CSS 기능 확대 및 내부 문자열 인코딩 개선 등으로 최신 브라우저와의 호환성 및 성능이 증대됨

7월 Ladybird 프로젝트 주요 성과

Ladybird 프로젝트는 오픈 웹을 지지하는 기업과 개인의 지원으로 전적으로 운영됨
이번 달에는 신규 후원자들이 함께하게 되어 개발팀에게 큰 힘이 되었음
후원에 관심 있는 기업이나 개인은 contact@ladybird.org로 연락 가능함

Web Platform Tests (WPT)

  • Web Platform Tests에서 7월 한 달간 새로 13,090개의 테스트가 통과되어, 총 통과 테스트 수가 1,831,856건이 됨
  • 이로써 웹 호환성 및 표준 준수 수준이 크게 향상됨

Google reCAPTCHA 통과

  • postMessage 구현에서 직렬화 타입이 처음 사용되는 경우 재구성이 불가능했던 오래된 문제가 존재했음
  • 이 오류가 수정되어 Google reCAPTCHA가 정상적으로 동작하게 됨
  • 단, 이 개선사항은 현재 동일 출처 정책 이슈로 https://www.google.com/ 도메인에서만 적용됨

고주사율 지원

  • 활성 화면의 리프레시 레이트를 자동 감지하여, 웹 콘텐츠 렌더링 빈도를 조정함
  • 예전에는 최대 60fps로 고정됐다면, 하드웨어가 지원할 경우 최대 120Hz로 렌더링이 이루어짐
  • 이로 인해 스크롤, 애니메이션, 전환 효과 등이 더욱 부드러워짐

HTTP/3 지원

  • curl 8.14.0과 OpenSSL 및 ngtcp2의 지원으로 Ladybird에서도 HTTP/3를 사용할 수 있게 됨
  • 서버에서 Alt-Svc 헤더로 HTTP/3를 광고하면 이를 자동으로 협상하여 연결함
  • curl의 Alt-Svc 관련 버그를 Ladybird팀이 발견해 보고했고, 이 문제는 curl 8.15.0에서 수정됨

Trusted Types 도입

  • Trusted Types는 크로스 사이트 스크립팅(XSS) 공격을 방지하는 중요한 보안 기능임
  • 이 기능을 Ladybird에 최초로 도입함에 따라, 정책 인식 및 타입 안전한 DOM 쓰기를 지원하게 됨
  • 향후 표준을 더 넓게 지원하고, 스펙 준수성을 높이기 위한 작업이 계속 진행 중임

SVG foreignObject 개선

  • SVG와 HTML의 상호운용성을 높이기 위해 foreignObject 처리 로직을 대폭 개선함
  • 레이아웃, 스타일 해석, 렌더링 등이 사양에 더욱 가까워졌음

CSS 확장 기능

  • content: url(...) 지원을 추가하여 CSS 내용에서 이미지 삽입이 가능해짐
  • 두 가지 신규 의사 클래스(:state(foo), :unchecked) 로 웹 컴포넌트 및 폼 스타일링 호환성을 높임
  • 논리 속성 그룹 구현을 최적화해서 CSS 재현력과 성능을 개선함

임의 대입 함수 정비

  • var()attr()의 구현을 최신 CSS 사양의 임의 대입 함수 정의와 일치시켜 재작성함
  • 향후 if(), env()처럼 다양한 대입 함수 지원의 토대 마련

CSS <syntax> 파싱

  • 속성 값의 기대 문법을 <syntax>로 정의할 수 있도록 지원함
  • 예를 들어 color: attr(data-color type(<color>)); 형태로 사용할 경우, 데이터 속성을 CSS 컬러로 인식해 처리함
  • CSS Houdini 및 커스텀 프로퍼티의 동작이 한층 정교해짐

@property 진전

  • 기존의 @property 기능 구현을 확장하여 초기값 처리 및 CSS.registerProperty() 지원을 추가함
  • CSS Houdini와의 호환에 한 걸음 가까워짐

웹의 UTF-16 문자 인코딩

  • 웹과 JavaScript 문자열이 UTF-16을 기본 인코딩으로 사용함에 따라,
  • 레디버드는 기존 내부 UTF-8 코드에서 네이티브 UTF-16 타입으로 전환 중임
  • Unicode 처리의 정확도가 높아지고, 인코딩 관련 잠재 오류를 줄일 수 있게 됨

7월 기여자 명단

  • 7월 한 달 Ladybird 프로젝트에 코드를 기여한 수많은 개발자들에게 감사를 표함
  • 오픈 소스 커뮤니티의 활발한 활동이 지속적으로 이루어짐
Hacker News 의견
  • 여러분 정말 대단함을 보여줌. 이런 시대에 새로운 엔진이 등장할 줄 누가 알았겠음, 그리고 대기업의 막대한 투자도 없이 소규모 팀이 이걸 해내다니 정말 내 인생에서 본 가장 멋진 광경 중 하나임
    • 엔터프라이즈 소프트웨어 팀에서 일해본 사람이라면 이런 일이 충분히 가능함을 알 것임. 컴퓨팅 역사는 2~10인 소규모 팀이 자금이 넘치는 대기업 팀보다 더 빠르게 혁신을 이뤄낸 사례로 가득함. 이런 일이 주로 일어나는 이유는 파킨슨의 법칙 때문임—업무는 주어진 시간과 자원만큼 확장되며, 대기업은 사실상 자원이 무한함
  • 기여를 시작하려면 아래 가이드를 확인해보길 추천함
    https://github.com/LadybirdBrowser/ladybird/…
    최신 Web Platform Test 결과는 여기에 있음
    https://wpt.fyi/results/?run_id=6292901677236224
    질문을 할 수 있는 Discord도 있음
    https://discord.gg/c8JEZkDvtY
    직접 빌드해서 웹사이트에서 테스트해보고, Firefox나 Chrome과 비교해 잘 안 되는 부분을 고쳐서 PR을 제출하면 됨
    Ladybird 빌드 방법은
    https://github.com/LadybirdBrowser/ladybird/… 참고
    • 기여해보려 했는데, C++ 코드가 너무 어려워서 이해하지 못했음이 아쉬움
  • 고주사율 지원을 위해 120Hz로 제한하는 것은 이상하다고 느꼈음. 고주사율 모니터의 대부분이 144Hz이고, 더 높은 것도 있음. 144Hz 모니터에서 120fps 애니메이션을 돌리면 프레임이 중복되어 실제로 혜택이 사라짐
    • 처음엔 모바일을 고려한 것 아닐까 생각했는데, Ladybird가 아직은 모바일을 지원하지 않는 것 같음. “이제 requestAnimationFrame이 최대 120Hz로 렌더링 가능”이라고 적혀 있는데, 60에서 120으로 성능 이슈로 바꾼 것 같음. 추후 144나 240까지도 확장할 수 있을 거로 기대함
    • 구현한 개발자가 120Hz 모니터만 갖고 있었을 가능성도 떠오름
    • 뉴스레터의 텍스트가 살짝 잘못 쓰인 것 같음. 실제 코드를 보면, 사용 중인 화면의 주사율에 맞게 설정되어 있음
  • Twitter에서 Andreas가 FUTO 콘퍼런스에서 발표한 Ladybird 브라우저 키노트가 프로젝트를 소개하는 최고의 자료라고 언급함
    https://www.youtube.com/watch?v=9YM7pDMLvr4
    • 몇 달 전에 우연히 YouTube에서 이 발표를 봤는데, 브라우저 개발자가 아니어도 따라가기 쉽고 재밌는 아주 좋은 발표였음. Andreas가 발표를 정말 잘함
  • 이 프로젝트는 정말 중요함. 웹의 미래를 대기업이 전적으로 통제하지 못하게 만드는 데 의미가 있음. 그리고 Andreas가 정말 친절하고 겸손한 사람이라는 평판도 한몫함
    • Andreas가 정말 진솔하고 겸손하다는 데 공감함. 매달 올리는 업데이트 영상은 힐링 그 자체임
    • 이 프로젝트가 실제로 대기업의 영향력을 줄이려면 Firefox보다 더 큰 점유율을 가져야 한다는 점을 생각하게 됨. Firefox도 기업이 만든 게 아니기 때문임
    • 개발 속도를 높이기 위해 LLM 같은 AI 모델을 도입하고 있는지 궁금함. 15년 전만 해도 새로운 브라우저를 만드는 건 매우 대담한 결정이었는데, 지금은 오히려 합리적인 것처럼 느껴짐
  • 열정과 믿음으로 많은 사람들이 모여 함께 프로젝트를 만들어가는 모습이 정말 보기 좋음. Ladybird를 주 브라우저로 쓸 수 있을 만큼 성장하길 진심으로 기대함
    • 빌드하는 데 15~20분밖에 안 걸리니 직접 컴파일해서 웹사이트에서 테스트해보고 Firefox, Chrome과 비교한 뒤 안 되는 걸 찾아 고쳐서 PR을 내보라는 팁을 공유함
      https://github.com/LadybirdBrowser/ladybird/…
  • Ladybird가 언젠가 WHAT-WG steering group 회원이 될 수 있을지 궁금함. 좀 더 독립적인 목소리가 그곳에서 들리면 좋겠다고 생각함
    • 그런데 Ladybird 팀이 대기업 정치에 관심을 갖기보다는 기능 개발에 더 집중할 것 같다고 느낌
  • 이 프로젝트가 정말로 시장에서 자리를 잡길 바람. 나는 오랫동안 Firefox를 써왔지만, Mozilla 상황이 점점 안 좋아지는 걸 보면 이런 프로젝트만이 크롬 클론 전쟁에서 우리를 구해줄 수 있는 유일한 희망처럼 느껴짐
  • Arch 기반 리눅스 배포판을 사용한다면 Ladybird가 AUR에 등록되어 있어 쉽게 설치 가능함. 지금 컴파일 중임
  • 현재 Ladybird 사용 경험이 어떤지 궁금함. 난 FF를 쓰다가 왔기 때문에 ublock이나 YouTube 확장 몇 개만 필요함
    • 지금은 프리-알파 단계라서 거의 모든 현대 웹사이트에서 제대로 동작하지 않고 있음(내가 직접 컴파일해서 테스트함). 아직 사용하기에는 무리가 있음. 공식 타깃 릴리스 시기는 2028년이라고 함
      https://x.com/ladybirdbrowser/status/1895767072639951341