- ベストアンサー
C or C++でwebアプリを作りたいのですが
Linuxでそれを実現できるベストな無料のツールやフレームワークを教えてください PHP,Perl,Javaよりもずっと早いwebアプリを作りたいのです よろしくお願いします
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
実際に使ったことはないのですが、 Wt http://www.webtoolkit.eu/wt が有名でしょうか。 ただ、 > PHP,Perl,Javaよりもずっと早いwebアプリを作りたいのです これを実感するのは難しいかもしれません。 仮に速いものが作れたとして、処理に時間がかからないWebアプリならば、その差はほとんどないので、通信のオーバーヘッドで実感するのは難しいでしょう。時間がかかる処理ならば、差は出てくるとは思いますが、PHPなど一般的なフレームワークで表側は実装し、実際に重い処理だけ切り出してC++などで実装する方が簡単でしょう。 速いwebアプリとのことですが、単純に実装した時に何の処理に時間がかかるのかを考え、それにベストな方法がC/C++ですべて構築することなのかを検討されることをおススメします。
その他の回答 (3)
- agehage
- ベストアンサー率22% (2752/12072)
apacheでexecすればいいような気がしますが、それ相応のセキュリティ対策が必須になります。 もう10年くらいデフォルトでオフしているような・・・。
- monsterpear
- ベストアンサー率100% (4/4)
> apache & postgresql & PHP & C/C++オブジェクト > を連携させなければなりません > C/C++は常駐する必要が有るかどうか?そしてどのように呼び出すのか? > PHPは複数のユーザから同時にアクセスされマルチスレッドのようになっていますが > C/C++は一つ常駐しただけでよいのか? > PHPの複数スレッドから一つのC/C++へのやりとりですがどのようにできるのか? こちらの件ですが、ケースバイケースとしか言えません。 C/C++のデーモンを起動しておくかどうかは、その処理が発生する頻度、処理時間とプロセス起動のオーバーヘッドのトレードオフ、利用できるリソース制限などによるでしょう。 どのようなWebアプリを想定しているか分かりませんが、PHPでの複数の処理から、1つのC/C++のやりとりですが、これもどのようなデータをやり取りしたいかでしょう。 例えばですが、ある時間のかかる処理を、複数のユーザからその状況を閲覧させたいのであれば、C/C++のデーモンはDBなりファイルなりに途中経過を格納しておき、PHP側ではそのDBやファイルの内容を表示すればいいでしょう。 そして、もし、こういった対処方が出来ないのであれば、渡しであればHTTPに載せることをやめます。 複雑な制御が必要なら、それに適合するプロトコルを選択するなり、作るなりします。すべてC/C++のみで構築したところで、プロセス間の同期などの面倒な話はついてくるのであれば、中途半端に用途にあっていないプロトコルは速度重視という観点からも除外されるのかなと。 具体的に行いたいことを挙げて頂ければ、もっと具体的な話しもできますが。 何かの参考になれば。
補足
ありがとうございます >複数のユーザからその状況を閲覧させたい のです 実行が重いので速度を早めなければなりません 一旦締めます 壁にぶつかったらまた同じような質問をしなければなりませんがよろしくお願いします
- lv4u
- ベストアンサー率27% (1862/6715)
>>Linuxでそれを実現できるベストな無料のツールやフレームワークを教えてください >>PHP,Perl,Javaよりもずっと早いwebアプリを作りたいのです 現時点では、個人的にはそれを実現するものは無いと思っています。
お礼
回答ありがとうございます 巷にはプログラマがいっぱいいるのに 遅いインタープリタや半インタープリタ言語で作る 低速のwebアプリで満足しているとは不思議ですね 有難うございました
お礼
googleで調べてみると PHPのexec関数を使えばCの実行ファイルを実行できるので 補足に書いた問題は回避できるかも知れませんね これなら極めて簡単に使えるかもしれません 速度の点に留意してもう少し調べてみます 有難うございました
補足
>PHPなど一般的なフレームワークで表側は実装し、実際に重い処理だけ切り出してC++などで実装する方が簡単 これを採用するとすると apache & postgresql & PHP & C/C++オブジェクト を連携させなければなりません C/C++は常駐する必要が有るかどうか?そしてどのように呼び出すのか? PHPは複数のユーザから同時にアクセスされマルチスレッドのようになっていますが C/C++は一つ常駐しただけでよいのか? PHPの複数スレッドから一つのC/C++へのやりとりですがどのようにできるのか? 等難しい問題が発生するような気がします これらの問題はどのように解決されるのでしょうか? よろしくお願いします