🚀

#3 フレームワークの必要性を独学から学ぶ

に公開

はじめに

https://adorable-thought-dcb.notion.site/1de2b7273f6e80f38ed3cf4b43ea7d2e?pvs=4

こちらのサイトに
「前職の運用をシステムにするとしたら」
をテーマに、設計から開発までを学ぶ過程を
ポートフォリオとしてまとめています。

初めはフレームワークを導入せず開発を進めようと考えていましたが、
結果的にVueを導入しました。

フレームワークの必要性に気がついた時のことをまとめてみます。


過去に使用したフレームワークに対する思い出

13年前の経験は主にsqlでした。
様々なプロジェクトに短期間導入されて、
UI側は.netやJava等、色々でした。

フレームワークを使ったことがないわけではありません。
お恥ずかしい事に、必要性を理解せず、
ただ言われた通りに使っていただけでした。
今思い出せるのはSpringだけです。

フレームワーク無しでシステム開発をしようと思った経緯

まず前提として
「学習の時間があまり取れない」
という事がありました。
今思えば、時間がないならむしろフレームワークを学ぶべきだと感じます。

しかし、このポートフォリオを作成し始めた時はまだ
Vanilla.jsに対する理解も不安で、
この状態で更にフレームワークを学ぶ時間を取る事で、
仕様書の作成に取り掛かるのが大幅に遅れるのではないかと危惧していました。

フレームワーク使用を決めたきっかけ

仕様書を作るにあたり、
「Vanilla.jsでこの機能は実装できるのか?」
を、GPTに問いながら作業を進めていました。
その度にGPTは、膨大なコードを吐き出しました。

あまりの量に、次第に
「フレームワークを覚える方が短い期間で開発できるのでは?」
と、思うようになりました。

ReactかVueか

GPTは、この2つを候補に挙げました。
Vueの方が学習コストが低いとの説明があり
Vueを使ってみることにしました。

使うことで何が変わったか

リアクティブ、Composition API、双方向バインディング等の
Vue独特の考え方の理解に苦労しています。
しかし、一度理解できると
「この機能はコンポーネントにしよう」等、
イメージが湧きやすくなりました。
Vue Routerも使えるようになり、セッション変数問題も解決しました。

学習コスト

他のフレームワークと比較はしていませんが、
学習にかけた時間と完成したものを考えると
やはり学習コストは低めだと感じました。

Vueの解説YouTubeや、公式のサイト等を見て勉強をしましたが、
結局は、GPTが書き出したサンプルコードが1番分かりやすかったです。
実際に動かしながら試すことができて、とても身になりました。

フレームワーク導入を自分で決定した事で気がついた事

フレームワークは、プログラマーなら必ずや考える

  • 出来るだけ早く、簡潔な記述で分かりやすく書きたい
  • 処理を共通化する事で修正やテストの工数を減らしたい

と言う願いを叶えるものでした。
且つ、
使用言語の理解が浅いプログラマーでも
フレームワークを使用する事で
ある程度質が保証されたコードをすぐに
書けるようになります。

様々なスキルレベルの方が集まる、
システム開発の現場では必要なものなのだと
強く感じました。

少し話がそれますが、SEの方は
プロジェクト規模や人員等、様々な事を考慮し、使用するフレームワークの選定を行っている事でしょう。

かつての私はそれにも気が付かないまま
ただ用意された環境で作業していただけだったと、
当時のSEの方に感謝すると共に
かつての自分を恥ずかしく思いました。

Discussion