タグ

2012年6月2日のブックマーク (2件)

  • JSX はなぜ「速い」のか - kazuhoのメモ置き場

    なぜ「速い」のか、について 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

    JSX はなぜ「速い」のか - kazuhoのメモ置き場
    kazuhooku
    kazuhooku 2012/06/02
    軽く書いた
  • JSXでjQueryを動かす上での障害 - 西尾泰和のはてなダイアリー

    飽きてきたのでやる気が0になる前に気づいた点を公開しておく $は識別子に使えない。 jQuery.isはisがJSXの予約語なので使えない。is_とかにリネームする? jQueryがjQuery(...)もjQuery.fooもできる存在なのが厄介。僕も今の実装ではclass jQueryを作ってコンストラクタのnew jQuery(...)とstatic methodのjQuery.fooを使う形になっているけども、見た目をjQueryに似せるのをやめてjQuery(...)的な使い方は全部きちんと名前付きで呼べ(jQuery.find(...), jQuery.ready(...), etc)という方がよい気がする。 jQuery.findの返り値は[0]とかができる「Arrayのような何か」だが、これは実はArrayではないのでJSXではArrayへのキャストが出来ない。 jQuer

    JSXでjQueryを動かす上での障害 - 西尾泰和のはてなダイアリー
    kazuhooku
    kazuhooku 2012/06/02
    jQueryみたいなのあらゆる箇所で呼び出すものでuntypedとか使うなら、静的型言語使う意味ないじゃん。逆にcastが必要になるところが少ないならuntypedよりも明示的なcastでコンパイラのエラーチェックの支援うけるほうがいい