Processing.jsもかなり驚きましたが、今回はそれ以上です。
多分天才とはこういうことをいうのでしょう。
鳥肌どころか、寒気を覚えました。
280northというおそらく従業員3人のスタートアップによってつくられたオンラインプレゼンテーション作成アプリケーション。
Keynoteに似た小気味よいインターフェイスで、非常に直感的な操作を提供し、YoutubeやFlickrからイメージやムービーを取りこめたり、作ったプレゼンファイルをSlideshareに共有できたり、PPT2007でダウンロードできる。
とここまではありがちなオンラインアプリケーション。
ところが、280slidesのすごいところは、その構築技術。
Firebug、もしくはSafariのActivityウィンドウでロードされているファイルを見ると驚愕するだろう。
見慣れない".j"という拡張子。
たとえばこのmain.j、DocumentController.j。
// // main.j // Editor // // Created by Francisco Tolmasky. // Copyright 2005 - 2008, 280 North, Inc. All rights reserved. //import
importimport "Document.j"
import "DocumentController.j"[DocumentController sharedDocumentController];
function main(args, namedArgs)
{
CPApplicationMain(args, namedArgs);
}//parse arguments
var args = window.location.hash.replace("#", "").split("/").slice(1);
var namedArgs = nil;for(a in args)
a = decodeURIComponent(a);//call main with arguments
window.setTimeout(function(){main(args, namedArgs)}, 0);
OSXで開発したことがある人なら見覚えのあるCocoaのクラス名に似ている。
そう、このサイトはCocoaの開発言語、Objective-Cをjavascriptにポートした言語、Objective-Jで構築されている。
もちろんブラウザにそんな新しい言語のコンパイルの機能はないので、Objective-j.jsというjavascriptにobjective-jが渡されて、javascriptにコンパイルされてブラウザで実行されている。
どんなふうにコンパイルされるかは、コンパイル済みのAppKit.sjをみるとちょっとわかる。(残念ながらソースのAppKit.jはロードできないようですが。。)
もうここまでjavascriptでやられると言葉にならないというか、表現のしようがありません。
[追記]
なおこのobjective-jは"Cappuccino"というフレームワーク名で近々オープンソースになる模様。
圧巻の一言。
必見!!
via :: del.icio.us/popular
|
|