Skip to main content

BUILT WITH Qt

iLovePDF

Fluid Desktop Version of the PDF Tools

Qt 6 × QML で実現する、次世代 UI 開発への進化

2倍

アプリケーション性能が 2 倍に向上

98%

2 つのプラットフォーム間でコードの 98% を共有

3倍

開発者のオンボーディングを 3 倍高速化

iLovePDF は、1 日あたり 1,500 万人以上のユーザーに利用されているオンライン PDF 管理プラットフォームです。同社は Qt for Application Development により、Windows および macOS 向けの iLovePDF Desktop も提供しています。これにより、ユーザーは大量の PDF 処理をオフライン環境でも数秒で実行できます。

開発者の業務は、以前よりも大幅に楽になりました。

Alexander Giss氏、iLovePDF テクニカルリード

Qt 6 移行の主なハイライト

モダンで滑らか、視覚的にリッチな UI

フロントエンドとバックエンドの明確な分離

パフォーマンスを大幅に改善

課題:デスクトップ体験のモダナイゼーション

iLovePDF は、Qt 5 および従来の Qt Widgets モジュールを用いて、すでに成功したデスクトップアプリケーションを構築していました。しかし、ユーザビリティを最優先する同社の方針のもと、進化し続けるユーザーの期待に応えるため、UI 開発には次第に大きなプレッシャーがかかるようになっていました。

「当初は、開発者が QML に関する知識をほとんど持っていなかったため、Qt Widgets を使って新しいデスクトップ版を開発する予定でした」
—— iLovePDF デスクトップチーム テクニカルリード、Alexander Giss 氏

デスクトップアプリケーションにおける主な課題は、次の 3 点でした。

  1. ユーザーインターフェースの刷新: より滑らかで直感的、かつ視覚的に洗練された体験を提供するため、大幅な UI の見直しが必要でした。
  2. 開発スピードの向上: 新機能の迅速なリリースと、ユーザーフィードバックへの素早い対応を実現するため、UI 開発の加速が求められていました。
  3. パフォーマンスとクロスプラットフォーム対応の維持: Qt 5 で実現していた高いファイル処理性能を維持しつつ、Windows と macOS の両方を単一で管理可能なコードベースから継続的にサポートする必要がありました。

「最初の目標は UI を美しくすることでしたが、その後、ダークモードやアニメーションなどの要件が追加されていきました。そうなると、Qt Widgets で対応し続けるのは現実的ではなくなったのです」
—— Alexander Giss 氏

Qt 6 の導入により、より迅速で効率的な開発が可能になります。

Alexander Giss氏、iLovePDF テクニカルリード

BuiltWithQt-iLovePDF-UIExample-Tools-854x480

解決策:iLovePDF が Qt 6 と QML を選択した理由

Qt 6 への移行に加え、iLovePDF チームは Qt の宣言型 QML 言語への切り替えも決断しました。これにより、UI 開発は新たな次元へと進化し、ほぼすべての技術要件に対してすぐに使える包括的なソリューションを実現しました。

「UI 部分を完全に書き直す判断をしたことで、移行は比較的スムーズでした。確かに時間はかかりましたが、古いバグや制約を一掃でき、QML のおかげで非常に明確なアーキテクチャを手に入れることができました」
—— Alexander Giss 氏

チームは、フロントエンドとバックエンドが明確に分離された構成を実現できた点を高く評価しています。QML の「アイテムの中にアイテムを配置する」宣言型構造により、UI 全体の構成を直感的に把握しやすくなり、理解や将来的な拡張も容易になりました。

さらに、この新しい構成により、Windows と macOS の両方を単一のコードベースから効率的に開発・保守できるようになり、時間とリソースを大幅に削減しています。

「Qt フレームワークを使うことで、プロジェクト内のコードの 97〜98%を 2 つのプラットフォーム間で完全に共有できています。一部の例外はありますが、ほぼ問題なく両プラットフォーム向けに開発できます。開発期間の面でも大きなメリットがあり、Windows でも macOS でも、環境を意識せずに誰でも開発できるのは非常に良い点です」
—— iLovePDF シニアソフトウェアエンジニア、Sergio Aguilera 氏

Qt 6 への移行は、投資に見合う十分な価値がありました。

Sergio Aguilera氏、iLovePDF シニアソフトウェアエンジニア

BuiltWithQt-iLovePDF-UIExample-RecentsAndEditing-854x820

Qt 6 と QML によって iLovePDF が得た成果

iLovePDF は、Qt 6 と QML を選択した判断に非常に満足しています。現在では、開発効率の向上、アプリケーション性能の大幅な改善、優れたユーザー体験など、多くの恩恵を受けており、ワークフロー全体を加速させるさまざまな改善が実現しています。

QML の高い習得性

新しいアーキテクチャにより、開発者はそれぞれの担当領域に集中して作業できるようになりました。その結果、新しく参加したメンバーでも短期間でキャッチアップできるようになり、チーム全体の開発効率が向上しています。

「たとえば、ある開発者が UI を、別の開発者がバックエンドを担当し、最後に統合するだけで問題なく動作します」
—— Alexander Giss 氏

小規模チームでありながら、デスクトップアプリケーションのフルスタック開発を非常に効率よく進められており、現時点ではチームを拡大する必要すらありません。

「QML では、基本的に UI 開発そのものに集中できます。どのプラットフォーム向けかを意識する必要はなく、UI を作るだけで良いのです」
—— Alexander Giss 氏

現在、デスクトップ開発チームの全員が QML を問題なく扱えるようになっています。さらに Qt Framework の進化に合わせて、継続的にスキルとコードの改善にも取り組んでいます。

「Qt の進化に追随し、新しい技術をコードに取り入れるために、Qt World Summit にも参加しています」
—— Alexander Giss 氏

QML への移行により、新しい開発者のオンボーディングとトレーニングのプロセスが、最大で 3 倍効率化されました。

Curial Lloses氏、 iLovePDF オペレーションズオフィサー

パフォーマンスの大幅な向上

市場投入までのスピードを高めるため、iLovePDF はまず UI の改善に注力し、バックエンドには手を加えない方針を取りました。しかし最終的には、ファイル変換や OCR といった処理を含むバックエンドの再設計にも踏み切りました。その結果、デスクトップアプリケーションは iLovePDF 製品群の中で最も高速なアプリへと進化しました。

「現在は QThread と QThreadPool  を活用し、使用するコンピューターの CPU 処理能力を最大限に引き出しています。そのため、エンドユーザーのマシン性能が高いほど、アプリケーションもより高速に動作します」
—— Alexander Giss 氏

Qt を採用したことで、デスクトップチームはサードパーティ製のビューポートに依存する必要がなくなり、フロントエンドとバックエンドの両方を自分たちで実装できるようになりました。他の iLovePDF 開発チームと比べると作業量は多いものの、新たに得られた開発効率のおかげで、新機能の提供スピードは他チームと同等を維持しています。

さらにチームは、Qt 6 によって実現されたデスクトップアプリケーションの高いパフォーマンスを高く評価しています。

「たとえば Qt 5.8 向けに書かれた同じアプリケーションでも、そのまま最新の Qt バージョンに対応させるだけで、はるかに高いパフォーマンスを発揮します」
—— Sergio Aguilera 氏

QMLの導入により、速度はおよそ 5〜6 倍高速化されています。

Alexander Giss氏、iLovePDF テクニカルリード

BuiltWithQt-iLovePDF-UIExample-OCRAndSignature-854x820

次世代レベルのユーザーインターフェース

ユーザー志向を重視する企業として、iLovePDF は大幅に改善され、より滑らかになった UI を高く評価しています。

「QML によって、競合製品よりも直感的で魅力的なユーザーインターフェースを実現できました」
—— Alexander Giss 氏

iLovePDF にとって、デジタルに詳しくないユーザーでも簡単に PDF ツールを使え、素早く結果を得られることは非常に重要です。

「QML により、デザイン面でのフロントエンドの自由度が大きく向上しました。そのおかげで、私たちが本当に作りたかったデスクトップアプリケーションを形にでき、ユーザーにとって非常に快適な体験を提供できています」
—— Curial Lloses 氏(iLovePDF オペレーションズ・オフィサー/創業メンバー)

iLovePDF チームは、効率的な再利用を目的とした UI コンポーネントのライブラリも構築しました。これにより、非常に高速なモックアップ作成が可能になり、デザイナーとの共同実験を加速しています。

「新機能は非常に短時間で実装できます。デザインチームから新しいアイデアが出ると、QML を使ってすぐに UI スケッチを作成し、数時間以内にデモを用意できます」
—— Sergio Aguilera 氏

こうした取り組みは、継続的な改善サイクルの構築と維持にもつながっています。

「QML を使えば、UI 内部で何が起きているのかが一目で分かり、開発者にとって非常に理解しやすいのです」
—— Alexander Giss 氏

さらにチームは、Qt 6 で大きく進化した画像表現、アニメーション、シャドウなどのエフェクト、描画性能も高く評価しています。

「コード互換性があるため、同じコードでテストを行いましたが、QML では速度が約 5〜6 倍に向上しました」
—— Alexander Giss 氏

また、Qt 6 が継続的に進化している点も評価されています。たとえば、QML の背後にある JavaScript エンジンや描画メカニズムは、Qt 6 のリリースごとに着実に改善されています。

 

Qt フレームワークについて詳しく

ネットワーキング、リアルタイム機能、データ処理

iLovePDF における Qt 6 の活用は、UI 開発にとどまりません。デスクトップチームは、Qt が提供するネットワーキングおよデータ処理機能も幅広く活用しています。

「Qt Framework は理解しやすく、リクエストの実装なども簡単に行えるため、ネットワーキングで特に問題を感じたことはありません」
—— Alexander Giss 氏

ファイルシステムへのアクセスといったコアな処理は Qt Core の機能によって効率的に管理されています。また、Qt WebSockets によりドキュメントの即時転送といったリアルタイム機能を実現し、Qt SQL を用いたローカルデータの永続化によって、一貫したオフライン体験も提供しています。

ネットワーキングの面では、Qt を使うことで認証および認可の仕組みを容易に構築できる点が評価されています。これらは、iLovePDF のプレミアムサブスクリプション機能へのアクセス制御に活用されています。

さらに、iLovePDF Desktop では Qt Network を用いて匿名の利用統計を収集するとともに、問題発生時にはサポートチームへユーザーデータを送信できる仕組みも整えています。

優れたツールとサポートによる、さらなる効率化

ツール

iLovePDF の開発チームは、日々の開発業務において Qt Creator IDE を非常に有用なツールとして活用しています。

「Qt Creator は、この 2 年ほどで大きく進化し、アップデートのたびにどんどん良くなっています」
—— Sergio Aguilera 氏

チームが特に評価している IDE の機能のひとつが、変更内容の検索・比較や、誰がいつ変更したのかを簡単に確認できる点です。これにより、バグ修正までのプロセスが大幅に短縮されています。

「バグを解決する際には、そのコードを書いた本人と話すことが有効な場合があります。なぜその実装になったのか理由があるかもしれないからです。Qt Creator なら、該当するコミットや実装時期、担当者を数クリックで特定できます」
—— Alexander Giss 氏

Qt サポート

iLovePDF のサポートチームは、ユーザーから非常に多くのフィードバックを受け取っています。その中で、技術に関するフィードバックについては、迅速に回避策や解決策を見つけることが重要です。この点において、Qt サポートチームは大きな助けになっていると評価されています。

「だからこそ、Qt とサポート関係を築くことが私たちにとって重要であり、Qt サポートにはとても満足しています」
—— Curial Lloses 氏

iLovePDF チームは、Qt とのコラボレーションが年々うまく機能し、相互に学び合いながら着実に改善されてきたと感じています。

「ライセンス費用はかかりますが、その分サポートを受けられ、必要なときには質問もできます。この点が、いくつかのバグ解決に大きく役立ちました」
—— Alexander Giss 氏

「Qt サポートは、ここ 1〜2 年で大きく改善されています。これまで利用してきた各リリースのサポート期間中も、問題は適切にカバーされてきました」
—— Sergio Aguilera 氏

価値の本質は KPI には表れません。今回得られた成果は、計り知れないものです。

Curial Lloses氏、iLovePDF オペレーションオフィサー

結論

Qt が持つ 高い効率性、柔軟性、そして包括的な機能を最大限に活用することで、iLovePDF は、より高性能で、視覚的にも魅力的、かつユーザーフレンドリーな新しいアプリケーションのリリースに成功しました。Qt 6 と QML への移行は、UI のモダナイゼーションという目標を達成しただけでなく、開発プロセスそのものを大幅に効率化し、iLovePDF が今後も継続的にイノベーションを生み出していくための基盤を築いています。

「時間を節約できたと言うこともできます。おそらく 2 倍、あるいはそれ以上でしょう。しかし実際には、私たちが得たものは計り知れません。今では、はるかに高い柔軟性を持ち、将来に向けてより多くのことを実現できる力を手に入れています」
—— Curial Lloses 氏

iLovePDF にとってもうひとつ重要なのは、将来の選択肢を狭めることなく、長期的な互換性を確保できる技術選定を行うことでした。

「どのプラットフォームをターゲットにするのか、どのようなユーザー体験を提供するのかといった点で、過去の判断に縛られたくはありません。Qt 6 は、その自由を私たちに与えてくれます。だからこそ、Qt は私たちにとって非常に価値のある存在なのです」
—— Curial Lloses 氏

 

IlovePDF@2x

iLovePDFについて

iLovePDF は、PDF 管理を誰にとっても簡単で、身近かつ信頼できるものにすることを使命としています。 万人以上のユーザーに利用される、グローバルな生産性プラットフォームへと成長しました。世界で最も訪問されている Web サイトのトップ 50 にもランクインしています。iLovePDF は、Web、デスクトップ、モバイルといった各プラットフォームに対応した 包括的な PDF ツール群を提供しており、PDF の変換、編集、電子署名、透かし追加、結合、圧縮などを、誰でも簡単に行うことができます。

その他のユースケース

Qt 6 の真価を体感する

Qt フレームワークとQML