パステル色な日々

気ままに綴るブログ

2016年もやってきたng-japan春のAngular祭り

自分がng-kyotoコミュニティに参加しているのもあって、はじめてng-japanに行ってきました。
心の師(たくさんいる)である @laco0416 さんの発表に刺激されたので早速アウトプットすることにします。
いろいろ学びはありましたが、一番心に残っているのは皆さん口をそろえて「TypeScriptの静的型付けはいいぞ。」といってたことじゃないですかね。
今はBabel一辺倒なんですがTypeScriptに戻りたくなりました。Babel始めた頃と状況も違いますからね。
セッションは2トラックに分かれていて40分のセッションを最大6つ受講できました。
全体的に長いセッションが多かったので聴講する側も疲弊していましたが、
それだけ濃い内容でした。Angularの未来は明るいと感じましたよ。
発表は当日配信されていたみたいなんですけど、あとからでも見れるんですかね……?
まあとにかく学ぶことの多いイベントでした。

Angular2の失敗しない始め方(@laco0416)

laco0416.github.io

@laco0416 さんの"Angular2の失敗しない始め方"を聴講しました。
Angular2に関する現時点でのよくある質問や、誤解についてひも解き
Angular2をもっと身近に感じて欲しい、そんな気持ちがビシビシ伝わってきました。
個人的にはドストライクの内容で、これからAngular2を触ろうとしていた身としては
たまらないセッションだったのは間違いないです。
(reveal.jsスライド内容をコピペできるのでいいなと思いました。)

Q&A形式で進んだ前半、Angularに対する突っ込んだ内容ではないものの
よく見る疑問に対して丁寧に解説されていました。
@laco0416 さんの見解ですが、Angular2のコードも全て読んだと聞いたので
すごく説得力がありましたね……。
とはいえそこは自分で確かめてみないといけません(できるだけがんばる)。

で、本セッションで一番強烈に響いたのが次のお言葉。

「Web技術が進化しているのにAugularが変わらないわけがない(意訳)」

言葉についてはうろ覚えで意訳なんですが、
つまり、Angular2はAngularJSとかなり違うということについて
AngularJSが生まれた2009年ごろと比較してWebは随分大きな変革を迎えたので
Angular2がそれを踏まえたフレームワークならば変化するのは当然でしょ?というお言葉です。
そんなとき僕達エンジニア個人個人がどう付き合っていくのか考えないといけませんが
個人的には「やらなくちゃ!」と奮起させてもらえる良いお言葉に感じました。

Progressive Web Apps(@dynamitter)

www.slideshare.net

聞き慣れない言葉でした。知らなかったです。ごめんなさい。
Progressive Web、はて?なんのことかと思って聞いていたのですが、これがかなりワクワクする話でした。
いくつかすでに試されている事例も出てきて、ホームに追加メニューとか知りませんでしたよ……。
Webもネイティブアプリと同じようなことができるようになってきました。
お手軽にいろいろな体験をしてもらえる時代がすぐそこまで迫ってきているのかもしれませんね。

Angular2実践入門(@Shumpei)

www.slideshare.net

前半はライブコーディングをベースにAngular2の書き方の解説、
後半は実際に使ってみて得られた知見をまとめられていました。
とても丁寧な解説で、はじめてAngularを見るという方にも聞きやすかったのではないでしょうか。
コンポーネント指向の設計方法についての考察はどうなんでしょうね。
状態はどこが持ってイベントに対する振る舞いどこに書くのかというあれです。
Fluxという解決策はAngular2でも活かせるのでしょうか。
そもそもそんなもの必要なくなにかいい方法があるのか悩ましいですね。

クリエイティブの視点から探るAngular2の可能性(@clockmaker)

www.slideshare.net

すでに3つのプロダクトでAngular2を実践されてました……。
そういった話を聞けるのはありがたいというか願ったり叶ったりだったのです。
しょっぱなから実装期間1週間とかいうプロダクトが出てきて、すごすぎました。
canvasとの連携だったりとかかなり細かい実践例が飛び出てきて 触ってない身としては口を開けて眺めていました。ええ、もう本当に、Angular2は可能性の獣ですね。

ngUpgradeと移植戦略(@armorik83)

speakerdeck.com

我らが代表による発表です。
AngularJSからAngular2への移行方法として提唱されている
ngUpgradeについて具体的にどうやっていくのかについてのセッションでした。
Angular2への移行戦略はng-forwardというもう一つの戦略があった気がしますがどこいったんですかね……?
中身についてはかなり具体的な内容になっています。
とはいえ、AngularJSからAngular2への道のりについて一から書き直さず
段階的に移植していく方法についての考察ははじめて聞いたので、新事実が多かったです。 思ったよりも移植コストは大きそうですね……。
AngularJSでngMockを使ってテストを書くこともあるので 資産を生かせない時どうするか考えておいたほうが良さそうです。
mochaとはバイバイしてくださいとかも聞こえました……(マジで?)。

Angular1.5 Component & ngComponentRouter(@albatrosary)

AngularJSドキュメントに詳細がなかったngComponentRouterについてのセッション。
しかし、この数日前にまさかの公開というハプニング。

AngularJS

そこでcomponentの話を中心に再構成されたようです。 componentはdirectiveの書き方がより簡単になったもの程度にしか捉えられてないのですが
componentに沿って書いておくとAngular2移植が簡単になったりするんでしょうか。
ngComponentRouterについては @albatrosary さんご自身の記事に使ってみる方法について書かれてますので参考にさせてもらうと良さそうです。

albatrosary.hateblo.jp

Angular2、今日を終えて

Angular2いいですねぇ! 気づいたらAngularはもはや単なるフレームワークというよりプラットフォームになっていましたよ……。 だからこそ末永く付き合っていくためにもこのセッションで語られた次のWeb技術は抑えておこうと思いました。 Angular以外でもWebの技術は生きるので学ばない手はなさそうです。

  • Observable
  • Zones
  • Decorators

連続したPromiseによる非同期処理が辛いと感じていたので、 Observableについては掘り下げたいですねえ。

componentごとにChange Detectionを動的に生成して かなり高速に変更を検知して反映することができるAngular2。 この辺のロジックは興味深いです。 各コンポーネントは親コンポーネントを持ち親コンポーネントに変更がない場合 子コンポーネントのChange Detectionは実行されません。 reactのpropsの説明の時によく見たような木構造の図が出てきて、
「お、あれだ」と思ったけど、変更検知した後に変更後の値を伝える方法についてわからないので これも調べる必要がありそう。

そうそう、実はイベント中に(ITパティシエなる人から)お菓子が配られたんですが、 とても美味しかったです。食べたら「ウーピー」と言ってしまうほどに。 来年、ng-japanがあったら行きましょう。Angular2やりましょう!来年はもっと盛り上がってるかもしれませんよ!