Angular is a Platform
– この記事は2017/06/23(Fri)現在の情報に基づいています –
ng-japan 2017 に参加してきました。今年の ng-japan は Keynote があって、Angular Core Team の Stephen Fluin 氏からお話が聞けた貴重な機会でした。その Keynote の中であった話で、特別スゴイことだったとか目新しいことだったとか、そういうことではなかったんですが個人的にとても納得のいった話があったので、それについて書きます。
ng-japan 2017 公式資料
Web サイト
ngjapan.orgイベント後記(Youtubeアーカイブ、講演スライド etc…)
ngjapan.blogspot.jp
What is Angular
Keynote: Stephen Fluin (Angular Core Team) docs.google.com
の問いに対する答えとして Angular is a platform … という話がありました。単なる Library にあらず、Framework でもなく、Platform であると。これを聞いて、おぉーなるほど!!と激しく納得した、そういう話です。今回のブログで言いたかったことはこれだけです。前置き長くてすみません。
どうしてそんなに激しく納得したのかというと、
- .NET Framework を使ってデスクトップアプリを作るように
- Android/iOS SDK を使ってモバイルアプリを作るように
- Angular を使って Web アプリを作る
ということで、つまり今や Angular は .NET Framework や なんちゃらSDK に匹敵するレベルのものなんだと思った瞬間、自分の中で妙にスッキリしたからです。
そもそも Platform ってなに?という話でいくと、「ソフトウェア開発のための基本環境を提供しているもの」といった定義がググると出てきて、多分
- ビルド環境
- 実行環境
- テスト環境
あたりの環境が揃っていることが条件で、確かに今の Angular にはそれらが全て揃っているなと感じます。
ただ個人的には、Angular が Platform だと言えるのは Angular CLI のおかげで、これなしでは Framework の域を超えられなかったのではないかと思います。それくらい Angular CLI の存在は大きいと思っています。
Angular CLI のおかげで、コマンド一発でプロジェクトを生成することができて、ビルド環境、実行環境、テスト環境まで提供してくれます。もうスクラッチで環境構築する必要はなくなりました。Grunt、Gulp、browserify、webpack 等を使ってスクラッチで環境を作っていた頃が遠い昔のことのように思えます。
デスクトップアプリを作るときに、Visual Studio を使ってプロジェクトを作りこそすれ、決してソリューションファイルをスクラッチでは書かないと思います。Angular を使って Web アプリを作るということは、そういうことなんだと思います。