社内勉強会 TechLunch で ECMAScript についての発表をしました
こんにちは、開発本部エンジニア平木です。
弊社では定例で TechLunch という社内勉強会を開いています。今回は自分が担当になったので、最近の動向も含めてECMAScriptについて話をしました。
なぜECMAScriptについて話そうと思ったのか?
ご存知の方も多いでしょうが、ECMAScriptとはJavaScriptの仕様になります。
ここからは個人的な印象になりますが、つい数年前までは特にフロントエンド開発をする人でも仕様のことを意識しなくてもあまり問題はなかったと思います。
しかし、Babel や TypeScript などが普及しだしてきたあたりから、ブラウザの実装に関係なくECMAScriptで提案されている仕様が使えるようになり、段々とECMAScriptについて知っておいた方が開発効率が上がる…ということになってきたかと思います。
最近ですと、特に Babel を使う前提の React.js などが一般に使われてきていますので、そういった開発をするときにECMAScriptの仕様がどのように決まって次の仕様にはどういった機能が取り込まれるのかを知っておくと開発がしやすくなるのではないかと考えています。
弊社でもちらほらと、ECMAScript2015 以降を使うようになってきているという事情もあり、ここらで情報が追いやすくなってきているECMAScriptについて興味を持ってもらおうという意図で題材に選びました。
話す内容で考えたこと
このような思いから、題材は決まったのですが、いきなりECMAScriptについて話しだしても全然わからないよねということになります。
以前にMeguro.es #1というイベントでECMAScriptについてLT をさせてもらったのですが、イベントの性質上前提をすっ飛ばして話した感じでした。
しかし、弊社のエンジニア陣は今でこそフロントエンドも実装していますが元々はバックエンドなどフロントエンド以外出身のエンジニアが多いので、本題のなぜECMAScriptの次の仕様が追いやすくなったしキャッチアップしていこう!という点がピンとこない可能性があります。
前提としてそもそもJavaScriptの歴史や、ECMAScriptが策定される経緯などから話さないといけないかも…と色々盛り込んだ話をしたのですが、結果としてはちょっと本題がボヤけてしまった感じがあり反省しています…。
スライドはこちらになります。
スライドには入れられなかった部分
時間の都合で話したかったけど入っていないことを 2 点ほど。
Babel について
TechLunch の発表では、構成上入れていなかったのですが、弊社のプロダクトでいうとJavaScriptを結局はBabelを使ってトランスパイルするという形がほとんどです。
基本の ES2015 の機能についてはLearn ES2015 · Babelやyosuke-furukawa/tower-of-babelなんかで覚えることができると思います。
しかし、極端な例でいうと Babel のプラグインのStage 0 preset · Babelを使ったりするとさらに便利(かもしれない)機能が使えるようになります。このプラグインで使える機能は何か?というのを調べるとなると、やはりtc39/proposalsなどを見たほうが早いということになります。
次にどんな機能が来るなどの情報はこの発表の内容などを知ってるとキャッチアップしやすくなると思います。
詳しい情報源について+α
参考情報として載せたなかで個人的に 早い・分かりやすい・詳しい を兼ねそなえているのが Dr. Axel Rauschmayer の 2ality – JavaScript and moreかなと思っています。
英語が苦でなければこの人のブログを読んでるだけで実用上問題ないくらいにECMAScriptの動向についていけます。
この方のJavaScript / ECMAScript 関連の本もすばらしいので、これまた英語が苦でなければぜひ読んでください。
ちなみにこの方はES.next News: 5 ECMAScript.next links, every weekというメーリングリストも運営しておりこちらは粒度としては 1 週間に 1 回になるんである意味読みやすい情報かもしれません。
日本語ですと、ECMAScriptだけではないですがやっぱりazuさんのJSer.infoがよいかと思います。
まとめ
ECMAScriptについての勉強会を開催したお話でした。メドレーでは、ECMAScriptの仕様読むの大好物!というような方もぜひ来ていただきたいと思っています!!
また 4/19(水)に筆者が携わっている CLINICS について話すイベントを開催します。
mednight.connpass.comフロントエンドのことについて話す予定ですので、ご興味あればぜひご参加ください!
お知らせ
メドレーでは医療業界に存在する課題に IT を駆使して取り組んでいきたいデザイナー・エンジニアを募集中です。
皆さまからのご応募お待ちしております。
www.medley.jpwww.medley.jp