【要約】9割のエンジニア未経験者がつまずく『最初の壁』 。それでもアプリを作りたい #3 [Qiita_Trend] | Summary by TechDistill
> Source: Qiita_Trend
Execute Primary Source
// Problem
未経験の学習者が、Webアプリの動作を「ボタンを押せば魔法のように保存される」というブラックボックスとして捉えてしまう問題がある。具体的には以下の認識のズレが生じている。
- ・ボタンの動作と、サーバー側での処理を混同している。
- ・データの送受信(Request/Response)という通信概念が欠落している。
- ・画面(UI)、処理(Logic)、保存(Storage)の役割分担が不明確である。
// Approach
Webアプリの基本構造を「会話(お願いと返事)」というメタファーを用い、以下のステップで構造化して解説している。
- ・通信の定義:クライアントからの「お願い(Request)」と、サーバーからの「お返事(Response)」として定義。
- ・動作の分解:URLアクセス時の画面取得と、ボタン押下時のデータ送信を、それぞれ独立した通信として整理。
- ・役割の分離:ブラウザ(表示)、GAS(処理)、スプレッドシート(保存)の3要素に役割を分担。
// Result
学習者が、Webアプリの裏側で起きている一連のデータフローを概念的に把握できる。これにより以下の理解が得られる。
- ・「画面・処理・保存」というアプリケーションの基本構成の理解。
- ・リクエストには、単なる合図だけでなく「データ」が含まれているという認識。
- ・スプレッドシートをデータベースの代用として捉える、Webアプリの構成モデルの習得。
Senior Engineer Insight
> 教育用コンテンツとして、概念の導入に特化した構成は合理的である。環境構築を排除し、GASとスプレッドシートで構成を完結させる手法は、学習者の離脱を防ぐ。しかし、実務の観点では、スプレッドシートをデータストアとする構成は、同時実行制御やデータ整合性、スケーラビリティの面で極めて脆弱である。実戦投入には、RDBの利用や、HTTPプロトコルの詳細な理解が不可欠となる。