Webアプリケーション
 フレームワークの話
 4/21 プログラミング生放送勉強会 第15回@大阪

           kyubuns
自己紹介

• kyubuns (きゅぶんず)

• Twitter : @kyubuns



• 学生最後の年。

• ゲーム作ったりしてます。
自己紹介

• kyubuns (きゅぶんず)

• ニコ生コミュニティ : co31652
 • もう少しで開設3周年!!
自己紹介

• kyubuns (きゅぶんず)

• ニコ生コミュニティ : co31652
 • もう少しで開設3周年!!
 • 最終放送日から1周年!!!!
Webアプリケーションフレー
    ムワークとは!


• 動的な ウェブサイト、Webアプリケーション、
  Webサービスの開発をサポートするために設計さ
  れたアプリケーションフレームワークである。


 • Wikipediaより。
Webアプリケーションフレー
    ムワークとは!


• 動的な ウェブサイト、Webアプリケーション、
  Webサービスの開発をサポートするために設計さ
  れたアプリケーションフレームワークである。

 • Wikipediaより。


 →簡単に動的ウェブサイト作れる。
そこで、今回紹介するのは
Ruby on Rails
Ruby on Rails
 ではなく
django
django
でもなく
CppCMS!!!
CppCMS!!!
名前の通りC++のwebアプリケーションフレームワーク。
CppCMS!!!
名前の通りC++のwebアプリケーションフレームワーク。
公式ページのFAQを見てみた。
CppCMS FAQ

Q.

あなたは頭がおかしいかマゾですか?



A.

私の知る限りでは違います。



            http://cppcms.com/wikipp/en/page/faq
CppCMS FAQ

Q.

なんでwebサイトをC++で作るの!?

あれは危険な言語だよ!!




               http://cppcms.com/wikipp/en/page/faq
CppCMS FAQ

Q.

なんでwebサイトをC++で作るの!?

あれは危険な言語だよ!!

A.

あなたが例外安全なコードを書いてSTLがどのよう
に動作するか理解していれば、とてもシンプルに直
感的に開発ができます。

               http://cppcms.com/wikipp/en/page/faq
CppCMS

• MVC(Model-View-Controller)の説明は省略!!
CppCMS - View

• テンプレートエンジンがのっています。

    ↓テンプレートファイルの例
CppCMS - View

• テンプレートエンジンがのっています。

    ↓テンプレートファイルの例
       ↓#include!?
CppCMS - View

• cppcms_tmpl_cc

     -o view.cpp main.tmpl page.tmpl article.tmpl



テンプレートファイルからcppファイルが出来
る!!
CppCMS - Controller

• テキスト設定してrenderとかすると描画される。

(意外とフツー)
CppCMS

• さっき作ったview.cppとControllerのコードをあせ
  てコンパイル。




• ↓サンプルのMakefileより

$(CXX) -Wall hello-tmpl.cpp my_skin.cpp -o hello-
tmpl ${LIBS}
CppCMS

• cppcms_run hello –c config.js

で動かす。



やったぁ!うごいた!
CppCMS

• cppcms_run hello –c config.js

で動かす。



やったぁ!うごいた!

(この辺書いてる時に寝落ちしたので適当。)
CppCMS

• cppcms_run hello –c config.js
                            ↑javascriptではなくJSON
で動かす。



やったぁ!うごいた!

(この辺書いてる時に寝落ちしたので適当。)
CppCMS

使えるDB

• Firebird/Interbase

• FreeTDS (provides access to MS SQL Server and
  Sybase)

• MySQL

• PostgreSQL

• SQLite/SQLite3
おわり?
うわ・・・わたしの持ち時間あまりす
      ぎ・・・?
本当は

• mplayerで動画再生する話をしたかった。
本当は

• mplayerで動画再生する話をしたかった。
mplayer

• このムービープレイヤー、CUI版が存在します。
mplayer

• このムービープレイヤー、CUI版が存在します。
mplayer

• このムービープレイヤー、CUI版が存在します。

                   動画をAAで表示する。
mplayer

• カラーもいけます。
mplayer

• 拡大してみるとちゃんとAA。
本当は

• libaa(とかlibcacaとか)とmplayerで動画再生する
  話をしたかった。

• youtubeから動画読み込みながらAAにして文字列
  として表示とかまでなら動作はした。



• が、仕組みがよく分からなかったのであきらめ
  た。
本当は

• libaa(とかlibcacaとか)とmplayerで動画再生する
  話をしたかった。
• youtubeから動画読み込みながらAAにして文字列
  として表示とかまでなら動作はした。


• が、仕組みがよく分からなかったのであきらめ
  た。
• ということで、詳しい話は誰か次のプロ生でお願
  いします。

webアプリケーションフレームワークの話