See also ebooksgratis.com: no banners, no cookies, totally FREE.

CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
Privacy Policy Cookie Policy Terms and Conditions
Catalyst (ソフトウェア) - Wikipedia

Catalyst (ソフトウェア)

出典: フリー百科事典『ウィキペディア(Wikipedia)』

Catalyst (かたりすと)は、Perlで書かれたオープンソースウェブアプリケーションフレームワークで、Model-view-controller (MVC)のアーキテクチャを持ち、実験的なウェブのパターンを数多く持っている。Ruby on Rails、 Maypole、 Springといったフレームワークに強い影響を受けている。

Catalystは、主に、Perlのライブラリやアプリケーションの公式配布元であるCPANを通じて配布される。

目次

[編集] 哲学

Catalystは、定義は一度のみ行われるべきとする"Don't Repeat Yourself" (DRY)原則に基づいている。

Catalystは、多くのモジュールのうちからひとつだけを使って、データベースからクラスを引っ張り出すことによって利用される。従って、データベース層に関するコードは必要とされない。しかし、何かに付け融通を効かせようとするなら、それもオプションで利用できる。Catalystのもうひとつの原則は、自在さである。

Catalystは、既にウェブアプリケーションを操作するために使われている既存のPerlモジュールの再利用を促す。

  • Model部分は、DBIx::ClassPluceneNet::LDAP、またはほかのモデルクラスを通じて操作する。
  • View部分は、Template ToolkitMason、またはHTML::Templateによって主に操作される。
  • Controllerは、もちろん個々のアプリケーションの作者によって書かれる。Controller機能の大部分は、Catalystのプラグインのうちのひとつに遅延することが出来る(Catalyst::Plugin::FormValidator、 Catalyst::Plugin::Prototype、 Catalyst::Plugin::Account::AutoDiscoveryなど)。

Catalystには、多くのプラグインがある[1]。例えば、AjaxやRIAのためのJavaScriptの生成には、Catalyst::Plugin::Prototypeモジュールが使われる(prototypeはAjaxフレームワークである)。

[編集] ウェブサーバのサポート

開発やテストのために、Catalystは、組み込みの簡易HTTPサーバがある。製品の利用については、Apache か、FastCGI付きの lighttpd、 mod_perl サポートが推奨されるが、CGIやFastCGIをサポートしたウェブサーバなら、動作する。Apache上では、mod_perlでの利用が、相当のパフォーマンスの助けになるが、複数のアプリケーションでmod_perlを共有することで不安定になるため、問題もある。

[編集] データベースサポート

Catalystは、PerlのDBIがサポートするデータベースなら(つまりほぼ全て、CSVファイルでさえも)どれでも動作するが、RDBMSが推奨されている。データベースアクセスは、モジュールのひとつを通し、全てのデータベースへのアクセスを自動的に操作することで、プログラマーやCatalystからは、完全に抽象化されている。もし必要なら、ダイレクトにSQLのクエリを利用することもできる。これは、異なるデータベース間でも移植性のある、データベースにおいて中立的なアプリケーションが利用でき、Catalystアプリケーション開発において、可能な限り、既存のデータベースのユーザビリティを保つことが出来ることを意味する。ただし、RDBMS間で機能が異なる場合には、フレームワーク単独では、完全に機能を保証できない。MySQLPostgreSQLSQLiteIBM DB2OracleMicrosoft SQL Serverといった複数のデータベースをサポートしている。(オブジェクト関係マッピング

[編集] Catalystを使って作られたウェブサイト

  • iusethis - 利用パターンを元にしたソフトウェアのサイト
  • MightyV - BBCのTV-program listingを受賞した
  • Vox - ソーシャルブログプラットフォーム
  • EditGrid - ウェブベースの表計算

[編集] Catalystを使って作られたオープンソースソフトウェア

  • Agave (software) (ブログ)
  • Angerwhale (ブログ) Trac Site
  • Devel::ebug (Perlのデバッガ) CPANのサイト
  • Handel (software) (commerce framework) サイト
  • Meios
  • MojoMojo (ウィキ)
  • Sosa (software)

[編集] Perlで記述された他のフレームワーク

  • Sledge - ライブドアによって開発されたフレームワーク

[編集] 脚注

  1. ^ CPANにおけるCatalystのモジュール

[編集] 外部リンク


aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -