Skip to main content

BUILT WITH Qt

iLovePDF

유연한 데스크톱 버전 PDF 도구 개발

Qt 6 및 QML로의 마이그레이션을 통한 향상된 UI 개발

2x

애플리케이션 성능 2배 향상

98%

두 플랫폼 간 코드의 98% 공유

3x

개발자 온보딩 속도 3배 단축

 iLovePDF는 하루 평균 1,500만 명 이상의 사용자가 이용하는 온라인 PDF 관리 플랫폼입니다.
iLovePDF는 Qt for Application Development를 통해 Windows와 macOS용 iLovePDF 데스크톱 버전을 제공하고 있습니다. 이를 통해 사용자는 오프라인에서도 대용량의 PDF 작업을 단 몇 초 만에 처리할 수 있습니다.

개발자의 업무는 이전보다 훨씬 수월해졌습니다.

Alexander Giss, iLovePDF 테크니컬 리드

Qt 6 마이그레이션 주요 특징

현대적이고 매끄러우며 시각적으로 풍부한 UI

 프론트엔드와 백엔드의 명확한 분리

눈에 띄게 향상된 성능

데스크톱 경험을 현대화하라

iLovePDF는 이미 Qt 5와 기존 Qt Widgets 모듈을 사용하여 성공적인 데스크톱 애플리케이션을 구축해둔 상태였습니다. 그러나 회사가 사용성을 최우선으로 하는 접근 방식을 중시함에 따라, 진화하는 사용자 기대에 부응하기 위한 UI 개발에 대한 압박이 점차 커지고 있었습니다.

초기에는 개발자들이 QML에 대한 지식이 거의 없었기 때문에 Qt Widgets를 사용하여 새로운 데스크톱 버전을 개발할 계획이었습니다.
— Alexander Giss, iLovePDF 데스크톱 팀 테크니컬 리드

iLovePDF의 데스크톱 애플리케이션 개발 주요 과제는 다음 3가지였습니다.

  1. 사용자 인터페이스 개선: 더 매끄럽고, 직관적이며, 시각적으로도 세련된 사용자 경험을 제공하기 위해 UI를 대대적으로 개편할 필요가 있었습니다.
  2. 개발 속도 향상: 신속하게 새 기능을 출시하고 사용자 피드백에 더 빠르게 대응하기 위해 UI 개발 속도를 높여야 했습니다.
  3. 성능 및 크로스 플랫폼 지원 유지: Qt 5에서 구현했던 높은 파일 처리 속도를 유지하면서, 동시에 Windows와 macOS를 단일 코드베이스로 관리할 수 있도록 지속적으로 지원해야 했습니다.

초기 목표는 단순히 UI를 깔끔하게 만드는 것이었지만, 이후 다크 모드나 애니메이션과 같은 새로운 요구사항들이 추가되었습니다. 그렇게 되자 더 이상 Qt Widgets로 대응할 수 없었습니다.
— Alexander Giss, iLovePDF 데스크톱 팀 테크니컬 리드

Qt 6를 도입하면 더 빠르고 효율적인 개발이 가능해집니다.

Alexander Giss, iLovePDF 테크니컬 리드

BuiltWithQt-iLovePDF-UIExample-Tools-854x480

iLovePDF가 Qt 6와 QML을 선택한 이유

Qt 6로 마이그레이션하는 것과 더불어, iLovePDF 팀은 Qt의 선언형 QML 언어로의 전환을 결정했습니다. 이는 완전히 새로운 차원의 UI 개발을 가능하게 했으며, 대부분의 기술적 요구사항에 대해 별도 작업 없이 즉시 솔루션을 제공할 수 있었습니다.

UI를 완전히 다시 작성하기로 결정했기 때문에 마이그레이션 작업은 순조로웠습니다. 물론 시간이 걸리긴 했지만 오래된 버그와 제약을 모두 제거할 수 있었고, QML 덕분에 이제 매우 명확한 아키텍처를 갖게 되었습니다.
— Alexander Giss, iLovePDF 데스크톱 팀 테크니컬 리드

iLovePDF 팀은 특히 프론트엔드와 백엔드가 명확하게 분리된 것을 높이 평가하고 있습니다. 선언형 QML의 "항목 안에 다른 항목을 배치하는" 구조는 UI의 전체 구성을 직관적으로 파악할 수 있게 해주기 때문에, 쉽게 이해할 수 있고 향후 확장이 한층 더 수월해집니다.

또한 이 새로운 구성은 단일 코드베이스로 Windows와 macOS용 데스크톱 애플리케이션의 효율적인 크로스 플랫폼 개발 및 유지보수를 가능하게 하여 시간과 자원이 크게 절감됩니다.

Qt 프레임워크를 사용하면 프로젝트 코드의 97-98%가 두 플랫폼에서 완전히 공유됩니다. 몇 가지 예외만 있을 뿐, 대부분 문제없이 두 플랫폼 모두를 대상으로 프로젝트를 빌드할 수 있습니다. 개발 기간 측면에서도 큰 이점이 있으며, Windows와 macOS의 구분 없이 누구나 개발할 수 있습니다.
— Sergio Aguilera, iLovePDF 시니어 소프트웨어 엔지니어

Qt 6로의 마이그레이션은 굉장히 큰 성과를 거두었습니다.

Sergio Aguilera, iLovePDF 시니어 소프트웨어 엔지니어

BuiltWithQt-iLovePDF-UIExample-RecentsAndEditing-854x820

iLovePDF가 Qt 6 및 QML을 통해 얻은 이점

iLovePDF는 Qt 6와 QML을 선택한 결정에 매우 만족하고 있습니다. 이제 개발 효율성 향상, 애플리케이션 성능의 획기적 개선, 탁월한 사용자 경험은 물론, 전체 업무 속도를 높여 주는 다양한 개선 효과를 누리고 있습니다.

QML의 빠른 학습 곡선

새로운 아키텍처 덕분에 개발자들은 각자의 담당 영역에 집중하여 작업할 수 있게 되었습니다. 그 결과 새로 합류한 구성원도 단기간에 업무를 익힐 수 있었고, 팀 전체의 개발 생산성도 높아졌습니다.

한 개발자가 UI를 개발하고 다른 개발자가 백엔드를 개발했을 때, 마지막에 이를 통합하기만 하면 바로 작동합니다.
— Alexander Giss, iLovePDF 데스크톱 팀 테크니컬 리드

이처럼 소규모의 팀임에도 불구하고 매우 효율적으로 풀스택 개발을 수행하고 있어, iLovePDF 팀은 현재로서는 팀을 늘릴 필요가 없습니다.

QML을 쓰면 기본적으로 UI 개발 자체에 집중할 수 있습니다. 어떤 플랫폼을 대상으로 하든 상관없이 UI를 만들기만 하면 됩니다.
— Alexander Giss, iLovePDF 데스크톱 팀 테크니컬 리드

현재 iLovePDF 데스크톱 개발 팀 전원이 QML을 문제없이 다룰 수 있으며, 그럼에도 Qt 프레임워크가 발전함에 따라 관련 지식을 지속적으로 쌓아가고 있습니다.

Qt World Summit과 같은 이벤트에 주기적으로 참가하여 Qt가 발전하는 흐름에 발맞춰 최신 기술을 코드에 반영하기 위해 노력하고 있습니다.
— Alexander Giss, iLovePDF 데스크톱 팀 테크니컬 리드

QML 도입 후, 신규 개발자 온보딩과 교육 프로세스가 최대 3배까지 개선되었습니다.

Curial Lloses, iLovePDF 운영 책임자

성능의 획기적인 향상

시장 출시 속도를 높이기 위해, iLovePDF는 먼저 UI 개선에 집중하고 백엔드는 그대로 유지했습니다. 그러나 결국 백엔드도 다시 작성하게 되었고, 파일 변환이나 OCR과 같은 백엔드 작업도 개선했습니다. 그 결과 데스크톱 애플리케이션은 iLovePDF 제품 중 가장 빠른 애플리케이션이 되었습니다.

이제 QThread와 QThreadPool을 활용하여 사용 중인 컴퓨터 프로세서의 전체 성능을 끌어올립니다. 따라서 최종 사용자의 컴퓨터 성능이 좋을수록 애플리케이션도 더 빠르게 동작합니다.
— Alexander Giss, iLovePDF 데스크톱 팀 테크니컬 리드

Qt를 채택함으로써 iLovePDF 데스크톱 팀은 타사 뷰포트에 의존할 필요가 없어졌습니다. 그 대신 프론트엔드와 백엔드를 모두 직접 작성하고 구현할 수 있게 되었습니다. 다른 iLovePDF 개발팀에 비해 작업량이 많을 수는 있지만, 새롭게 얻은 개발 효율성 덕분에 데스크톱 팀도 다른 팀과 같은 속도로 새 기능을 제공하고 있습니다.

또한 팀은 Qt 6로 구현된 데스크톱 애플리케이션의 뛰어난 성능을 높이 평가하고 있습니다.

예를 들어 Qt 5.8로 작성된 동일한 애플리케이션도, 그대로 최신 Qt 버전에 맞게 적용하기만 하면 훨씬 더 뛰어난 성능을 발휘합니다.
— Sergio Aguilera, iLovePDF 시니어 소프트웨어 엔지니어

QML의 도입으로 속도가 약 5-6배 빨라졌습니다.

Alexander Giss, iLovePDF 데스크톱 팀 테크니컬 리드

BuiltWithQt-iLovePDF-UIExample-OCRAndSignature-854x820

차세대 사용자 인터페이스

사용자 중심 기업인 iLovePDF는 크게 개선되고 한층 더 매끄러워진 UI를 매우 높이 평가하고 있습니다.

QML 덕분에 경쟁사 제품보다 직관적이고 매력적인 사용자 인터페이스를 갖추게 되었습니다.
— Alexander Giss, iLovePDF 데스크톱 팀 테크니컬 리드

iLovePDF에게 있어 디지털 전문가가 아니더라도 PDF 도구를 매우 쉽게 사용하고, 빠르게 결과물을 얻을 수 있다는 점은 매우 중요합니다.

QML을 사용하여 디자인 측면에서 프론트엔드 자유도가 크게 향상되었습니다. 덕분에 우리가 원하던 데스크톱 애플리케이션을 구현할 수 있었고, 매우 편안한 사용자 경험을 제공하고 있습니다.
— Curial Lloses, iLovePDF 운영 책임자이자 공동 창업자

또한 iLovePDF 팀은 효율적인 재사용을 위한 UI 컴포넌트 라이브러리도 구축했습니다. 이를 통해 매우 빠르게 목업을 제작할 수 있을 뿐 아니라 디자이너와의 공동 실험도 진행할 수 있습니다.

새 기능을 매우 빠르게 구현할 수 있습니다. 디자인 팀에서 새로운 아이디어가 나오면, QML을 사용해 즉시 UI 스케치를 만들고 몇 시간 내에 새 기능에 대한 데모를 선보일 수 있습니다.
— Sergio Aguilera, iLovePDF 시니어 소프트웨어 엔지니어

이는 지속적인 개선 사이클을 만들고 유지하는 데도 도움이 됩니다.

QML을 사용하면 UI 내부에서 어떤 일이 일어나는지 정확히 파악할 수 있으며, 개발자 입장에서도 매우 이해하기 쉽습니다.
— Alexander Giss, iLovePDF 데스크톱 팀 테크니컬 리드

또한 팀은 Qt 5에 비해 Qt 6에서 크게 개선된 이미지, 애니메이션, 그림자 등의 효과, 그리고 렌더링 기능의 개선을 높이 평가하고 있습니다.

코드 호환성 덕분에 동일한 코드로 테스트를 해볼 수 있었는데, 테스트 결과 QML을 사용하면 속도가 약 5-6배 빨라진다는 것을 알게 되었습니다.
— Alexander Giss, iLovePDF 데스크톱 팀 테크니컬 리드

Qt 6가 지속적으로 발전하고 있다는 점도 높이 평가받고 있습니다. 예를 들어, QML의 기반이 되는  JavaScript 엔진과 QML의 페인팅 메커니즘은 Qt 6의 각 마이너 릴리스마다 점점 더 개선되고 있습니다.

 

Qt 프레임워크 자세히 알아보기

네트워킹, 실시간 기능 및 데이터 처리

iLovePDF에서 Qt 6의 활용은 UI 개발에만 그치지 않습니다. 데스크톱 팀은 Qt가 제공하는 네트워킹 기능과 데이터 처리 기능도 폭넓게 활용하고 있습니다.

Qt 프레임워크는 이해하기가 쉽고, 요청을 구성하여 전송하는 등의 작업도 어렵지 않아서 네트워킹 관련 문제점이 전혀 발생하지 않았습니다.
— Alexander Giss, iLovePDF 데스크톱 팀 테크니컬 리드

파일 시스템 접근과 같은 핵심 작업은 Qt Core 기능으로 효율적으로 관리됩니다. Qt WebSockets로 문서를 즉시 전송하는 실시간 기능을 구현하고, 오프라인에서도 일관된 경험을 제공하기 위한 로컬 데이터 지속성은 Qt SQL로 처리합니다.

네트워킹 측면에서 Alexander Giss는 Qt로 인증 및 권한 부여 메커니즘을 쉽게 구축할 수 있다는 점을 강조합니다. 이는 iLovePDF의 프리미엄 구독 기능에 대한 사용자 접근을 제어하는 데 활용되고 있습니다. 또한 iLovePDF 데스크톱은 Qt Network를 사용하여 익명 통계를 수집하고, 문제가 발생했을 때 사용자 데이터를 지원 팀에 전송하는 시스템도 구축해 두었습니다.

우수한 도구와 지원을 통한 더 높은 효율성 달성

도구

iLovePDF 개발팀은 일상적인 개발 업무에서 Qt Creator IDE를 매우 유용한 도구로 활용하고 있습니다.

Qt Creator는 지난 2년 동안 크게 개선되어 업데이트할 때마다 점점 더 좋아지고 있습니다.
— Sergio Aguilera, iLovePDF 시니어 소프트웨어 엔지니어

IDE에서 특히 높이 평가하는 것 중 하나는 변경 사항을 찾아 비교하고, 누가 이를 변경했는지 쉽게 확인할 수 있는 기능입니다. 이를 통해 버그를 해결하는 프로세스가 크게 단축됩니다.

버그를 해결하려고 할 때는 해당 코드 라인을 추가한 담당자와 이야기하는 것이 효과적입니다. 특정 방식으로 구현한 데에는 이유가 있을 수 있으니까요. Qt Creator를 사용하면 몇 번의 클릭만으로 정확한 커밋 내용과 시점, 그리고 작업자를 확인할 수 있습니다.
— Alexander Giss, iLovePDF 데스크톱 팀 테크니컬 리드

 

Qt Support

iLovePDF의 지원 팀은 사용자로부터 매우 많은 피드백을 받고 있습니다. 그 피드백 중 기술과 관련된 내용이 있을 때는 신속하게 해결책을 찾아내는 것이 중요합니다. 이 과정에서 Qt Support 팀이 큰 도움이 되었습니다.

바로 그렇기 때문에 Qt와의 지원 관계가 저희에게 중요한 것이고, Qt Support의 서비스에 매우 만족하고 있습니다.
— Curial Lloses, iLovePDF 운영 책임자

iLovePDF 팀은 Qt와의 협업이 잘 이루어지고 있으며, 상호 간의 의미 있는 학습을 바탕으로 수년 동안 지속적으로 발전해 왔다고 평가합니다.

물론 라이선스 비용은 들지만, 그만큼 지원을 받을 수 있고 필요할 때 질문할 수도 있습니다. 이 덕분에 몇몇 버그를 해결하는 데 큰 도움이 되었습니다.
— Alexander Giss, iLovePDF 데스크톱 팀 테크니컬 리드

지난 1-2년 동안 Qt Support는 크게 개선되었습니다. 우리가 사용한 각 릴리스의 지원 기간 동안 발생한 모든 이슈도 충분히 해결되었습니다.
— Sergio Aguilera, iLovePDF 시니어 소프트웨어 엔지니어

가치의 본질은 KPI로 드러나지 않습니다. 우리는 값으로 매길 수 없을 만큼 큰 성과를 얻었습니다.

Curial Lloses, iLovePDF 운영 책임자

결론

Qt의 효율성, 유연성, 그리고 포괄성을 활용하여 iLovePDF는 더 강력하고, 시각적으로 매력적이며, 더 사용자 친화적인 새로운 버전의 애플리케이션을 성공적으로 출시했습니다. Qt 6 및 QML로의 전환은 iLovePDF의 UI 현대화라는 목표를 달성할 수 있게 했을 뿐만 아니라, 개발 프로세스 자체를 크게 간소화하여 iLovePDF가 앞으로도 지속적인 혁신을 이어갈 수 있는 기반을 마련했습니다.

시간을 아마도 2배, 혹은 그 이상 절감했다고 분명하게 말할 수 있습니다. 하지만 실제로 우리가 얻은 것은 값으로 매길 수 없습니다. 이제 우리는 훨씬 더 높은 유연성과 앞으로도 더 많은 것을 성취할 수 있는 역량을 갖추게 되었습니다.
— Curial Lloses, iLovePDF 운영 책임자

iLovePDF가 또 하나 중요하게 생각한 것은 미래의 선택지를 제한하지 않고 장기적인 호환성이 보장되는 기술을 선택하는 것이었습니다.

어떤 플랫폼을 대상으로 할지, 어떤 사용자 경험을 제공할지 등에 있어 과거의 결정에 발목 잡히고 싶지 않았습니다. Qt 6는 그 자유를 저희에게 제공해 주었습니다. 그래서 Qt가 우리에게 매우 가치 있는 것입니다.
— Curial Lloses, iLovePDF 운영 책임자

 

IlovePDF@2x

iLovePDF 소개

iLovePDF는 모든 사람이 PDF를 쉽고 편리하며 안정적으로 관리할 수 있도록 하는 것을 사명으로 삼고 있습니다. 바르셀로나에서 설립된 iLovePDF는 단순한 온라인 도구에서 출발하여 하루 평균 1,500만 명 이상의 사용자가 이용하는 글로벌 생산성 플랫폼으로 성장했습니다. 전 세계에서 가장 많이 방문하는 상위 50위 웹사이트 중 하나이기도 합니다. iLovePDF는 웹, 데스크톱, 모바일 등 다양한 플랫폼을 지원하는 포괄적인 PDF 도구 제품군을 제공하여, 사용자가 PDF 문서를 손쉽게 변환·수정·전자 서명·워터마크 추가·병합·압축할 수 있도록 지원합니다.

더 많은 성공 사례를 살펴보세요

Qt 6의 강력함을 확인해 보세요

Qt 프레임워크 및 QML 더 알아보기