タグ

関連タグで絞り込む (2)

タグの絞り込みを解除

jsxに関するkamipoのブックマーク (20)

  • なぜJSXをセルフホスティングすべきなのか - Islands in the byte stream (legacy)

    JSX をセルフホスティングしてnpm packageとしてリリースしました。 https://npmjs.org/package/jsx さてJSXコンパイラをJSXで書きなおしたわけですが、これは主にJSXコンパイラの質を高めるためです。JSXはJavaScriptと比較すると大規模な開発に向いている、というのがJSX開発チームの主張です。であれば、JSXコンパイラをJSXで書くことにより質を高められるはずです。事実、今回のセルフホスティングでtypoやリファクタ時のエンバグ、関数の引数間違いなどによるバグがいくつも見つかり改修されました。セルフホスティングはコンパイラの品質を高める一助になったといえます。 またもうひとつ、今回のJSXコンパイラの開発はJSXによる開発であり、この過程で得た知見が数多くあります。これにより、たとえばasの失敗がnullを返すのではなく例外を返すようにす

    なぜJSXをセルフホスティングすべきなのか - Islands in the byte stream (legacy)
    kamipo
    kamipo 2013/01/26
  • JSX / Haxe / TypeScript

    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 / Haxe / TypeScript
  • Dartで遊んでみよう.2 [vs JSX その1] | Codelogy

    こんばんは! 第二回はDartと他の言語との比較ということで、DeNA発のJSXというプログラミング言語との比較を行なってみようと思います。vs JSXです! 1回では纏まりそうにないので、複数回に分けていこうと思います。 それでは、軽くJSXの説明を行います。Dartについては前回の Dartで遊んでみよう.1 をご覧ください! JSXとは、DeNAによって開発されたオブジェクト指向のプログラミング言語です。 Dartと同じくJSXのコードはJavaScriptにコンパイルされるため、node.jsやブラウザ上で動作させることができます。 文法はJavaScriptにとても近いので、JavaScriptユーザーはすぐに書き始めることが出来るはずです。 そして最大の売りは、静的型付けであることだと思います。 静的型付けは、打ち間違えによる些細なミスや、間違った値の代入、誤った型

    kamipo
    kamipo 2012/07/02
  • JavaScriptとJSXの違うところ[初歩] - console.lealog();

    JavaScriptからプログラミングの勉強を始めた私が、最近JSXを学び始めました。 で、JavaScriptの書式に一通り慣れた身が、JSXを触ってみて感じた「違い」のまとめです。 注:深い意味でのJavaScriptの挙動とココが違う!みたいな考察記事ではありません。 JavaScriptをちょっとやった人が、JSXをさわるにあたって前もって知ってたらおトク!程度の軽い内容です。 文字列連結にはキャストが必須 // JavaScript! var cnt = 30; console.log(cnt + "点ゲット!"); // 30点ゲット! JavaScriptでよくこういうの書いてたのですが、全部キャストしないといけないんですね。 // JSX! var cnt = 30; log(cnt as string + "点ゲット!"); // 30点ゲット! :voidじゃないfun

    JavaScriptとJSXの違うところ[初歩] - console.lealog();
    kamipo
    kamipo 2012/06/14
  • JSXよりHaxeがイケてる5つの理由(実践編) もしくは Real World Haxe - みずぴー日記

    JSXがリリースされて1週間ぐらい立ちました。ガシガシ進化が進んでてすごいですねー。 おかげで、文法と適用範囲が似てるHaxeにも注目を集まっている気がします。なので、今日はそのHaxeを実際のプロジェクトに適用した事例について紹介したいと思います。題してReal World Haxeです。 プロジェクト概要 プロジェクトの概要は、前にosiireさんが2009-10-21で書いているのでそのまま引用します。 某自動車販売会社用のWebサービス サーバーサイドを全部OCamlで作成。OCaml+MySQL。既に稼働中のサーバーへ導入しなければならず、その環境が少し古かった(debian serge)ので一瞬焦ったが、ちゃんとOCaml開発環境は揃った。初めてpa_monadを導入したが、とても便利だった。重回帰分析をOCamlで実装した(Cで書くのがイヤだったから)。OCamlのコードはト

    JSXよりHaxeがイケてる5つの理由(実践編) もしくは Real World Haxe - みずぴー日記
  • JSX で Array#forEach が5倍以上速くなった話 - kazuhoのメモ置き場

    JSX の進化速度が半端ない - ぐるぐる~ で紹介していただいているとおり、最新の JSX では function expression の型宣言を省略できるようになっています。これを利用して、たとえば配列の合計を求める場合、 var sum = 0; [ 1, 2, 3, 4, 5, 6, 7, 8 ].forEach(function (n) { sum += n; }); のように、JavaScript と 100% 同様に書くことができるようになりました。省略形を利用して [ ... ].forEach((n) -> { sum + n; }); でもいいです。 ところでこのコード、見た目は同じなんですが、実は JSX だと JavaScript よりも5倍以上速く動くんです。まだ最適化があまいところがあるのに。 なぜか。JavaScript の Array#forEach は配

    JSX で Array#forEach が5倍以上速くなった話 - kazuhoのメモ置き場
    kamipo
    kamipo 2012/06/12
  • JSX の進化速度が半端ない - ぐるぐる~

    気に入らない所を直して pull request 投げたら、取り入れられたので、8 日前に書いたエントリが過去のものとなっちゃいました。 関数型 以前の JSX では、関数型は function(: int): string のように書く必要がありました。 これはこれでそのまま使えるのですが、新たに (int) -> string という形式にも対応しました。 ちなみに、複数引数はカンマ区切りで (int, boolean) -> string のようになります。 カリー化された関数は、 function(: int): function(: number): string の代わりに (int) -> (number) -> string と書けます。 引数を囲むカッコは、(今のところ) 省略不可能です。 これには 2 つの理由があります。 この機能を追加したとき、JSX のパーサの能力

    JSX の進化速度が半端ない - ぐるぐる~
    kamipo
    kamipo 2012/06/12
  • haXe と JSX の最大の違いは null と undefined の扱い - kazuhoのメモ置き場

    JavaScript のコードをデバッグ中、突然出現する null や undefined に苦しめられている方も多いのではないでしょうか。haXe と JSX の一番大きな差は、個人的には、その null (と undefined) の扱いにあると考えています。 haXe の JavaScript 実装では、全ての基型が nullable とされています*1。つまり、たとえば haXe の Bool 型は true, false, null の3つの値を取りうることになります*2。null が入っているかどうかはプログラマがいちいち確認する必要があります。 // haXe class Test { static function f(b : Bool) : Void { if (b == true) { // b is true } else if (b == false) { //

    haXe と JSX の最大の違いは null と undefined の扱い - kazuhoのメモ置き場
  • JSXよりHaxeがイケてる3つの理由 - みずぴー日記

    Javascriptを生成できる言語『JSX』がリリースされました。めでたいですねー。 ただ同じくJavascriptを生成きるHaXeのことが忘れられている気がするので、宣伝します。 ステマじゃないよ! 型推論がイケてる 現時点でJSXには型推論が実装されてないので、関数を定義するには全ての型を書く必要があります。 // JSXだよ! function add(x : number, y : number) : number { return x + y; } これだけなら特に問題ないように見えますが、これが高階関数を定義しようとするとどんどん複雑になっていきます。 // JSXだよ! function f(g: function(:number):number): function(:number):number { return function(x: number): number

    JSXよりHaxeがイケてる3つの理由 - みずぴー日記
    kamipo
    kamipo 2012/06/05
  • JavaScripterから見たJSX

    私は2001年からJavaScriptを専門にして実装をしており、かなり長い間JavaScriptを使い続けてきました。ExGameをはじめとして、異常なほどにJavaScriptを使い倒したプロジェクトを何個か完遂させています。前の会社「ブロードテイル」がDeNAに買収されたのは、JavaScriptのプロダクトだけでなく、私たちのJavaScriptのスキルを生かしたいという側面も大きくあったと感じています。 そんな私ですが、正直に言うとJSXの開発にはほとんど関わっていません。JSXは基的に一穂さんが主導し、gfxがフォローし、a_bickyがドッグフードをべる(自分たちのプロダクトをまず自分たちで率先して使う)という形で進んできました。私が強くかかわったのは、主に3月の言語仕様を決めるときの議論程度です。なのでJSXについてそこまで詳しい訳ではないのですが、そばで開発を見てきた

    kamipo
    kamipo 2012/06/04
  • JSX 私的チュートリアル - あらびき日記

    この記事は abicky.net の JSX 私的チュートリアル に移行しました

    JSX 私的チュートリアル - あらびき日記
    kamipo
    kamipo 2012/06/04
  • JSX のアレな所 - ぐるぐる~

    注意!このエントリは既に古いので、JSX の進化速度が半端ない - ぐるぐる〜もあわせて読んでください。最新のコードを参照するのが手っ取り早いです。 JSX なる言語がリリースされました。 この言語が謳っているのが、 高速 安全 簡単(生産性が高い、とも) という 3 点です。 高速と安全はまぁいいでしょう*1。 問題は、はたしてこの言語は簡単なのか?という点です。 簡単かどうかは人によるのでアレなのですが、まぁ一部の人にとっては簡単とは言えない (というか書く気がしない) 書き方を強制されるのです。 関数型 数値を受け取って文字列を返す関数を表す型は、JSX では以下のように書きます。 function(:number):string これ単体で見ると分かりやすそうな気配はします。 では、これ読めますか? function f(g: function(:number):number):

    kamipo
    kamipo 2012/06/04
  • JSXを、RailsのAsset Pipelineを使って動かしてみた - Kentaro Kuribayashi's blog

    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

    JSXを、RailsのAsset Pipelineを使って動かしてみた - Kentaro Kuribayashi's blog
    kamipo
    kamipo 2012/06/04
  • にひりずむ::しんぷる - わーい、JSX で canvas いじれたよー

    ちょろっと修正 というわけで、blog の背景の canvas を JSX で書きなおしてみた。いま動いてるのは JSX でコンパイルした JavaScript です。 だいたい、チュートリアルとテストみたらできた。 まず、node と npm が必要なのでよしなにいれる $ brew install nodejs $ curl http://npmjs.org/install.sh | sh そしたら JSX のレポジトリから git clone して make setup $ git clone git://github.com/jsx/JSX.git $ cd JSX $ make setup これで jsx の開発環境が整いました!簡単ですね!! ちなみに、いまは make install とかないので、とりあえずはこの落としてきたレポジトリで適当に開発することにした。 あとは、

    kamipo
    kamipo 2012/06/04
  • 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のメモ置き場
    kamipo
    kamipo 2012/06/02
  • JSX Design Overview (日本語)

    【BS13】チーム開発がこんなにも快適に!コーディングもデバッグも GitHub 上で。 GitHub Codespaces で叶えられるシームレスな開発日マイクロソフト株式会社

    JSX Design Overview (日本語)
    kamipo
    kamipo 2012/06/01
  • JavaScriptみたいな最近噂の新言語、JSXのお話を聞いてきたよ! | Ginpen.com

    これ行ってきました。 Web先端技術味見部#4 (仮テーマはJSX!) : ATND JSXなにそれ JavaScriptっぽい新言語。日DeNAが発表。 JavaScript風の記述 って言ってたけどそうでもないと思った。ActionScriptに近い? 静的型付け →高速 クラスベース →高速 JavaScriptに変換しても →高速 玄人が書いたJavaScript並 クライアントサイドでもサーバーサイドでも動く というかJavaScriptが動く環境なら動く JavaScriptを置き換えるのが目標 リンク DeNA開発、高速なJavascriptコードを生成できる新言語「jsx」への反応まとめ – Togetter JSX – a faster, safer, easier alternative to JavaScript 公式サイト JSX – Statically-typ

    JavaScriptみたいな最近噂の新言語、JSXのお話を聞いてきたよ! | Ginpen.com
    kamipo
    kamipo 2012/06/01
  • JSXをインストールしてちょろっと触ってみた - hamaco's blog

    npm install npm http GET https://registry.npmjs.org/browserbuild npm http GET https://registry.npmjs.org/source-map npm http 200 https://registry.npmjs.org/source-map npm http GET https://registry.npmjs.org/source-map/-/source-map-0.1.0.tgz npm http 200 https://registry.npmjs.org/browserbuild npm http GET https://registry.npmjs.org/browserbuild/-/browserbuild-0.4.9.tgz npm http 200 https://registr

    kamipo
    kamipo 2012/06/01
  • JSX

    BootsFaces, AngularFaces und ein Blck unter die MotorhaubeOPITZ CONSULTING Deutschland

    JSX
    kamipo
    kamipo 2012/05/31
  • JSX - a faster, safer, easier JavaScript

    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

    kamipo
    kamipo 2012/05/31
  • 1