はじめに
私はC#でデスクトップアプリ(WindowsForms)や、PythonでWebアプリ(Streamlit)を作った経験があるのですが、王道なWebフレームワークを知らないためこの機会に学ぼうと思いました。
バックエンドならC#のASP.NETを使ったことがあるのですが、フロントエンドの知識が薄いためこの際にReactを学習することにしました。
TypeScriptについても興味があったので学んでみることにしました。
今回はUdemyの講座で学習しました。
React(v18)完全入門ガイド|Hooks、Next14、Redux、TypeScript
Udemy教材について
セクション1ではWeb系フレームワーク(React・Vue.js・AngularJSなど)の説明や、講義の説明などがありました。
ReactはWeb系だけだと思っていたのですが、React+Electronでデスクトップアプリも作れるようですね。
セクション3では本講義で使用するJavaScriptの構文などの説明がありました。
ほかの言語をやっていれば大体分かりそうですが、でもJSをやったことが無いなら学習したほうがいいかもしれません。
C#と比較するとラムダ式やLINQ、awaitなど親しみある概念が出てきますが、分割代入やスプレッド演算子など馴染みのない仕様も出てきます。
その他にもDOMなどWeb系の用語なども出てくるので初心者なら学習しておいた方がよいでしょう。
その後は順当にReactやNext.jsの解説をおこなっていました。
一通り学習してみて感じたのは、C#をやっている人間ならTypeScriptで学んでも親しみやすいのではないかと思いました。
本講義はJavaScriptで解説しているためJSを学習する必要があるのですが、TypeScriptのほうが型や引数がはっきりしているので分かりやすかったなと感じました。
これからの学習方法
これまでのコーディングは人力で行う必要があったため、設計からコーディング、言語仕様まですべてを習得する必要がありました。
しかしこれからはAIコーディングの時代で、どこからどこまでを人間が担当すべきなのでしょうか。
私が考える方向性としては、プロジェクトを遂行するなら仕様の構築力が必要になるのではないかと考えています。
「求められている仕様に対して、最適な実装方法を構想する」、その力が必要になってくるのではないでしょうか。
理由としては以下の3点です。
1.プロジェクトの方向性が固まりやすくなる
2.コストの削減につながる
3.最悪、人間がコードを追ってデバッグできる
これらに共通していることは現代のAIはまだ完璧にプロジェクトを遂行することはできないだろうということです。
AIが本当に何でもできるようになったらそれすら要らないのかもしれませんが、今はまだそこまでの段階にまで達していないと思います。
「1.プロジェクトの方向性が固まりやすくなる」に関しては、プロジェクトの方向性が固まっておらず無茶な仕様を要求し続ければプロジェクトファイルは破綻してしまいます。
ただ言われたことを実装するだけのAIではこの問題を解決できません。
プランモードを用いて慎重に方針を定めることで解決しますが、それには人間の手があった方がより確実でしょう。
「将来的にどういった拡張性があるのか」「どの機能は取り入れない」などプロジェクトの方向性を人間が知っている必要があると思います。
「2.コストの削減につながる」に関しては、実装工数や検証工数などの削減も含まれますし、AIのAPIコストなども含まれます。
優れた設計というのは、そのために言語仕様が用意されたかのようなシンプルさがあると言われています。
そのような仕様は開発手法や検証方法なども確立されており、実装バグも抑えられるでしょう。
そしてもっと先を見据えて誰でもソフトウェアが作れるようになった時、その時に求められる素養は何になるのでしょうか?
それは安さ、API利用料などになってくるかもしれません。
現在でも各言語による実装コストの比較なども行われているようです。
「3.最悪、人間がコードを追ってデバッグできる」に関しては、今の時代だけかもしれませんが人間のデバッグが必要な部分はあります。
多少プログラミングをしている人間であれば、大まかな処理の流れが分かっていればデバッグが可能だと思われます。
そのためにも人間はプロジェクトの方向性などを理解しておくべきです。
これらを踏まえて、これから自分が学習していく内容は実際にWebアプリを作ってみるのが良いのではないかと思いました。
作りたいアプリの仕様をまとめて、構成を考えて、AIと議論する。
お互いにどのようなメリットがあり、デメリットがあるのか、一般的にはどのように実装されるのかなど得られる知識はたくさんあるでしょう。
構成が決まったら実際に作ってみる。
ほぼAIで完成するかもしれませんが本当に動作するかの確認や、経験として作っておいて損はないでしょう。
処理内容が分かっているならソースコードも読むと良いかもしれませんね。
おわりに
これらの考えから、出題された問題を解く学習法ではなく、実際にReactやNext.jsを使ったアプリを開発して学習してみようと思います。
直近で思いついたのは「思考をスレッド毎に管理できるメモ帳」などを作ってみようと思います。
少し前に掲示板サイトのUIでプロンプトに対してAIが様々な視点から返答を返してくれるサイトを見かけました。
それがとても面白そうだったので、とりあえずAIの返答機能は無しで掲示板サイトのようなものを作りたいです。
おそらくブログ投稿サイトのような仕様になると思います。
また、AIをどのように活用すればスムーズに進行していけるかなどのワークフローも考えていけたらと思います。
以上、Reactの学習と今後の学習方法について検討しました。
投稿者プロフィール
最新の投稿
【React】2026年4月20日Reactの学習と今後の学習方法について
【AI】2025年12月26日RAG改良手法の学習
Python2025年12月25日StreamlitでRAGを作ってみた
Python2025年12月23日Pythonを学習するにあたってやったこと
























