ユーザを特定しているのです。変わることがありません。アプリケーションを終了するまで同じ値が使われます。振られるということがわかるでしょう。ここまでは、極めて普通です。アプリケーションフレームワークは多くあります。いう箇所があることに気づきます。クリックするたびにこの値は変わります。ID」と呼ばれ、ユーザの「動作(アクション)」を特定するために使われています。押すという動作があります。移るという動作もあるでしょう。つけて管理しているのです。情報では、サーバはユーザの直近のリクエストの値しか保持することができません。ボタンを押したりすると、ブラウザとサーバ側とでずれが生じることになります。細かい単位でユーザの状態を管理できます。移るアクションを(直近の状態と関係なく)、もう一度実行することができます。アプリケーションの状態を、ユーザの動作という単位で、逐一管理できるからです。「継続」という仕組みによって、この優れた機能を実現しています。継続そのものの説明は、本連載の範囲を超えてしまいますので、興味のある方は末尾の参考資料をじっくり読んでみると良いでしょう。おける「継続」の利用をそれほど重要視しているわけではありません。別の方法によっても、実行段階に基づいてアプリケーションの状態を管理するということは可能だからです。アプリケーションにおいても「できるだけ状態を保持する」というスタンスに立ったことだとしています。アプリケーションならではの妙な慣例をユーザに押しつけず、普通のアプリケーションのように見せることに成功しています。アプリケーションを提供するということがわかりました。それでは開発者にとってはどうなのでしょうか。一つの魅力は、開発環境が非常に充実しているということです。場合は「そこにあるオブジェクトを直接つかむ」タイプの、直感的な開発が可能です。リンクがあることがわかります。ブラウザから、開発に便利な各種の機能を使えるようになっています。Session"新たなセッションでアプリケーションを起動するために使われます。"Configure"アプリケーションの設定のために使用します。アプリケーションが使うライブラリや、モードの設定(開発モードかデプロイモードか)を行うことができます。詳しくは後の回で扱います。Halos"ハローと呼ばれる枠をコンポーネントの周りに表示します。コンポーネントがページのどの部分を表示しているかの把握に役立ちます。コンポーネントをデバッグするためのツールを呼び出すことができます。(後述)"Profiler"ページを表示するために行われた処理のプロファイリングをします。どのメソッドが呼ばれ、どれだけの時間がかかっているかを知ることができます。"Memory"サーバ内でどのオブジェクトがどれだけのメモリを占有しているかの確認ができます。"Terminate"セッションを破棄し、アプリケーションを終了させます。あるかどうかを検査します。ブラウザからどのような開発が行えるのかを確かめることにしましょう。オブジェクトの周りに、そのオブジェクトを操作するためのハンドルが取り囲むように表示されるので、このように呼ばれています。インスパイアされたものです。クリックすると、アイコンつきの枠が表示されるようになります。(トグルなので再びクリックすると元に戻ります)。ハローの表示このハローにより、現在のページをどういったコンポーネントが表示しているのかが視覚的にわかります。(というクラスのインスタンス)が表示を行っているということを示しています。リンクで、コンポーネントの表示の仕方を変えることができます。デフォルトとなっており、コンポーネントをそのまま表示している状態です4。レンダリングの略です。レンダリングと呼びます。スタイルシートエディタハローの左上部分にあるアイコンは、個々のコンポーネントの状態を見たり編集したりするものになっています。右のスタイルシートエディタを起動してみましょう。下記のような画面となります。することで、コンポーネントが使うスタイルを設定できます5。タグで書かれていたことがわかりましたので、それに対してスタイルを適用してみることにします。red;}などとすれば良いでしょう。(閉じる)ボタンでエディタを閉じます。スタイルシートエディタを閉じるコンポーネントにスタイルが無事に適用されました。スタイルの設定には「ライブラリ」という仕組みを使う方法もあります。インスペクタそれでは次に真ん中のアイコンをクリックしてみることにしましょう。今度は以下のような画面に切り替わります。いうコンポーネントクラスのインスタンスを見ているからです。持っているということがわかります。値を書き換えてみることにしましょう。インスペクタからの値の書き換えインスペクタを閉じるとコンポーネントの値が書き換わっていることがわかります。Counterこのようにインスペクタを使えば、コンポーネントの値を読んだり、書き換えたりすることがブラウザ経由で可能になります。コードブラウザ今度は一番右のアイコンをクリックしてみます。コードブラウザが出現します。クラスが最初から選択されています。クラスの定義やメソッドの内容を書き換えることが可能です。メソッド一覧になっています。