Webアプリの起動時にトップ画面を表示する場合
それがログインが必要な画面の場合は
ログイン画面を表示し、認証に成功したら
トップ画面を表示することになる。
ここまでの流れをバックエンドとフロントエンドで
協調して実現することになるが、
そのやり方、考え方は何通りもある。
有名な種々のフレームワークで共通しているのか
それぞれ独自の考えがあるのか知らないが
自分なりに考えを整理して現時点でのベストチョイスを探す。
それが既存のフレームワークと同じになる可能性もあるし
思慮が不足していて危ない欠陥フレームワークになる可能性もある。
最後の最後はメジャーなフレームワークを採用することになるにしても
自分なりに考え自分で組み立ててみてこそ
そのフレームワークの仕組みが理解でき活用できると考える。
これは「車輪の再発明」とは違うと思っているが、
たとえそれであっても、自分には必要なことと確信している。
今回自分なりのフレームワークを作るに当たり
意識すべきことをリストアップしておく。
・後からの改善のためフレームワークを作る過程、仕組みを選ぶ過程を記録する。
・仕様書から自動プログラミングすることを前提とした作りにする。
・初心者がWebアプリの技術を習得できるようになるべく隠蔽しないようにする。
最後にバックエンドとフロントエンドの役割分担について
今回はバックエンドに主導権を持たせる方向にする。
フロントエンドは与えられた画面の表示とイベントによる表示の切り替えや
APIの呼び出しに留める。
認証状況による画面の決定やユーザのアクションによる画面の遷移、
そしてビジネスロジックなどは全てバックエンドで行う。
これは業務用Webアプリを前提にしており、セキュリティ対策に有利であり
過度に頻繁な画面遷移は無いのではと考えているから。
とりあえず、この方向で実装してみる。