Angularアプリケーション全体がサーバサイドで実行されます。すごいのは、ルーターやHttpもそのままで動くよう設計されている点です。ルーターが動くということは、リクエストされたURLに応じて自動的にレンダリング結果が変わるということです。Httpを使っている部分は、Node.jsのhttpモジュールを使用してリクエストが行われます。クライアントサイドで実行したときと同様に、コンポーネントを動作させた結果がHTMLソースとしてレスポンスされるということですね。そのDOMの入れ替えも、ユーザーには気づかれないくらいスムーズに行われます。いえ、組み込まれていませんね。これも、まずはシンプルな実装を提供するという目標に沿ったものです。使おうと思えば自分で組み込むことはできます。Angular」というお題で対談して頂いた時、ReactのSSRは結構遅くて大変...なんてお話もありましたけども。AngularのSSRは、文字列で書き出す以外の余分な処理を極力しないようにしているので、Reactのものより速い可能性はありますね。余計なDOMもほとんど出力されません。Workersも利用できるようにするとか。platform-webworkerはなくなる予定なんですよね。AOTで十分高速なので、Workerとか使うとかえって複雑になってしまうから、もういらないんじゃないかって話になりつつあります。その代わり、ng-confでもServiceWorkerの話は結構ありましたね。4.0リリース後盛り上がってきています。mobile.angular.ioというサイトがありまして、ここではAngularをモバイルで動かすためのツールキットを作っています。CLIで実現することを目指しているプロジェクトです。Appsの対応って、意外と面倒じゃないですか。Manifestも作らなきゃいけないし。PWA」と言って、手間をかけずに実現できるようにしようとしています。CLIにも、隠された機能としてPWA対応があるんですけどね。PWAと言えば、AMPと組み合わせて「PWAMP」なんて言ってたりもしましたね。「PWAMP」って言葉はもう使われてないみたいでした(笑)。AMPには、ServiceWorkerを読み込ませる機能があるのを利用して、ServiceWorkerを裏で読み込んで起動しておくんです。すれば、ServiceWorkerのオフラインキャッシュなども処理を実行させておける。AMPページに「もっと読む」というボタンなどを用意しておけば、すでにキャッシュ済みのリソースを使ってPWAが立ち上がるので高速、というわけです。4.0からは、TypeScriptのバージョンも2.2に上がりましたね。Serviceという仕組みがあるんですが、それを利用してAngularがエディタにテンプレートのシンタックスエラーを報告するなんてことができます。Service」というのが提供されていて、Angularのテンプレートの構文チェックなどを行えます。WebStormには、標準機能としてすでに組み込まれています。2.2ベースの現在の実装だと、まだ無理をして実装している部分があるのですが、2.3になったらそうした部分も書き直される予定です。アップグレードに関するトピックですね。1系を使い始める人がまだまだ多いみたいなんです。Angularチームはドキュメントの参照数をカウントしているのですが、AngularよりもAngularJSのほうがかなり参照数が多い。130万と80万という比率だそうです。はい、ドキュメントが少ないのが残念ではあるのですが、UpgradeModuleという仕組みが利用できます。UpgradeModuleはAngularJSとAngularを同時に使うので、アプリケーションのサイズが肥大化してしまうんですね。それを、遅延ロードで解決することもできます。AngularJSのページとAngularのページを分けられれば、Angularの部分は遅延ロードが行えるだけでなく、AOTすらもできるようになっているんです。今から1を使い始める人も結構いるっていうのもびっくりです。それは確かにあるかもしれませんね。AngularアプリをJSで書こうっていう話はなかったんですか?一応、JSで書くためのドキュメントもあるみたいですが...。いうセッションは全然ありませんでしたね(笑)。推奨もしていないんじゃないかなあ。その代わりに例えば、「まずはWebサイトをやめてSPAにしよう」っていうセッションとかはありましたよ。AngularJSの時代は、通常のWebサイトの一部だけAngularJSを使う...という使い方もされていましたから。そんなライトな感じのセッションもあったんですね。今日はアドバンストなトピックだらけだったので、最後にちょっとほっとする話題が聞けてよかった(笑)。(前編)Chrome29リリース。