こんにちは。Pharo のウェブスタックに ついての講義です。
既存のフレームワークの概略と
このコースで使うものを示します。
これは、HTTP リクエストが入ってきた時に 何が起こるかを表わした図です。
Zinc は Pharo に組み込まれた 基本的な HTTP/HTTPS サーバーです。
Teapot は Zinc の上位にあって
Teapot の構文についてのコースが 用意されています。
そして、JSON や Ston のような 一連のフォーマットのフレームワークがあります。
Seaside の REST もあります。
簡単に言うと、Seaside 上で REST を プログラムするためのものです。
Seaside はウェブフレームワークで
後で Tinyblog で使うことになります。
それがここで Seaside を 紹介する理由でもあります。
ビジネスでも広く使われています。
Voyage も使います。
Voyage はドキュメントを永続保存するための フレームワークです。
オブジェクトを Mongo データベースに ドキュメント形式で保存します。
もちろん他にもあります。
Garage は一般の関係データベース用の 一種のドライバーです。
Magritte もお見せします。
Magritte はデータを記述して
ウェブフォームを自動的に生成します。
手動ではなく。
Reef はウェブコンポーネントに
JavaScript を組み込む アプリケーションですが
このコースでは深く進みません。
Mustache は HTML をオンザフライで 生成するテンプレートシステムです。
Bootstrap は Twitter Bootstrap のライブラリで
Seaside に完全に統合されています。
とてもよく使われるアプリケーションがありますが
Pharo 上には他にも沢山のパッケージがあります。
Amazon に接続したり エラスティックサーチをしたり
といったことをするのにも Seaside が使われています。
Seaside は動的なアプリケーションを
再利用可能なコンポーネントによって構築する ためのウェブフレームワークです。
リクエストを管理しなくても
Seaside がやってくれます。
ドキュメントは Seaside.st にあります。
サイトは再構築されて
250 ページのリファレンスブックが
book.seaside.st にあります。
それを読んでも良いですが、 このコースはその
主なポイントをカバーしています。
永続化については
前に言った通り 2つのフレームワークで
ドキュメントを NoSQL に 保存することができます。
それらのフレームワークは Mongo や CouchDB や Riak を扱います。
Voyage を MongoDB のアブストラクション として使うことができます。
また、Garage は関係データベースの
統一 API を提供するフレームワークです。
このコースでは使いませんが
Postgres、MySQL、SQLite、OpenDBX の ドライバーを持っています。
そして今も改良され続けています。
他にも興味深いフィーチャーがあります。
Magritte というフレームワークは シュルレアリスムの画家に因んでいますが
データについての記述を生成して
Seaside コンポーネントを 生成することができます。
ウェブアプリケーション開発の生産性を ブーストするために有効です。
まとめると
Pharo には豊かなエコシステムがあります。
Pharo を使っている多くの企業が ウェブ開発をしています。
Pharo は即、ビジネスでの実用に使えます。
Seaside は実に創造性を刺激してくれます。
硬直したようなプログラミングとは 逆を行っていて
普通と「違う」考え方をするように 後押ししてくれるでしょう。