天下一altjs武闘会に jsx 枠で出場してきた。(わかめ本の書評付き)

TypeScriptリファレンス Ver.1.0対応

TypeScriptリファレンス Ver.1.0対応



仕事ではJSXでライブラリとか作るおじさんをやっているんですが、その時の自分の信条として、必ずJavaScriptから呼べるようにもするっていう事を守ってやってきた結果、jsx-linkerとかバインディングの書き方をある程度心がけるといい感じにJavaScriptとJSXの垣根を取っ払えるなと思っていたので、そのノウハウ紹介でした。

JSXの特徴とか wasabizとか gfxが話してくれるだろうし、不要かなと思ってたんですが、急遽一人で発表になってしまったので、

な感じでjsxの特徴の話も補完してたりしてました。

パネルディスカッションの雰囲気

とにかく以下の感じだった。

  • 生のJavaScriptなんかでまだ書いてるの? 許されるの小学生までだよね~
  • 型がないなんて信じられない。よく安心してプログラミングできるねー
  • 既存JSのバインディングとかどうすんのよ、d.tsから取るとかそういう戦略取らないと辛いよね。
  • それお前ES6がfixされても同じこと言えんの? > いや、そもそもES6ってfixされんのかよ。
  • 「自己関手の圏におけるモノイド対象」 > そういうのって普通の開発では不要だよね。

パネルディスカッションもみんな主張がたくさんあって面白かった。
まぁ色んな事が語られてて、TypeScript最強って謳ってても速攻「あの開発者の手を止めるほどのコンパイル速度はないわ」とか、
Dartこそが真のaltjsって言ってても「Dartがブラウザで動く日いつよ」とか、ツッコミが即飛んでくる面白い。

まぁ結局何を作るのかとか、背後に構えているサーバーサイドも一緒にそのエンジニアが書くのかどうかとか、そもそもそのエンジニアがこの広い言語の中でどういう言語を学んできたのかとかそういうシチュエーションによって答えは変わるのでものすごく不毛で楽しい時間でした。

パネル中に回ってきたツイートだけど、真理だなと思った。あと、有用かどうかに関わらず、言語作るのは楽しそうだなと思った。

TypeScript、わかめ本の話

全て読んだ訳じゃ無いので書評といっても途中経過までですが、非常にまとまっていて良い本だと思います。

いくつか素晴らしい点があるので紹介しておくと、

  • TypeScriptの基礎文法から応用まで幅広く載っている
  • TypeScript に特化した話というよりも第5章で JavaScript の基本挙動を入れている
  • 開発支援ツールとして grunt, tslint, tsd等のツールの使い方、WebStorm等のIDEまで説明している
  • 開発サンプルとしてまるばつゲームやTODOアプリの作り方が載っていて、AngularJSでどう使うのかといった実践面もサポートしている

というわけで、JavaScript書いたことない人でも、TypeScriptリファレンス本で学ぶのはオススメです。TypeScriptはコンパイル後のコードも可読性が高いので、JavaScriptの勉強にもなるはずです。

もちろん、JavaScriptは知っているけどTypeScriptをこれから学びたいって人もv1.0に対応済みの本って少ないので、買っておいたほうがいいです。

JSX使いから見たTypeScript

非常にJSXと文法が似てるので、苦労しなくてもすんなり頭に入ってくる感じがあって、読むのも書くのもそんなに学習コストなくてもできるのが素晴らしいなと思いました。

後はやっぱりTypeScriptの開発者の数が多いので、IDEのサポートとかlintツールとかバインディングとかが充実しているのは嬉しい。

JSXのように最適化されたJavaScriptじゃないから、functionのインライン化とかデッドコード削除とかが無いので、ある程度性能がクリティカルになってくると辛い感じもありそうだが、まぁそこはaltJSという現実解としては素敵な気がした。最悪TypeScriptがオワコンになっても生成されたJavaScriptは読めるのでいつでも捨てられるというのも魅力の一つと思いました。

TypeScriptリファレンス Ver.1.0対応

TypeScriptリファレンス Ver.1.0対応