1. はじめに

目次

従来のウェブアプリケーション
Ad-hoc AJAX アプリケーション
ZKとは?
ZKでないものとは?
ZKの制限

ようこそ、ウェブアプリケーションのコンテンツを豊富にする最も簡単な方法、ZKへ。

開発者ガイドはZKの内容と特徴が書いてあります。インストールの際にはクイックスタートガイドをご覧ください。また、操作方法と内容の詳細については開発用リファレンスを参照してください。

この章はウェブプログラミング・Ajax技術・ZKプロジェクトにおける現在までの流れを説明します。ZKの特徴についてすでにご存知でしたら、この章を飛ばしても構いません。

従来のウェブアプリケーション

効率的に簡単にウェブ上の情報を交換する目的として、Web技術、HTTPとHTMLはページをベースにした方式とステートレスモデルを基にしていました。このモデルの中では、ページは独立したものであり、クライアントとサーバーの間の最小のコミュニケーション単位でもあります。

ウェブが次世代のアプリケーション進化として現れたとき、このモデルは本質的な試練に直面しました:今日のアプリケーションの中で視覚的に複雑さをあらわせないという問題です。たとえば、ユーザーに見積もりを見せるため、他のページを開いて自分の取引の記録探す、または最近の値段のページを開く、あるいは現在の株価のページを開かなければなりません。ユーザーは現在作業しているページをそのままにし、いくつものページ間を移動しなければなりません。ユーザーはページ間で簡単に迷子になるし、混乱しやすいです。結果として、ユーザーは機嫌を損ね、売り上げが落ち、生産力も下がります。

ページをベースにあした方式に頼る近代のアプリケーションを進化させるのは一つの挑戦で、本質に関わる問題です。このモデルではサーバー上で作動しているアプリケーションは全てを見なければいけません。リクエストに応えること、返答を送付すること、ユーザーをページと他のページに結び付ける過程を順番付けること、エラーを処理することなどです。そこでStruct・Tapestry・JSFなど多数のフレームワークが進化過程を簡単にするため開発されました。ページ方式と近代のアプリケーションとの大きな差によって、これらの構造は理解しにくいし、使うことは楽しいものではなく、簡単でも直感的なものでもありませんでした。