アプリケーションに埋め込むのに最適なHTMLレンダリングエンジンは何ですか? [閉まっている]

StackOverflow https://stackoverflow.com/questions/184373

質問

現時点では、アプリケーションはTrident Win32コンポーネントを使用していますが、主な理由はクロスプラットフォームに移行したいという理由からです。

WebKit および Gecko ですが、決定を下す前にフィードバックを受け取りたいと思います。最も重要な要件の一部を次に示します。

  1. フットプリントが小さく、比較的高速である必要があります。理想的には、あまり労力をかけずに必要のないものをすべて削除できるようにします。

  2. 適切なドキュメントが重要です。私はそれであまりにも珍しいことをする必要があるとは思わないが、あなたは決して知らない。

  3. C ++を使用しており、可能であれば、適切に設計されたオブジェクト指向アーキテクチャを使用したいと考えています。

  4. クロスプラットフォームは必須であり、長期的には良好なパフォーマンスが役立ちます(モバイルプラットフォームへの移植が必要になる場合があります)。

決定する前に考慮する必要がある考慮事項はありますか?誰かがWebKitやGeckoで働いたことがありますか?もしそうなら、役に立つと思う記事やチュートリアルはありますか?

更新:

ご回答ありがとうございます。最終的にはWebKitを含むQt 4.5に移行しました。これまでのところ、本当に満足しています。実際、Qtはおそらく私がこれまで使用した中で最高のUIフレームワークだと思います。ネイティブWin32 APIを使用したコーディングとこれとの違いは驚異的です。また、学ぶことは本当に簡単で、私たちが抱えていた唯一の大きな問題は、シグナル/スロットのパラダイムに慣れることでした。

役に立ちましたか?

解決

小さな歴史があなたの決定に役立つかもしれません。 Appleは、Safariの作成に使用するエンジンを検討していたときにGeckoを検討しましたが、KHTMLを使用することを決定し、フォークしてWebKitと呼びました。これを行う彼らの理由は、GeckoにはNetscapeから残った大量のレガシークラフトがあり、はるかに複雑だったためです。

KHTML / WebKitはより新しく、したがってレガシーが少なくなりました。また、より簡潔で、より速く、より良く文書化されました。

Firefox 3の目標の1つは、コードベースをクリーンアップして簡素化することでした。私が聞いたことから、彼らはこれを行ったが、WebKitの現在のイテレーションとどのように比較されるかはわからない。 GoogleがChromeを作ったとき、それは明らかに不十分であり、Firefoxに大きな利害関係を持っています。

詳細については、こちらをご覧ください。

他のヒント

偏見がありますが、(LGPL-ed)Qtの使用を気にしない場合、 QtWebKit ?もちろん、クロスプラットフォームでの組み込みは非常に簡単で、Webブラウザーのデモがあり、他の関連する例

それはあなたのニーズに依存します。単純に古いHTMLを表示したいだけの場合、Webkitでさえもやり過ぎです。一部のアプリケーションでは、代わりにwxHTMLを使用しています。 wxWidgetsライブラリのコンポーネントです(ただし、wxなしで使用できるかどうかはわかりません)。軽量で、基本的なHTMLだけをサポートしています(次のバージョンではCSSサポートが利用できる可能性があります)。また、素晴らしい印刷プレビューを提供し、非常にうまく印刷できる、本当に素晴らしいwxHtmlEasyPrintingコントロールがあります。クロスプラットフォームに関しては、wxWidgetsはWindows、Linux、Mac、およびその他のシステムで動作するため、要件に確実に適合します。

Geckoの道を行くことはお勧めしません。統合することは可能ですが、KHTML / Webkitよりも難しいのは、Geckoが埋め込みを念頭に置いて構築されていないからです。

KonquerorレンダリングエンジンであるKHTMLから派生したSafari / ChromeのWebKitエンジンをお勧めします。

多くの異なるブラウザ(Konqueror、Safari、Google chrome)で使用されているWebkitを選択してください。これにより、Webkitの汎用性が高まり、他のニーズに適応しやすくなります。

Geckoの開発はFirefoxと非常に密接に関係しています。 Geckoに加えられた多くの変更は、Firefoxが指示するために行われます。たとえば、Firefox 3は、セキュリティのためにすべての自己署名証明書をブロックすることを決定しました。実装はGeckoのエンジンに行われています。つまり、Geckoを埋め込むことを決定したアプリケーションには、このセキュリティ制約が追加されています。

主にHTMLページのレンダリングエンジンとしてWebkitを使用できる場合。これは、さまざまなWebブラウザーで使用することを意図して開発されました。 Geckoは主に単一のブラウザのレンダリングエンジンであり、たまたま埋め込み用のAPIを提供しています。

Webkitは非常に優れていると理解しています。 Geckoよりも小さい。 Geckoは最近改良が加えられたはずなので、かなり似ています。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top