WebOS Goodies

WebOS の未来を模索する、ゲームプログラマあがりの Web 開発者のブログ。

WebOS Goodies へようこそ! WebOS はインターネットの未来形。あらゆる Web サイトが繋がり、共有し、協力して創り上げる、ひとつの巨大な情報システムです。そこでは、あらゆる情報がネットワーク上に蓄積され、我々はいつでも、どこからでも、多彩なデバイスを使ってそれらにアクセスできます。 WebOS Goodies は、さまざまな情報提供やツール開発を通して、そんな世界の実現に少しでも貢献するべく活動していきます。
Subscribe       

未来の Web アプリケーション開発環境?「Zimki」(後編)

残念ながら Zimki は 2007/12/24 にサービスを停止しました (-人-)ナムー

Zimki ロゴ JavaScript による Web アプリケーション開発環境 Zimki のご紹介、後編です。前回は簡易 BBS に書き込みができるようにするところまで実装してみましたので、今回はそれを仕上げた後、さらに高度な機能などを簡単にご紹介しようと思います。

それでは、さっそく始めましょう!

画像を配置する

JavaScript によって生成される Web ページだけでなく、画像や静的な Web ページももちろん公開できます。ここでは画像をアップロードしてページに表示してみましょう。使用する画像は Zimki のロゴを縮小したものです。アップロードはポータルページから以下の手順で行えます。

  • [REALMS]-[Files] をクリックする。
  • 「Upload new files」をクリックする。
  • 「File」にアップロードするファイルを、「Description」に説明を入力し、「Upload new file」ボタンをクリックする。
  • アップロードしたファイルがリストに表示されるので、「publish」をクリックする。
  • ファイルにアクセスするためのパスをサイトルートからの相対で入力し(ここでは "/zimki_logo.gif" としてください)、「Publish」ボタンをクリックする。

これで指定したパスでファイルにアクセスできるようになります。それでは、アップロードした画像をページに表示してみましょう。まずは JavaScript の MainPage メソッドの return の直前あたりに以下の行を追加してください。zimki.root は、サイトルートの URL を返すメソッドです。

data.root = zimki.root;

次に、テンプレートの body 要素の最後に以下の記述を追加してください。

<hr/>
 
<div style="text-align:center;">
Powered by <img style="vertical-align:middle;" src="${root}/zimki_logo.gif"/>
</div>

これはとくに説明の必要はないかと思います。この状態でページを表示させると、以下のようにページ最下部に画像が表示されます。

Zimki 簡易BBSその 3

もちろん、アップロードするファイルは画像でなくてもかまいません。静的な HTML やサウンド、ムービーなども OK です。容量は 100MByte まで無料ですが、正式サービスでは追加料金を支払うことで容量を増やすことも可能になるようです。

簡単な URL に変更する

とりあえず掲示板は完成(?)しましたが、 URL があまりにも長くてとても覚えられませんね。幸いなことに、この URL は以下の手順で変更できます。

  1. [REALMS]-[API Keys] をクリックする。
  2. API Key がひとつだけ存在するはずなので、その「edit」リンクをクリックする。
  3. 「Alias」に好きな文字列(英数字とハイフン、ピリオドのみ)を指定し、「edit」ボタンをクリックする。

これで、以下の URL でサイトにアクセスできるようになったはずです。

http://service.zimki.com/user/<指定した文字列>/

上記の URL からわかるように、文字列は全 Zimki サービスでユニークでなくてはなりません。ですので、場合によっては好きな名前が使えないこともあります。また、将来的には独自ドメインも使えるようにする予定ということです。

その他の機能

ここで利用した機能以外にも、 Zimki にはさまざまな機能が用意されています。主なものを簡単にご紹介しますと・・・

ユーザー・グループ管理
[REALMS]-[Users] や [REALMS]-[Groups] でユーザー・グループを作成できます。 zimki.user, zimki.group という API で動的に作成することも可能なようです。多人数でサイト構築する際のアクセス管理に使えるほか、サイト自体のユーザー認証として使うことも可能です。
セッション管理
zimki.session という API を利用することで、セッション間でのデータの永続化が簡単に実装できます。前述のユーザー管理と合わせて、ログインが必要なサイトを簡単に構築できます。
Captcha 認証
ユーザー登録やコメントの投稿画面などでよく利用される、画像として表示された文字列をユーザーに入力させるアレです。 Zimki では、 Captcha 認証を簡単に実装できる zimki.captcha という API が提供されています。
ログ出力
zimki.log という API を利用することで、 JavaScript からログを残すことができます。ログは [REALMS]-[Logging] で閲覧できます。
JavaScript コンソール
[REALMS]-[JavaScript Console] で JavaScript をインタラクティブに実行することができます。実験やデバッグに便利ですね。
WebDAV アクセス
REALM 内のすべてのファイルに WebDAV 経由でアクセスができるようです。しかし、私が試した限り Windows の Web 共有ではアクセスできませんでした。おそらく私のやり方が悪いのだと思いますが、原因不明です。
API の構築
zimki.publishServicezimki.publishAPI を使って XML サービスを簡単に構築できます。

というところでしょうか。一般的な Web アプリケーションでよく利用される機能を API として実装し、開発効率を上げようという思想が見て取れますね。うまく利用すれば、かなり短時間でそれなりの機能を持ったアプリケーションが構築できそうです。

まとめ

この Zimki、一見地味なようですが、技術的にはかなり高度なことをやっていると思います。とくに「Zimki object store」のシステムは秀逸で、これに慣れると通常の SQL データベースがいかに煩雑かを思い知らされます。このようなデータ構造を SQL データベースで効率よく保存するのはかなり難しいはずなのですが、流行の XML データベースでも使っているんでしょうかね。

従量制の課金体系や全体のシステムなどを考えると、ターゲットはおそらく小規模のオンラインショップや Web サービスになるでしょう。大規模サイトが構築できるほどスケーラブルではないように思います。もしくは、非常に迅速にサービスの立ち上げができるメリットを生かして、新しいサイトのプロトタイプの開発に使うというのも手かもしれません。

しかし、課題も多いです。まずは非常に残念なことに、ポータルページのレスポンスが悪く、せっかくの効率的な開発環境を台無しにしています。この点は正式サービス開始前には改善されると思いたいところです。また、ユニークなシステムゆえに多少の学習が必要な点も気になります。前述のように小規模なサイトが主なターゲットになると思うのですが、そのような利用者がわざわざ独自色の強いシステムを学習するかというと・・・疑問ですね。有償化して利益を上げるのは、なかなか大変な気がします。もっとも、 Zimki を運営している会社は他にも事業を行っているので、 Zimki 単体での利益は考慮していない可能性もありますが。

いずれにせよ、Web アプリケーションの開発環境として非常に興味深いものであることは間違いありません。例えばサーバーサイド JavaScript は次期 Samba の組み込み Web サーバーでも採用されているようで、けっこうホットなテクノロジーだと思います。皆さんもぜひ実際に触ってみて、次世代の開発環境を体験してみてください。なにか素晴らしいアイディアが閃くかもしれませんよ。

関連記事

この記事にコメントする

Recommendations
Books
「Closure Library」の入門書です。
詳しくはこちらの記事をどうぞ!
Categories
Recent Articles