私のアプリケーションの1つに、最小限のWebインターフェイスを提供したいと思います。このコアアプリケーションはC++で記述されており、フレームワークとしてQt4を使用します。いくつかの計算や複雑なデータ管理を行うために作成したライブラリも使用しているため、この既存のコードをWebインターフェイスのバックエンドとして使用したいと思います。
アイデア1:組み込みWebサーバーを使用する
私が最初に試した(そしてある程度は機能した)のは、組み込みWebサーバー(mongoose)を使用することでした。ご想像のとおり、これは非常に薄いライブラリであり、多くのこと(セッション管理、Cookieなど)を自分で実装する必要があります。
アイデア2:通常のWebサーバーを使用し、アプリケーションにfcgi / cgi/scgiバックエンドを追加する
次に頭に浮かんだのは、成熟したコンパクトなWebサーバー(たとえばlighttpd)を使用し、それにfcgi / scgi/cgiバックエンドを提供することでした。Pylons、PHP、RoRなどの優れたフレームワークを使用してWebアプリケーションを作成し(...)/a/...
、バックエンドと直接通信できるようなURLプレフィックスを付けることができます。
libfcgiをアプリケーションに実装しようとしましたが、必要以上に面倒に見えます(たとえば、アプリとWebサーバー間でデータを渡し、FCGIライブラリを介してデータをトンネリングするには、独自のTCP/IPソケットを実装する必要があります。 meh)
アイデア3:最も基本的なことを実行し、残りを実行するために通常のWebサーバーとフレームワークを使用するアプリケーションのコマンドラインバージョンを作成する
これは私の頭に浮かんだ3番目のアイデアです。基本的には、従来の方法(PHP、RoRなど)を使用してWebアプリケーションを作成し、アプリケーションのコマンドラインバージョンを使用してデータを処理し、必要に応じて返すことです。
Webアプリケーションの作成経験はありますが、こんなことをする必要はなかったので、アイデアや提案を聞きたいです。ブラウザ(つまりAJAX)でJavaScriptを使用し、Webブラウザとサーバー間でいくつかのJSON構造を渡して、ユーザーエクスペリエンスを少しスムーズにしたいと思います。
それで、あなたの提案、これに関するアイデアは何ですか?正直なところ、車輪の再発明はしたくありません。