Suguru Inatomi
2018-06-26
Distinct, Infragistics Japan
1. Angularの概要と最新情報
2. なぜAngularが必要なのか
Webフロントエンド用のフレームワーク
統合された開発プラットフォーム
開発者による開発者のためのエコシステム
コンポーネント志向のビューエンジン
HTMLテンプレートとデータバインディング
依存性の注入システム
Ahead-of-Time (AoT) コンパイラ
ユニットテスト支援
etc...
@angular/core
@angular/core/testing
@angular/common
@angular/forms
@angular/http
@angular/router
@angular/platform-browser
@angular/platform-server
...
すぐに動かせる
サードパーティライブラリを選ぶ時間が不要
学びやすい
整備された公式ドキュメンテーション
フレームワークの知見を共有できる
高品質
常にメンテナンスされ、最新に保たれている
Angularプラットフォームが目指すもの
作りたくなるアプリケーション
使いたくなるアプリケーション
Angularチームのベストプラクティスを利用できる
チームのスケーラビリティを上げる
初心者から上級者まで満足できる
アプリケーション開発を支援する
エディター支援ツール
AngularのためのLintルール集
UXとしての速度
バンドルサイズの削減
オフラインキャッシュ: PWA
遅延読み込み
サーバーサイドレンダリング
Angularの3世代目ビューエンジン
HTMLテンプレートからDOMを生成するまでの過程
使っているAngularの機能だけをバンドルする仕組み
"従量課金"型
サーバーサイドAngular
Node.jsでAngularを実行する
公式パッケージ
@angular/platform-server
サードパーティパッケージ
@nguniversal/express-engine
@nguniversal/hapi-engine
@nguniversal/aspnetcore-engine
...
現在モバイルのほうが多数派である
Progressive Web Apps開発
Angular Service Worker (NGSW)
自動オフラインキャッシュ
Ionic
AngularとCordovaを使ったネイティブアプリ
NativeScript
AngularアプリをネイティブUIアプリに変換する
AngularとWebViewによるネイティブアプリ
AngularコンポーネントをネイティブUIに変換
開発者体験
スケーラビリティ: チーム開発を支援
ユーザー体験
速さ: すばやく起動できるアプリケーション
モバイルサポートの選択肢
PWA / Web View / NativeUI
Semantic Versioning
メジャー.マイナー.パッチ
定期リリースポリシー
パッチアップデート / 毎週
マイナーアップデート / 毎月
メジャーアップデート / 6ヶ月おき
Googleによるリリースチェック
Googleは常にリリース前の最新バージョンを使用
すべてのメジャーバージョンを1年間長期サポート
致命的なバグ修正やセキュリティパッチのみ
Angular (Angular 2+)が多数派になった
AngularJS (Angular 1.x)は終了(間近)
v1.7.x (June): 最終リリース
3年間のLTS: 2018-07-01 => 2021-06-30
今AngularJSを選択する理由は無し
公式のMaterial Designコンポーネントライブラリ
VMware製のコンポーネントライブラリ
Infragistics製のコンポーネントライブラリ
コンポーネントライブラリ開発を支援
The Angular CDK gives developers solid, well-tested tools
to add common interaction patterns with minimal effort.
AngularコンポーネントをCustom Elementsに
マイクロアプリケーション・ウィジェットとして
静的コンテンツページへの埋め込み
React, Vueその他ライブラリからの利用
ng-conf 2017 keynote
安定したリリースサイクル
パッケージエコシステムの醸成
さまざまなコンポーネントライブラリ
多くのユーザー、ローカルコミュニティ
開発者間での活発な互助文化
コモディティ化したSingle Page Application
プロダクトの価値を追求する段階
"モダンWeb"は目的から手段へ
加速するモバイルファーストの流れ
PWAムーブメント
デバイス機能との連携
SEO
コンポーネント志向デザイン
新しいWeb標準への追従
もっと信頼できて
もっと多機能で
もっとパフォーマンスが良く
もっとメンテナンス性が高く
もっとスケールする
フレームワークに頼ること
DOM操作
パフォーマンス
Web標準との相互運用
基本的なアプリケーション構成
一般的なプラクティスの適用
意思決定を外部化して
プロダクトの価値に集中する
30人を超えるGoogleのAngularチーム
Chrome開発の資産: Webのベストプラクティス
V8フレンドリーなJavaScriptコード
フレームワークのセキュリティレビュー
Googleによって品質が担保されている
Angularチームのベストプラクティスに従うことで
意思決定のコストを削減
共通の知見をコミュニティでシェアできる
Suguru Inatomi