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
TL;DRJSX is like a healthy vegetable that tastes like decadent chocolate cake. You feel guilty, but it’s good for you. (Tweet this). What is JSX?For those unfamiliar with React, JSX is an inline markup that looks like HTML and gets transformed to JavaScript. A JSX expression starts with an HTML-like open tag, and ends with the corresponding closing tag. JSX tags support the XML self close syntax s
Transcript 1. React.js に XSS 対策を 求めるのは間違っている だろうか #edomaesec 2015 5/30 LT 2. @clariroid 3. くらりど 4. React.js 5. React.js 6. React.js 青い紐 7. React.js • UI を構築する JavaScript ライブラリ 8. React.js • UI を構築する JavaScript ライブラリ • Virtual DOM 9. React.js • UI を構築する JavaScript ライブラリ • Virtual DOM • Component Composable 10. React.js • UI を構築する JavaScript ライブラリ • Virtual DOM • Component Composable • Server-side R
テスト駆動開発(TDD)の一般化とGitHubの登場によって、機能追加の際にコードとテストを同時に実装する(そして、両者を一括してmasterにmergeする)という開発手法が一般化してきました。 しかし、「良いプログラム」の要素を構成するのは、コードとテストのみではありません。動作するコードと、その品質を担保するためのテストがあったとしても、適切なドキュメントがなければ、ユーザーはそのプログラムをどうやって使ったら良いかわかりません。 つまり、ユーザーに使いやすいプログラムを継続的に開発/提供しようと思うと、 コード テスト ドキュメント の3点セットを提供する必要があるのです注1。 今日のJSXが抱えている最大の課題は、ドキュメントが不足しているという点にあります。その原因は、「機能追加」の際にコードとテストのみを実装してmasterにmergeすることを繰り返す一方で、ドキュメントは
JavaScript で高速なコードを書こうとする際に、はまりがちな罠と、JSX のコンパイラでどのように対処しているのかを紹介
JSX compilerのソースコードで検証してみました*1。 Mode Size(KiB) Ratio original 1507 1.00 JSX minifier 277 0.18 Closure Compiler/D 602 0.40 Closure Compiler/A 301 0.20 対象にしたソースコードがJSXから変換したJSというやや特殊な状況ですが、Closure CompilerのADVANCED_OPTIMIZATIONSよりもサイズが小さくなりました。また、ADVANCED_OPTIMIZATIONSと異なりJSX minifier*2はコードを破壊する圧縮は一切行わないので、圧縮したらコードが動かなくなるということが非常に起こりにくくなっています。しかしそれでも、JSXの豊富な型情報を使って圧縮すればADVANCED_OPTIMIZATIONSよりもサイズを小
JSX をセルフホスティングしてnpm packageとしてリリースしました。 https://npmjs.org/package/jsx さてJSXコンパイラをJSXで書きなおしたわけですが、これは主にJSXコンパイラの質を高めるためです。JSXはJavaScriptと比較すると大規模な開発に向いている、というのがJSX開発チームの主張です。であれば、JSXコンパイラをJSXで書くことにより質を高められるはずです。事実、今回のセルフホスティングでtypoやリファクタ時のエンバグ、関数の引数間違いなどによるバグがいくつも見つかり改修されました。セルフホスティングはコンパイラの品質を高める一助になったといえます。 またもうひとつ、今回のJSXコンパイラの開発はJSXによる開発であり、この過程で得た知見が数多くあります。これにより、たとえばasの失敗がnullを返すのではなく例外を返すようにす
JSXをどうやって学べばよいか、メモしておきます。 言語仕様 言語仕様は jsx.github.com にドキュメントがあるほか、実例としては言語仕様のテストである JSX/t/run/*.jsx が参考になります。特に JSX/t/run/*.jsx は実際に開発するとなると頻繁にgrep することになると思います。 http://jsx.github.com/doc.html https://github.com/jsx/JSX/tree/master/t/run また、組み込み関数の挙動はJavaScriptと同じなのでリファレンスとしてはMDNがいいでしょうし、実際のシグネチャは lib/built-in.jsx を見るといいでしょう。 DOM操作 / ブラウザAPI DOM用APIは、"js/web.jsx" をimportする必要があること、windowやdocumentがグロ
こんばんは! 第二回はDartと他の言語との比較ということで、DeNA発のJSXというプログラミング言語との比較を行なってみようと思います。vs JSXです! 1回では纏まりそうにないので、複数回に分けていこうと思います。 それでは、軽くJSXの説明を行います。Dartについては前回の Dartで遊んでみよう.1 をご覧ください! JSXとは、DeNAによって開発されたオブジェクト指向のプログラミング言語です。 Dartと同じくJSXのコードはJavaScriptにコンパイルされるため、node.jsやブラウザ上で動作させることができます。 文法はJavaScriptにとても近いので、JavaScriptユーザーはすぐに書き始めることが出来るはずです。 そして最大の売りは、静的型付けであることだと思います。 静的型付けは、打ち間違えによる些細なミスや、間違った値の代入、誤った型
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 は配
まだ master にはマージしてないですが kazuho/user-defined-templates ブランチのやつを使うと、 class Adder.<T> { static function f(x : T, y : T) : T { return x + y; } } class Test { static function run() : void { var n = Adder.<number>.f(1, 3); log n; var s = Adder.<string>.f("abc", "def"); log s; } } が、最適化オプション (--optimize inline,fold-const) でコンパイル後に Test.run$ = function () { /** @type {!number} */ var n; /** @type {!string}
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ページを開く