﻿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
普通と「違う」考え方をするように
後押ししてくれるでしょう。