JavaScript で高速なコードを書こうとする際に、はまりがちな罠と、JSX のコンパイラでどのように対処しているのかを紹介
JavaScript で高速なコードを書こうとする際に、はまりがちな罠と、JSX のコンパイラでどのように対処しているのかを紹介
JSX is a statically-typed, object-oriented programming language designed to run on modern web browsers. Being developed at DeNA as a research project, the language has following characteristics. faster JSX performs optimization while compiling the source code to JavaScript. The generated code runs faster than an equivalent code written directly in JavaScript. The gain may vary, but even the optimi
なぜ「速い」のか、について JSX 開発者の立場から。 たとえば、シューティングゲームで一番重たい処理は何か。言うまでもなく衝突判定。多数の弾や敵機の衝突判定を毎フレームごとに行う必要があり、この演算が重たい。 JSX に同梱されている web/example/shooting.jsx には衝突判定のコードが複数あるが、一番重たいのは Bullet#update 関数で、その処理は以下のようになっている*1。 for (var rockKey in st.rocks) { var rock = st.rocks[rockKey]; if (this.detectCollision(rock)) { if (rock.hp == 0) return false; inDisplay = false; if (--rock.hp == 0) { st.score = Math.min(st.s
DeNAが発表したブラウザ言語JSXが話題ですね。 高速なJavaScriptコードを生成できるWebアプリケーション向け言語「JSX」が公開される http://sourceforge.jp/magazine/12/05/31/0748237 まだ眺めてみただけでいじってもいませんが、JSXで書かれたサンプルコードを見てなぜか「不思議な安心感」を感じてしまった自分がいます。「おお、Javaっぽい。」 通常のアプリ開発の場合、迅速にくみ上げたい場合はrails、堅めに組みたいときはjavaというように両方を使い分けるようにしています。ただ、ブラウザ上の言語は「緩い上に面倒」なjsしか選択肢がなかったことが密かな不満でした。 jsがいい加減アレなので、CoffeeScriptとか勉強して移行しないとなとは思っていたのですが、堅いというよりエッジな感じ。「便利だなぁ」と思うと同時に、「twit
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く