C ++ Webアプリケーション開発



C ++とfastcgiの使用に関する最近のトピックを読んだ後、WebとC ++のトピックに関するベストプラクティスを公開することにしました。



私の観点からすると、既存のソリューションは単純なものを複雑な方法で実装します。 私の目標は、PHP、Python、Javaなどと同様に簡単かつ迅速にC ++で効果的なクロスプラットフォームWebアプリケーションを作成できるライブラリを作成することにより、この厄介な誤解を排除することでした。



読者に期待をかけないために、このライブラリを使用して記述された最も単純なアプリケーションのコード( Google Codeのプロジェクトページ 、MITライセンス)に直行してみましょう。



ソースコードMain.h

  1. #ifndef _MAIN_H
  2. #define _MAIN_H
  3.  
  4. #include <WebToolkit.h>
  5.  
  6. class HelloWorld:public IHttpRequestHandler
  7. {
  8. private:
  9.         Server server;
  10. public:
  11.         HelloWorld();
  12.         void Run();
  13.         void Handle(HttpRequest* request,HttpResponse* response);
  14. };
  15.  
  16. #endif






Main.cpp

  1. #include "Main.h"
  2.  
  3. HelloWorld::HelloWorld():server(8080,"0.0.0.0")
  4. {
  5.         server.RegisterHandler(this);
  6. }
  7.  
  8. void HelloWorld::Run()
  9. {
  10.         server.Run();
  11. }
  12.  
  13. void HelloWorld::Handle(HttpRequest* request,HttpResponse* response)
  14. {
  15.         response->Write("<html><body><h1>Hello, world!</h1></body></html>");
  16. }
  17.  
  18. int main()
  19. {
  20.         try
  21.         {
  22.                 HelloWorld app;
  23.                 app.Run();
  24.         }
  25.         catch(exception& e)
  26.         {
  27.                 cout<<e.what()<<endl;
  28.         }
  29. }






-. ( Windows — 29 ), . .



, Windows, Linux (, FreeBSD MacOS?). - embedded-. , ( , ASUS WL-500gP V1, OpenWRT).



- , , sqlite, , . , . — . , ++, , , -. :)



, — — ( ):



:



? ! :)



All Articles