24日目: 別の視点からArkを見る

今日でArkのすばらしい世界の旅行は最後です。 23日間、デザインパターンから強力な組み込み機能までの具体例でArkを学びました。あなたはまだArkマスターではありませんが、自信を持ってArkアプリケーションの開発を始めるために必要な知識はすべてあります。

Jobeetチュートリアルのまとめとして、別の視点からフレームワークを見てみましょう。 Jobeetは忘れてこの3週間に学んだすべての機能を思い出しましょう。

Arkとは?

Ark~フレームワーク~はフルスタックのMVC フレームワーク(Model、View、Controller)を形成する疎結合された(cohesive but decoupled)サブフレームワークの集まりです。

コーディングを始める前に、Ark の歴史と哲学を読む時間をとります。

それから、フレームワークの前提要件を確認し設定を検証するために make installdeps スクリプトを使います。

最後に、Ark をインストールします。しばらくしてからArkの最新バージョンにアップグレードします。

Arkはデプロイ作業を楽にするツールも提供します。

Model

ArkのModel部分の作業は CPAN 上のすべてのORマッパーモジュールの助けを借りて行うことができます。 データベースの記述に基づいて、オブジェクト、フォームとフィルター用のクラスが生成されます。

データベースのコンフィギュレーションは設定ファイルを編集することで行うことができます。コンフィギュレーションに加えて、フィクスチャファイルのおかげで、初期データを投入することもできます。これらのファイルを動的なものにすることもできます。

View

デフォルトでは、Ark はテンプレートエンジンとして Template-Toolkit、Text::MicroTemplate Text::Xslate のためのビューをサポートし、またJSONレンダリングのビューもサポートします。

URLもしくはリンクを作成するなどの頻繁に行われるタスクのためにテンプレートはヘルパーを使います。

ページのヘッダーとフッターを抽出するためにテンプレートはレイアウトによってデコレートされます。ビューの再利用性を高めるために、スロット、パーシャルとコンポーネントを定義できます。

Controller

Controllerの部分はフロントコントローラーとアクションによって管理されます。

Webサイトの技術的な実装を抽出するために、ArkはプリティURLを生成するルーティングサブフレームワークを利用します。

アクションを別のアクションにフォワード、もしくはリダイレクト、もしくはデタッチ(処理を返さない)することができます。

コンフィギュレーション

アプリケーションディレクトリの config.pl および、config_local.pl は設定ファイルとしてロードされ、 models('conf') でアクセスすることができます。

デバッグ

$ plackup -r dev.psgi

などとすることでデバッグモードで開発サーバーを立ち上げることができます。デバッグに必要な様々な情報をコンソールに表示します。

フォーム

Web開発者にとってフォームの管理がもっとも退屈なタスクの1つなので、Arkはフォームサブフレームワークを提供します。フォームフレームワークはたくさんのウィジェットとバリデーターを搭載しています。

フォームサブフレームワークの強みの1つはテンプレートがとても簡単にカスタマイズ可能であることです。

テスト

ユニットテストのために使われる Test::More ライブラリはたくさんのテスト用のメソッドを提供します。

機能テストはテストインタフェースを使用することで、サーバーをたちあげることなく、コントローラのテストをすることができます。

レスポンスとフォーム用のデバッグツールも利用できます。

ユニットテストに関して、機能テストは1 つづつもしくはまとめて実行できます。

すべてのテストを一緒に実行することもできます。

プラグイン

ArkフレームワークはWebアプリケーションのための基盤のみを提供しより多くの機能を追加するためにプラグインを頼りにします。このチュートリアルでは、Session, I18N プラグインを使用しました。

プラグインはArkプロジェクトに寄付する最高の方法です。

ヘルパー

Flavorに付属している、script/dev/skeleton.pl スクリプトでさまざまなコンポーネントの雛型生成に使用することができます。

その雛型は自分で定義することもできます。

またお会いしましょう

チュートリアルが終わる前に、最後にArkに関して話したいことが1つあります。 Arkはたくさんのすばらしい機能と無料のドキュメントを提供します。しかし、オープンソースが持つもっとも貴重な資産の1つはコミュニティです。そしてArkにはもっとも面白くて活発なコミュニティの1つがあります。プロジェクトでArkを使い始めるのであれば、Arkのコミュニティに参加することを考えてください: