Firefox2.0の使用レビュー

Firefox2.0がリリースされました。
私はプラグインの対応状況をにらんで乗り換えようと思っていたのですが、RC2で私の利用しているプラグインが問題なく対応できたので使い始めていました。今のところ使ってみての感想を書こうと思います。

    プラグインの対応状況
    私が使っていたプラグインはほとんど対応されました。TabXというプラグインは未対応なのですが、本体にタブを閉じるボタンが実装されたので用済みになりました。
    ViewSourceWithというプラグインは、外部ツールでソースを開くプラグインです。これも基本的な機能は本体で対応されたのですが(about:configで編集)ViewSourceWithプラグインの方が、JavaScriptやスタイルシートの外部ソースを開くことができるので、プラグインを使い続けたほうが良かったです。
    タブ機能
    「タブの復元」は便利です。今までも間違って閉じてしまったタブがあったら、履歴で探して開いていたのですが、それが楽になりました。
    Firefoxを起動した状態でパソコンをシャットダウンすると、次回Firefoxを立ち上げた時に、前回のタブを復元するか聞いてくるような。便利といえば便利だけど、最初はなんか戸惑った。むしろ何も言わずに復元して欲しい。
    検索バーのサジェスト機能
    こちらの記事(Firefox 2 の Google 検索バーはすごい)によると、検索バーのサジェスト機能を使って、電卓代わりになるということでしたが、私が試した感じではどうも不安定で、電卓として使うほどの安定感はないです。不安定というのは、計算式が短いと候補が出てきません。1+2ぐらいだと候補が出てこなくて、1+2+3+4ぐらいまで入力するとやっと出てきます。一度候補が出始めると、式を短くしても候補が出てきます。
    「入力して、~キーを押すと候補が出る」ぐらいだといいのですが、どうすれば候補が出始めるのかが分からず、イライラします。(たぶん通信を頻繁に行いすぎないように、ある程度の文字数を入力しなければ候補を取りにいかないのでしょう
    その他
    ほかにも色々な機能追加がされていますが、特にこれとってすごいと思うものはありませんでした。
    1.5使っていた時と比べて、便利になったのは(私の場合は)タブ機能ぐらいです。
    欲を言えば、2.0対応のテーマがもっと、どんどん出てきて欲しいです。

関連記事:Firefoxのクイックサーチは、検索バーより便利


久々にJetty記事を更新

久々にJetty記事をを更新しました。
Jetty6になっていたので、設定ファイルを書き換えたのと、開発にJettyを使う場合にどうしたらよいかを検討していみました。
WTPのサーバーランタイムとしてJettyが使用できるようになればうれしいのですが。。。

Jetty6を開発に使う


JavaでAjaxを使う時の考察

JavaでAjaxを利用する時には、色々な選択肢が考えられます。
どのような選択肢があるかについて考察してみました。

  1. 独自実装
    • XMLHttpRequest
  2. JavaScriptライブラリを利用
    • prototype.js
    • Yahoo! UI Library
    • jQuery…など
  3. 低レベル実装の利用
    • Ajax Tag Library
    • AjaxTags(Java Web Parts)
  4. 高レベル実装の利用
    • GWT(Google Web Toolkit)
    • JSF(Java Server Faces – AjaxFaces)

独自実装

独自実装は、外部のJavaScriptライブラリなどを使用せず、標準のJavaScriptの機能のみを使って実装します。
クロスブラウザ対応などが必要になってしまうため、一般向けのサイトでは難しいと思いますが、
「ブラウザ限定」「使用するライブラリが厳しい」「ちょっとした入力チェックだけ」といった要件であれば、十分に使えると思います。

JavaScriptライブラリ

JavaScriptライブラリを利用するというのは、今一番利用されているケースだと思います。
独自実装をするよりも、簡単に記述できるし、クロスブラウザ対応もなされています。独自実装を選ぶ前に、可能であればこちらの選択肢を検討すべきです。
欠点は、現状ではJavaScriptライブラリが乱立しすぎていて、どれを使用すべきが迷ってしまうことです。ほんの一部だけ列挙しましたが、現在のJavaScriptライブラリの乱立っぷりは、学習意欲がなくなりそうなほどです。

低レベル実装

3つ目の低レベル実装というのは、古くから実績のある技術で実装したケースを表現しています。
JavaScriptライブラリとの境界線が微妙ですが、今のところ考えられるのは、カスタムタグ(タグライブラリ)を使った実装です。
あまり隠蔽しすぎてしまうと、昔からHTMLを使って書いてきた人にとっては、かえって分かりにくいし、
だからといって、JavaScriptバリバリというのも、生産性が悪いので、「Ajaxを使用したパターンでありがちなものを、簡単に実装する」ぐらいの使い方がイイトコドリだと思います。
私は、このカテゴリの実装に注目しています

高レベル実装

最後の高レベル実装は、Webアプリケーションの最終形態と考えられます。
Webアプリケーションを意識させない、完全なコンポーネントで、Ajaxを実装してしまうパターンです。
まだ未成熟だと思いますし、Webで要求される外観がどうしてもHTML的でないので、まだ流行らないと思っています。
(HTMLでの○○は、どうやって実現するのか?と悩むことが多い)
また、なにか不具合があった場合に、中身まで調べるのが大変だと思います。

Ajaxを使う用途についても、検討すべきだと思います。
例えば、Ajaxを使ったありふれた、ユーザーインタフェースを実現する場合には、3.4.の方が便利だと思います。
オートコンプリートなどがそうで、これを独自実装や、JavaScriptライブラリで自力実装すると結構大変です。
よく使われるものについては、コンポーネント化が進んでいると思うので、それを利用した方が懸命です。
一方、JavaScriptでの入力チェックを拡張して、サーバーサイドでのチェックも実行されるようにする場合は、独自実装や、JavaScriptライブラリで十分かと思われます。
Ajaxという生の技術だけで十分な用途と、Ajaxを使ったUIパターンを使いたい用途では、選択肢は変わって来ます。

AjaxTagsを使った記事を書いてみました。

関連記事
AjaxTagsを使ってみる