You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
2. 自己紹介 n 名前:奥 一穂 n 経歴: n モバイルウェブブラウザ「Palmscape」「Xiino」の開発 (1996-2003) n IPA未踏スーパークリエータ (2004) n サイボウズ・ラボ (2005-2010) n Japanize, Pathtraq, Q4M, mycached, … n ディー・エヌ・エー (2010-) n R&Dに従事 Aug 24 2013 JSX - 公開から1年を迎えて 2 3. altJS とは? n JavaScript に変換して実行される言語 n 背景: JavaScript の普及 n ウェブブラウザで動くのは JavaScript だけ n ベンダー間の競争の結果、実行速度が高速に n ウェブブラウザ以外でも JavaScript を使うように n サーバサイド: node.js n クライア
6. 出てくる言語 JSX・ DeNA 社製。生の JS よりも遅くならな ・ ・ いらしい (要出典1 )。JS の皮をかぶった Java Haxe・・ ・この中では最古参。JS だけでなく、 PHP や Flash、Java に C#など、様々な言語に 変換可能。手続型言語の皮をかぶった関数型 言語 TypeScript・ ・・この中では最後発。C#作った 人が設計。JS との親和性を重視している、JS の皮をかぶった C# 静的型付けの言語オンリー 1 ベンチマークが少ないので評価保留中 7. 注意そのに! これら 3 つの言語は設計思想が全く異なる JSX は最適化に重点を置いて、ばしばしインラ イン化を行う。ベストプラクティスという名の バッドノウハウを気にせずにコードが書ける TypeScript は JS との親和性を重視し、素直な JS を出力する Haxe は柔軟性があり
JSXがアツい感じだったので触ってみようと思いつつも、Rails学習中なので時間取れないなーと思っていたのだけど、Asset Pipelineで使えるようにしたらRails学習にもなるし、一石二鳥だなーってんで、ちょっとやってみた。 やったのは、 SassとかCoffeeScriptとかそれ系のものをいい感じにコンパイルするためのTiltというライブラリの、JSX対応 fork版: https://github.com/kentaro/tilt/tree/jsx それをRailsで使えるようにする方法を調べた という感じです。とりあえず、rails serverで起動したら、以下の通りHello, World!はできました(HTMLではなく、consolel.logの出力です)。 しかし、多分(?)Tiltだけ対応しても、Sprockets側でも対応しないとrake assets:prec
気に入らない所を直して pull request 投げたら、取り入れられたので、8 日前に書いたエントリが過去のものとなっちゃいました。 関数型 以前の JSX では、関数型は function(: int): string のように書く必要がありました。 これはこれでそのまま使えるのですが、新たに (int) -> string という形式にも対応しました。 ちなみに、複数引数はカンマ区切りで (int, boolean) -> string のようになります。 カリー化された関数は、 function(: int): function(: number): string の代わりに (int) -> (number) -> string と書けます。 引数を囲むカッコは、(今のところ) 省略不可能です。 これには 2 つの理由があります。 この機能を追加したとき、JSX のパーサの能力
注意!このエントリは既に古いので、JSX の進化速度が半端ない - ぐるぐる〜もあわせて読んでください。最新のコードを参照するのが手っ取り早いです。 JSX なる言語がリリースされました。 この言語が謳っているのが、 高速 安全 簡単(生産性が高い、とも) という 3 点です。 高速と安全はまぁいいでしょう*1。 問題は、はたしてこの言語は簡単なのか?という点です。 簡単かどうかは人によるのでアレなのですが、まぁ一部の人にとっては簡単とは言えない (というか書く気がしない) 書き方を強制されるのです。 関数型 数値を受け取って文字列を返す関数を表す型は、JSX では以下のように書きます。 function(:number):string これ単体で見ると分かりやすそうな気配はします。 では、これ読めますか? function f(g: function(:number):number):
私は2001年からJavaScriptを専門にして実装をしており、かなり長い間JavaScriptを使い続けてきました。ExGameをはじめとして、異常なほどにJavaScriptを使い倒したプロジェクトを何個か完遂させています。前の会社「ブロードテイル」がDeNAに買収されたのは、JavaScriptのプロダクトだけでなく、私たちのJavaScriptのスキルを生かしたいという側面も大きくあったと感じています。 そんな私ですが、正直に言うとJSXの開発にはほとんど関わっていません。JSXは基本的に一穂さんが主導し、gfxがフォローし、a_bickyがドッグフードを食べる(自分たちのプロダクトをまず自分たちで率先して使う)という形で進んできました。私が強くかかわったのは、主に3月の言語仕様を決めるときの議論程度です。なのでJSXについてそこまで詳しい訳ではないのですが、そばで開発を見てきた
なぜ「速い」のか、について 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 is a strictly-typed object-oriented programming language that is compiled to JavaScript. It aims to provide higher productivity than JavaScript through strong typing while generating code that runs faster than plain JavaScript. Some key points: - JSX code is compiled to optimized JavaScript using type information for performance gains - It has classes and functions like Java but compiles to Ja
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
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く