SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

特集記事

C++でWebアプリケーションを開発できる
~ 高性能フレームワーク「TreeFrog Framework」

C++によるフルスタックのMVC型Webフレームワーク

  • X ポスト
  • このエントリーをはてなブックマークに追加

 本稿では「C++でも簡単にWebアプリケーションを開発したい!」という声にお応えして、C++によるフルスタックのWebフレームワーク「TreeFrog Framework」を紹介します。C++で開発する最大のメリットは、アプリケーションが高速かつ少ないメモリ使用量で動作することです。Webアプリケーション自体がさらに高速に動作すれば、より少ない数のサーバで多くのリクエストを処理することが可能になるでしょう。

  • X ポスト
  • このエントリーをはてなブックマークに追加

はじめに

 Webアプリケーションの開発案件をみると、使われている言語はJavaとPHPが特に多いように思います。C++のものはまず聞きません。C++プログラマがWebアプリケーションの開発プロジェクトに参画するとなると、新たに別の言語を習得しなければならないのが現実です。TIOBE Programming Community Indexというプログラミング言語の人気度調査において、C++は長い間高い水準をキープしているわけですが、そんなC++でWebアプリケーションの開発はできないのでしょうか。

 インターネットを検索してみると、C++のWebフレームワークは存在しないこともありません。数少ないそれらのフレームワークを調べてみると、JavaやPHPのものに比べて機能的に見劣りしていたり、C++ゆえにプラットフォームに依存する傾向があるように思います。

 「C++でも簡単にWebアプリケーションを開発したい!」

 そんなニーズを叶えるために筆者本人が作り始めたソフトが、ここで紹介するTreeFrog Frameworkです。

 TreeFrog FrameworkはC++によるフルスタックのWebフレームワークです。MVCアーキテクチャのもとO/Rマッピングライブラリやテンプレートなどの仕組みを提供し、「設定より規約」のポリシーでプログラミング言語C++でも高い生産性の実現を目指しています。ジェネレータコマンドによるソースコードやMakefileの自動生成機能で、開発者はロジックに専念できるでしょう。また、クロスプラットフォームに対応しているので、開発したソースコードをコンパイルしなおすだけで、複数のプラットフォームで動作します。

 モデル層ではO/Rマッピングライブラリが提供されます。この機能のおかげで開発者はSQLをほとんど書く必要はありません。もしSQLを記述する場合には、プレースホルダを使って簡単かつ安全にクエリを実行する仕組みもあります。TreeFrog FrameworkはQtをベースにしているおかげで、MySQL、PostgreSQL、SQLite、Oracleなど多くのデータベースシステムと組み合わせることができます。

 ビュー層には、ERBとOtamaという2つのテンプレートシステムが採用されています。どちらのシステムもテンプレートを使い、動的に値を出力したり、条件分岐やループ処理が行えます。

 C++で開発する最大のメリットは、アプリケーションが高速かつ少ないメモリ使用量で動作することです。Webアプリケーション自体がさらに高速に動作すれば、より少ない数のサーバで多くのリクエストを処理することが可能になるでしょう。

 手前味噌になってしまいますが、次でTreeFrog Frameworkを紹介します。

対象読者

  • C++でWebアプリケーションを開発したいプログラマ
  • 高速に動作するWebフレームワークを探している技術者

インストール

必要環境

  • Windows XP/Vista/7, Linux, Mac OS X、UNIX系のOS
  • Qt SDK version 4.6 以降

1. ダウンロードしたファイルを解凍します

 下記のx.x.xの部分は適宜読み替えてください。

$ tar xvfz treefrog-x.x.x.tar.gz

2. 解凍したディレクトリでビルドします

Windowsの場合:

 リリース版とデバッグ版の2つのタイプのバイナリを作ります。Qt Command Promptで次のコマンドを実行してビルドします。

> cd treefrog-x.x.x
> configure --enable-debug
> cd src
> mingw32-make install
> cd ..\tools
> mingw32-make instal
> cd ..
> configure
> cd src
> mingw32-make install
> cd ..\tools
> mingw32-make instal

Linux、Mac OS XなどUNIX系OSの場合 :

 コマンドラインから次を入力します。

$ cd treefrog-x.x.x
$ ./configure
$ cd src
$ make
$ sudo make install
$ cd ../tools
$ make
$ sudo make install

3. TreeFrog Command Promptのショートカットを作ります(Windowsのみ)

リンク先:
C:\Windows\System32\cmd.exe /K C:\TreeFrog\x.x.x\bin\tfenv.bat

 ちなみに、configureスクリプトで指定できるオプションを確認できます。

$ ./configure --help

会員登録無料すると、続きをお読みいただけます

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

次のページ
Webアプリケーションひとめぐり

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
特集記事連載記事一覧

もっと読む

この記事の著者

AOYAMA Kazuharu(アオヤマカズハル)

イディ株式会社 代表取締役社長。TreeFrog Framework プロジェクト代表。東京の某メーカにてシステムエンジニア・プログラマとして、組込やWebシステムの開発プロ...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/5927 2011/05/26 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング