改めて考えるとフロントエンドとバックエンドの処理の違いってなんだ??
職業訓練校時代の同期とLINEしてて思いました。
どこからどこまでがフロントで処理する内容で、どこからどこまでがバックエンドで処理する内容なのか????
小学生でもわかるレベルで説明ができないのでとりあえず記事にして考えをまとめることにした。
プログラムってのは基本的には取得加工表示だと思ってて、さらに細分化するとリストを取得して、加工するためにループと条件分岐で加工して、繰り返し表示するもの。
でもそれってフロントでもバックエンドでもできるよね?
めっちゃ簡単にいうと
フロントの入力フォームから数字の1と1をバックエンドに送ってあげる。
バックエンドで1+1とする。それをフロントに返す。
フロントで2と表示する。
いやいやいや!それならフロントで1+1すればいいやんけ!!!!!!
まぁこれは極端な例だけど、大なり小なりこういう問題には直面する。
(ただし、タイトルであるフロントとバックエンドでやることが明確に整理できている人はちゃんとした場所で処理できるのである)
より上位の工程に行くためにもしっかりとこの辺の理解をしておくといいと思う。あと興味がある。どうも学習欲3位です。
行くZE
フロントエンドでやること
まずはフロントエンドでやることをまとめていこう。
ただ一番長い経験なのがフロントエンドなのでなんとなくは理解しているつもり。
自分の中での考え
まぁフロントだからユーザが直接触って値が変わる処理はフロントエンドの仕事よね。
さっきも出したけど入力フォーム。
間違いなくフロントで処理を行うべき。
いちいちバックエンドに送るのはユーザが使いにくくなる(ユーザビリティの低下を招く)
リアクティブに処理できたらかっこいいしね。
調べた内容
ユーザの目で見える範囲や触れる範囲のデータを加工する。
ボタンのクリックやページ移動(遷移)なども含まれる。
なんか大体イメージあってるなー。
最近はフロントもバックもやらせてくれるから割と理解しやすいかも。
バックエンドでやること
バックエンド歴3週間くらいです。
どうも。
いうてAWSの勉強もはさんでるし、割と頭に入っているのかもしれない。
自分の中での考え
ユーザの操作とは関係ないが、裏で作業することを行う。
例えば
- データベースとのやりとり
- ログイン機能
- 個人情報の取り扱い
- クレカ決済
などなど
これらをフロントでやってたらセキュリティリスクやパフォーマンスの低下を招く恐れがある。
苦手は得意を頼るってことだね
調べた内容
大体上の内容であってた笑笑
あとコードの重複と保守性もあったね。
ここら辺は各プロジェクトのコーディングルールで多少の違いはあれど、方向性は同じ
まとめ
改めて記事とすることでそれぞれのやることがまとめられた。
いうてなんとなくは合ってたけど、説明できるのとなんとなくわかってるのは違う。
今後もあーこれどういうことだっけーー??みたいな内容があったら気軽に記事化してまとめていく。
インプットしたらアウトプットもセットやでー。