-
Ladybird는 Chrome 기반이 아닌 독립적인 웹 브라우저를 목표로 하는 오픈 소스 프로젝트임.
-
C++ 로 작성되었으며, 2-Clause BSD 라이선스를 따름.
-
SerenityOS 프로젝트의 일부로 시작되었으나, 개발자 Andreas Kling이 독립 프로젝트로 분리함.
프로젝트 배경
-
Andreas Kling은 2018년 SerenityOS를 시작했으며, 이후 Ladybird 브라우저에 집중하기 위해 SerenityOS에서 물러남.
-
SerenityOS는 Kling이 재활 프로그램을 마친 후 시작한 프로젝트로, Apple과 Nokia에서 WebKit 기반 브라우저를 작업한 경험이 있음.
프로젝트 진행 상황
-
Ladybird는 아직 초기 개발 단계(프리-알파)임.
- 현재 Linux, macOS 및 기타 UNIX 계열 운영체제에서 실행 가능함.
-
Windows에서는 WSL2를 통해 실행 가능하지만, 독립적인 Windows 지원은 아직 없음.
- 프로젝트는 현재 어떤 플랫폼에서도 바이너리를 제공하지 않으며, 소스를 직접 빌드해야 함.
기능 및 성능
-
기본 기능: URL/검색 바, 새로고침, 탭, 콘텐츠 확대/축소, 스크린샷, 앞/뒤로 이동 기능이 있음.
-
부족한 기능: 북마크, 히스토리, 확장 기능, 비밀번호 관리, 인쇄, 이미지 저장 기능이 없음.
-
CSS 지원: CSS Selectors 테스트에서 레벨 1-3은 100%, 레벨 4는 53%를 기록함.
-
JavaScript 지원: 작동은 하지만 속도가 느림.
-
개발자 도구: DOM 트리와 접근성 트리 검사기, 다양한 덤프 생성 기능, User-Agent 스푸핑 기능이 있음.
향후 계획
-
기존 라이브러리 사용: SerenityOS에서 자체 개발한 라이브러리 대신 기존 라이브러리를 사용할 계획임.
-
개발자 참여: 프로젝트는 Discord 서버에서 개발 논의를 진행하며, 유지 관리자는 초대에 의해 선정됨.
GN⁺의 의견
-
기술적 도전: Ladybird는 독립적인 웹 브라우저를 목표로 하지만, 현재의 기능과 성능은 아직 주류 브라우저와 비교하기 어려움. 특히, 보안과 성능 측면에서 많은 개선이 필요함.
-
개발 커뮤니티: 프로젝트가 성공하려면 활발한 개발자 커뮤니티와 지속적인 기여가 필요함. Kling의 YouTube 채널과 Discord 서버는 이를 위한 좋은 출발점이 될 수 있음.
-
기존 브라우저와의 경쟁: Firefox나 Chrome과 같은 기존 브라우저와 경쟁하기 위해서는 많은 시간이 필요할 것으로 보임. 특히, 웹 표준 준수와 다양한 기능 지원이 중요함.
-
기술 선택: C++로 작성된 Ladybird는 성능 면에서 장점이 있을 수 있지만, Rust와 같은 현대적인 언어를 사용하는 것도 고려해볼 만함. Rust는 메모리 안전성과 성능 면에서 많은 장점을 제공함.
-
사용자 경험: 현재 Ladybird는 일반 사용자에게는 적합하지 않음. 사용자 경험을 개선하고, 더 많은 기능을 추가하는 것이 중요함.