tkiryu’s blog

本ブログの内容は個人の意見です。所属組織の公式見解ではありませんのであしからず。

Angular is a Platform

– この記事は2017/06/23(Fri)現在の情報に基づいています –

ng-japan 2017 に参加してきました。今年の ng-japan は Keynote があって、Angular Core Team の Stephen Fluin 氏からお話が聞けた貴重な機会でした。その Keynote の中であった話で、特別スゴイことだったとか目新しいことだったとか、そういうことではなかったんですが個人的にとても納得のいった話があったので、それについて書きます。

ng-japan 2017 公式資料

What is Angular

Keynote: Stephen Fluin (Angular Core Team) docs.google.com

f:id:tkiryu:20170620225747p:plain

の問いに対する答えとして 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 アプリを作るということは、そういうことなんだと思います。

まとめ

  • Angular は Platform なり。
  • Angular が Platform なのは Angular CLI のおかげ。(個人的見解)
  • もうスクラッチで環境を作るのはやめて、Angular CLI を使おう。※Angular で Web アプリを作るとき限定