Pages

C++ Web開発フレームワーク-TreeFrog

2014年6月14日土曜日

TreeFrog Framework は、C++によるフルスタックの高速Webアプリケーションフレームワークです。

C++/Qt で作られたサーバサイドのフレームワークであるので、スクリプト言語に比べて圧倒的な速さで動作することが可能です。アプリケーション開発では、MVC アーキテクチャのもと O/R マッパーやテンプレートの仕組みを提供し、「設定より規約」のポリシーでプログラミング言語 C++ でも高い生産性の実現を目指しています。

C++フレームワークでありながら「設定より規約」のポリシーで、開発コストを抑えることを目指しています。設定ファイルは極力小さくなっており、また、「足場」となるコードの自動生成、テンプレートシステム、ORM や多くのヘルパーメソッドを提供しているので、開発者はロジックに専念できます。

TreeFrog はクロスプラットフォームで動作します。Windows、Linux や Mac OS X などの UNIX 系OS で動作します。コードを書くときは Windows 上で行って、一般に公開するWebサービスは Linux マシンで提供することがよくありますよね。

コードをコンパイルしなおすだけで、複数のプラットフォームで動作します。当然ながら、プラットフォーム依存コードを含んだら無理ですが。。

コントローラ層では、HTTPリクエスト/レスポンス、セッションのデータにアクセスできます。また、リクエストされた URL から該当するコントローラのメソッド(アクション)を呼び出す仕組み(ルーティングシステム)が備わっているので、リクエストをどのアクションに振り分けるかを設定ファイルにいちいち書く必要はありません。

ビュー層では、Rails でよく知られたERBと、もう1つには とテンプレートとプレゼンテーションロジックを完全に分離した新しいテンプレートシステム(とは言ってもKwartzをかなり参考にしています)を提供します。好きな方を選択して、設定ファイルに記述します。

モデル層では、SqlObject と呼ばれる O/R マッパー (Object-relational mapping system) が提供されます。このおかげでアプリ開発者はSQLをほとんど書く必要はありません。しかし SQL が必要はケースがやはり存在します。SQL の記述ではプレースホルダをサポートしており、簡単かつ安全にクエリを実行できる仕組みを備えています。

データベースシステムに依存していません。MySQL、PostgrSQL、SQLite、OracleやDB2といった主要なデータベースが使えます。

TreeFrog は Qt ツールキットを使っています。Qt は GUI フレームワークという認識が強いですが、非GUIの機能も大変優れています。ネットワーク、SQL、ユニットテスト、メタオブジェクトなどのモジュールを、Webアプリケーション向けにラップすることで、アプリ開発者は大変便利な機能を使うことができます。

セキュリティ面も考慮しており、SQL インジェクションや XSS 対策を講じています。

ホームページ

http://www.treefrogframework.org/ja/

0 件のコメント:

コメントを投稿

 

OpenSource Software

人気投稿