脆弱性
IT関係の人は特に脆弱性と言う響きが嫌いだろう。
簡単なupdateで済む場合もあれば、徹夜作業になったり、攻撃されてサーバーを壊されたり情報漏えい被害にあったりと。
言語自体に脆弱性がある場合もあるが、フレームワークやプラグインの方に脆弱性の報告が多く、修正作業も膨大になりがち。
例えばLAMPの場合、Linux、apache、mariadb、phpの4つの土台が必要となる。ある意味完成された構成なのでここ最近はこの構成での大きな脆弱性は無かった気がする。open-sslやwordpressは大きな影響があったが、updateを行うだけで対応できる作業内容だったはず。
多くのWEBアプリケーションは
動的なWEBアプリケーションはSSR(server side rendering)が大半でそれを攻撃する代表的な手段としてXSS、CSRF、SQLインジェクションぐらいかな。この攻撃に関してはフレームワーク自体に対策がされていて気にせずコーディングできる場合もあるが、自前で対策する場合もある。どちらにしろSSRはWEBアプリがDBを扱う権限を持ち、HTMLファイルを動的に出力しているので、初心に帰って考えれば取り扱い注意物件。
Angularは
AngularでSSRをしない場合、build出力されるファイルはindex.htmlと片手で数えれるjsファイルのみ。実行環境はWEBサーバならなんでも良い。データ関係はmBaaSを使うのが一般的かと。私もFirebaseを使用している。
仮にLinux + apache構成にしangularで作ったサイトを運営したとし、Linuxに手に負えないほどの修正が必要になった場合、Windowsに移行すればよい。apacheに拘る必要もなく、nginxでもIISでも構わない。
なぜならばAngularで作られたサイトはhtmlファイルとjsファイルのみで完結しているため実行環境の敷居が低い。
私がAngularはフレームワークではなくプラットフォームと感じるのはこのせい。
実行環境の敷居が低い=複雑な環境ではないため脆弱性に当たる確率も必然的に低くなる。
データを取り扱うmBaaS部分については外部サービスを使えば、バックアップなども金で解決できるものばかり。
あとがき
仕事に疲れたので現実逃避を目的に書きました。