※初学者のため間違っている部分などございましたらご指摘ください。
タイトルの通りですが、**「なぜWebアプリケーションはアップデートなしにUIや機能の変更ができるのか」**と疑問に思ったので調べてみました。
ググってもクリティカルな記事を見つけられなかったのでwebアプリケーションの構造から考えてみました。
Twitterのweb版はたまにUIや機能の変更がありますよね。最近だと、「予約投稿の機能」でしょうか。
こういった変更がアップデートなく使えるようになっているのはなぜだろうと思ったのです。
一方のスマホアプリだと、ストアでのアップデートがあるのでそこで変更がされていることはわかるわけですが。
Webアプリケーションの構造
基本的なwebアプリケーションの構造はこんな感じ。
今回の話で重要になってくるのが、リクエストとレスポンスが毎回行われるという点。
開発部門も含めた構造
Twitter社内の開発も含めて書いてみました。今回は予約投稿の機能を例に取っています。
予約投稿機能の開発を終え、それをMasterブランチへMergeします。
そのMasterブランチをデプロイするという流れになっています。
デプロイが行われた時点で書き換わる
デプロイが行われた時点で変更が完了しています。
今回は、デプロイが行われた時点で「予約投稿機能」が追加されたWebアプリケーションに変わっているという事です。
その書き換わったアプリケーションにユーザーがリクエストを送る。
よって、アップデートなく機能が追加されたものにアクセスできるということになっているというわけです。
最後に
結局、「デプロイ」があるから、アップデートなく機能の追加・変更が行われていることがわかりました。
「アップデートなく」というのも定義が難しいですね。
スマホのように**「ストアでのアップデートという作業がない」**という意味で、実際には裏側ではアップデート(コードの変更)が行われているという、、。
この辺の用語の使い分けってあったりするのでしょうか。