1 00:00:00,080 --> 00:00:03,320 こんにちは。Pharo のウェブスタックに ついての講義です。 2 00:00:03,480 --> 00:00:07,200 既存のフレームワークの概略と 3 00:00:07,520 --> 00:00:10,280 このコースで使うものを示します。 4 00:00:11,280 --> 00:00:16,720 これは、HTTP リクエストが入ってきた時に 何が起こるかを表わした図です。 5 00:00:17,320 --> 00:00:22,560 Zinc は Pharo に組み込まれた 基本的な HTTP/HTTPS サーバーです。 6 00:00:23,160 --> 00:00:26,720 Teapot は Zinc の上位にあって 7 00:00:27,040 --> 00:00:28,840 Teapot の構文についてのコースが 用意されています。 8 00:00:29,280 --> 00:00:33,880 そして、JSON や Ston のような 一連のフォーマットのフレームワークがあります。 9 00:00:34,760 --> 00:00:36,440 Seaside の REST もあります。 10 00:00:36,600 --> 00:00:39,600 簡単に言うと、Seaside 上で REST を プログラムするためのものです。 11 00:00:39,760 --> 00:00:43,760 Seaside はウェブフレームワークで 12 00:00:44,200 --> 00:00:45,560 後で Tinyblog で使うことになります。 13 00:00:45,760 --> 00:00:48,840 それがここで Seaside を 紹介する理由でもあります。 14 00:00:49,000 --> 00:00:51,480 ビジネスでも広く使われています。 15 00:00:51,960 --> 00:00:54,960 Voyage も使います。 16 00:00:56,040 --> 00:00:59,800 Voyage はドキュメントを永続保存するための フレームワークです。 17 00:01:00,160 --> 00:01:04,560 オブジェクトを Mongo データベースに ドキュメント形式で保存します。 18 00:01:04,840 --> 00:01:06,640 もちろん他にもあります。 19 00:01:07,080 --> 00:01:12,160 Garage は一般の関係データベース用の 一種のドライバーです。 20 00:01:12,680 --> 00:01:14,480 Magritte もお見せします。 21 00:01:14,760 --> 00:01:17,360 Magritte はデータを記述して 22 00:01:17,520 --> 00:01:20,920 ウェブフォームを自動的に生成します。 23 00:01:21,080 --> 00:01:22,320 手動ではなく。 24 00:01:22,760 --> 00:01:25,360 Reef はウェブコンポーネントに 25 00:01:26,080 --> 00:01:29,200 JavaScript を組み込む アプリケーションですが 26 00:01:29,680 --> 00:01:33,040 このコースでは深く進みません。 27 00:01:33,200 --> 00:01:38,080 Mustache は HTML をオンザフライで 生成するテンプレートシステムです。 28 00:01:38,240 --> 00:01:40,920 Bootstrap は Twitter Bootstrap のライブラリで 29 00:01:41,080 --> 00:01:42,800 Seaside に完全に統合されています。 30 00:01:43,080 --> 00:01:45,640 とてもよく使われるアプリケーションがありますが 31 00:01:45,920 --> 00:01:50,600 Pharo 上には他にも沢山のパッケージがあります。 32 00:01:50,760 --> 00:01:56,000 Amazon に接続したり エラスティックサーチをしたり 33 00:01:57,000 --> 00:01:59,080 といったことをするのにも Seaside が使われています。 34 00:01:59,240 --> 00:02:03,400 Seaside は動的なアプリケーションを 35 00:02:03,880 --> 00:02:06,920 再利用可能なコンポーネントによって構築する ためのウェブフレームワークです。 36 00:02:08,080 --> 00:02:11,640 リクエストを管理しなくても 37 00:02:11,800 --> 00:02:13,320 Seaside がやってくれます。 38 00:02:13,480 --> 00:02:16,240 ドキュメントは Seaside.st にあります。 39 00:02:16,400 --> 00:02:18,280 サイトは再構築されて 40 00:02:18,640 --> 00:02:23,120 250 ページのリファレンスブックが 41 00:02:23,560 --> 00:02:25,480 book.seaside.st にあります。 42 00:02:25,640 --> 00:02:29,320 それを読んでも良いですが、 このコースはその 43 00:02:29,880 --> 00:02:30,880 主なポイントをカバーしています。 44 00:02:32,360 --> 00:02:33,800 永続化については 45 00:02:33,960 --> 00:02:37,640 前に言った通り 2つのフレームワークで 46 00:02:37,920 --> 00:02:41,280 ドキュメントを NoSQL に 保存することができます。 47 00:02:41,480 --> 00:02:46,440 それらのフレームワークは Mongo や CouchDB や Riak を扱います。 48 00:02:46,960 --> 00:02:51,240 Voyage を MongoDB のアブストラクション として使うことができます。 49 00:02:52,280 --> 00:02:54,680 また、Garage は関係データベースの 50 00:02:54,840 --> 00:02:57,840 統一 API を提供するフレームワークです。 51 00:02:58,000 --> 00:03:01,120 このコースでは使いませんが 52 00:03:01,320 --> 00:03:03,880 Postgres、MySQL、SQLite、OpenDBX の ドライバーを持っています。 53 00:03:04,080 --> 00:03:06,280 そして今も改良され続けています。 54 00:03:07,160 --> 00:03:10,320 他にも興味深いフィーチャーがあります。 55 00:03:10,800 --> 00:03:15,840 Magritte というフレームワークは シュルレアリスムの画家に因んでいますが 56 00:03:16,320 --> 00:03:19,240 データについての記述を生成して 57 00:03:19,400 --> 00:03:22,760 Seaside コンポーネントを 生成することができます。 58 00:03:22,920 --> 00:03:28,040 ウェブアプリケーション開発の生産性を ブーストするために有効です。 59 00:03:28,720 --> 00:03:30,240 まとめると 60 00:03:30,440 --> 00:03:32,760 Pharo には豊かなエコシステムがあります。 61 00:03:32,920 --> 00:03:36,880 Pharo を使っている多くの企業が ウェブ開発をしています。 62 00:03:37,200 --> 00:03:38,720 Pharo は即、ビジネスでの実用に使えます。 63 00:03:39,720 --> 00:03:41,600 Seaside は実に創造性を刺激してくれます。 64 00:03:41,760 --> 00:03:45,840 硬直したようなプログラミングとは 逆を行っていて 65 00:03:46,240 --> 00:03:48,240 普通と「違う」考え方をするように 後押ししてくれるでしょう。