Webアプリケーションフレームワーク
[Wikipedia|▼Menu]
さらに、オブジェクト指向フレームワークはオブジェクト関係モデルとの対応づけを行うオブジェクト関係マッピングの機能を提供するマッピングツールを備えている。

Webアプリケーションフレームワークが提供するその他の機能としてトランザクションのサポートやデータベースの移行ツールなどが含まれる。
URLマッピング

パラメータの付加されたURLをわかりやすいURLに自動的に変換することにより、システムは使いやすく、またさらなる利点としてサーチエンジンがインデックスを作りやすくなる。たとえば、?cat=1&pageid=3で終わるようなアドレスを/category/science/topic/physicsや/science/physicsへの変換するような例である。カテゴリーのIDが変更されてもURLは変わらない(従ってサーチエンジンに対して有利である)。URLの変換により、アプリケーションがREST的な設計方法の一部の要素によりうまく適合できるようにすることができる。
Webテンプレートシステム詳細は「Webテンプレート」を参照

動的なWebページは通常静的な部分 (HTML) とHTMLを生成するコードである動的な部分からなる。HTMLを生成するコードはテンプレート上の変数あるいはコードから生成を行う。生成されるテキストをデータベースから取得することで、サイト内のページの数を劇的に少なくすることができる。

例として 500軒の家を扱う不動産会社を考える。静的なWebサイトでは、不動産会社は500ページ作成する必要があるが、動的なWebサイトでは、不動産会社はただ動的なページを500レコードを持つデータベースに接続するだけでよい。

テンプレートでは、プログラミング言語由来の変数を、コードを使わずに挿入することができるため、Webサイト内のページを更新するためにプログラミングの知識が必要なくなる。HTMLと変数を区別するための記述方法が定義されており、たとえばJSPでは <c:out> タグが変数を出力するために使用され、Smartyでは{$variable} が用いられる。

多数のテンプレートエンジンはIFやFOREACHといった若干の論理タグをサポートしている。これらはビジネスロジック層ないしMVCパターンにおけるM(モデル)との明確な分離を行うため、プレゼンテーション層に必要な決定を行うためだけに用いられる。
キャッシュ

Webのキャッシングとは、帯域使用率、Webサーバの負荷、ユーザーに感じられる“ラグ”を削減するための Web文書キャッシングである。Webキャッシュシステムは、ドキュメントのコピーを保存し、以降のリクエストは一定の条件が満たされればキャッシュから供給すれば問題なくなる。アプリケーションフレームワークには文書をキャッシュし、Webテンプレートシステムをバイパスする機構を提供するものもある。
Ajax

Ajaxとはインタラクティブなウェブアプリケーションを作成するためのWeb開発手法である。Ajaxの目的はユーザーが変更を要求するごとにWebページ全体がリロードされないようにするため、背後でサーバとのデータのやり取りを少なくし、Webページをより高速に反応するようにすることである。Webページのインタラクティブ性や、速度、ユーザビリティを向上させることが意図されている。

Ajaxプログラミングは複雑であるため、Ajaxサポートを専門に行うAjax フレームワークが多数存在している。他の大きなフレームワークの一部として組み込むことができるものも存在する。たとえば、Prototype JavaScript FrameworkRuby on Railsに含まれている。
自動構成

フレームワークには型システムを利用したデータ型のテスト(英語版)や以下の方法を用いてによってWebアプリケーションの構成作業をできる限り少なくするものがある。たとえば、多数のJavaフレームワークはHibernateを永続化層として使用しており、必要な情報を永続化させるためのデータベーススキーマをランタイムに生成することができる。これによりアプリケーションの設計者は明示的にデータベーススキーマを設計せずにビジネスオブジェクトを設計することができる。Ruby on Railsのようなフレームワークは逆の動作、すなわちモデルオブジェクトのプロパティをデータベーススキーマに基づきランタイムに定義することが可能である。
Webサービス詳細は「Webサービス」を参照

Webサービスの作成と提供を行うツールを提供するツールを備えたフレームワークもある。これらのユーティリティは、その他のWebアプリケーションと同様の機能を提供する。
技術
プログラミング言語

多数のプログラミング言語に対して関連したWebアプリケーションフレームワークが存在する。しかし、フレームワークに対するより高いレベルのサポートやフレームワークの開発に導く機能を提供したり十分な数の開発者がいる言語もあれば、そうでないものもある。
Java

膨大な数のJavaフレームワークが開発中、ないしは実際に使用されている。これらのフレームワークの多くはJakarta EEプラットフォームの上に構築されているか、ないしは要素を借りてきている。
JavaScript

Javascript frameworkJavaScriptライブラリ、AJAX frameworkなどと呼ばれる。全世界に普及した成功例として代表的なものに Prototype JavaScript FrameworkjQueryがある。これ以外にもさまざまなものが開発されている。以下はその一例である。HTML,CSS,JavaScriptの進化が著しく、JavaScriptでは種々のフレームワークが乱立している状態であるが、@media screen{.mw-parser-output .fix-domain{border-bottom:dashed 1px}}徐々に収束に向かい始めており、MEANという手法が有名になりつつある。[要出典]

AngularJS(1.x,2.0α Ver)

Aurelia.js

Backbone.js

Ember.js

Gatsby

Knockout.js

Next.js

Nuxt.js

MooTools

Polymer

Ractive.js

React

Riot.js

Vue.js

C#およびVB.NET

C#および VB.NET は、マイクロソフトの言語非依存のASP.NETプラットフォーム上で最も人気のある言語である。初期には最も人気のあるWebアプリケーションフレームワークはDotNetNuke(英語版) Webアプリケーションフレームワークであった。ASP.NET自体はWebアプリケーションを構築するために設計された技術であるため、誤ってWebアプリケーションフレームワークとしてのみ参照されることがある。これは、ASP.NETの一面に過ぎない。


次ページ
記事の検索
おまかせリスト
▼オプションを表示
ブックマーク登録
mixiチェック!
Twitterに投稿
オプション/リンク一覧
話題のニュース
列車運行情報
暇つぶしWikipedia

Size:33 KB
出典: フリー百科事典『ウィキペディア(Wikipedia)
担当:undef