ユーニックス総合研究所

  • home
  • archives
  • app-dev

アプリ開発の独学ノウハウ: とにかく作って学ぶのが一番の近道

  • 作成日: 2020-09-15
  • 更新日: 2023-12-27
  • カテゴリ: その他

アプリ開発の独学ノウハウ

アプリ開発を独学でやってみたいと思っている皆さんこんにちは。
私は独学でプログラミングを学んだ個人Web開発者です。過去にプログラマー、Webエンジニアの経験があり、現在もアプリの受注をしています。

この記事ではアプリ開発の独学ノウハウを公開します。

結論から言うと↓の通りです。

  • 言語は1つ学んだら突き詰めよう
  • フレームワーク、ライブラリを学ぼう
  • アプリをリリースしよう

言語は1つ学んだら突き詰めよう

アプリを開発するにはプログラミング言語を学ぶ必要があります。
これはフレームワークとも関連が深い話です。

たとえば将来的にRailsを使ってアプリを開発したいならRubyを学ぶことに。
LaravelならPHP
そしてDjangoならPythonという風にです。

数あるプログラミング言語の中から1つ選んで学ぶ必要があるわけですが、ここで私の経験から気を付けたほうがいいことを1つ提案したいと思います。
それは言語は1つ学んだらその学んでいる言語を突き詰めたほうがいいということです。

たとえばRubyを勉強中にちょっと息抜きにPythonも学んでみようとか、途中で気が変わってPythonからRubyに学ぶ言語を変更するとか、そういうことはありがちです。
しかし、その横道は時間を消費するということを忘れないでほしいです。

つまり、あれやこれやとプログラミング言語をつまみ食いしていると、それだけで時間を消費します。
おまけに言語の習得が中途になりやすいので、その言語の習熟度もなかなか上がりません。

習熟度を上げるためには1つの言語を根気よく学習し続ける必要があるということです。
まとめると↓こういうことです。

  • 言語には習熟度がある
  • 他の言語に浮気していると習熟度が上がりづらい
  • 1つの言語を重点的に学ぶ

1つの言語の習熟度が上がると不思議と他の言語を学ぶときも学びやすくなります。
空手のマスターがテコンドーをやるみたいなものですね。

基本ができるようになったら他の言語もアリ

1つの言語を突き詰めて、その言語の教材に書いてあることがなんでもわかるようになったら、試しに他の言語に浮気をしてみるのもいいかもしれません。
すると言語と言うのは大体似たような機能が多いということに気が付くと思います。
つまり、1つの言語を重点的に学べば、他の言語にもすぐに応用が利くというのがわかるのです。
この経験があると、学んだことのない言語を新しく学ぶ際の抵抗感が薄れ、学習がはかどるようになります。

さらに複数の言語で似たような機能を学ぶことで、その機能についての認識が強化されます。
たとえばfor文やif文だったりです。

言語の選び方

言語は目的に合ったものを選びましょう。

たとえばあなたがWebアプリを作りたいならRailsLaravel, Djangoなどのフレームワークを学ぶのが一番の近道と言えます。
そうすると学ぶべきプログラミング言語はRuby, PHP, Pythonのいずれかということになります。

スマホアプリを作りたいならKotlinやJavaを学ぶ必要があるでしょう。

動作の速いコンソールアプリを作りたいならC/C++やGo, Rustあたりになるということです。

プログラミング言語選びに迷っている場合は自分の目的を明確にしましょう。
自分は何が作りたいか? 将来的に何が作れたらうれしいか?
そういうことを考えればおのずと必要なプログラミング言語は見えてきます。

🦝 < 目的を明確に

特に目的が無ければ

特に目的が無く、言語は何でもいいという人は、言語の将来性で選ぶようにしましょう。
将来性、つまり今現在人気があるか、それか将来的に人気が出そうかというところです。

言語の人気ランキングは毎年更新されているので、気になる人は調べてみてください。
たとえばStackOverflowは以下のようなランキングを出しています。

フレームワーク、ライブラリを学ぼう

言語を学んだらフレームワークライブラリを学ぶようにしましょう。
今どきはプログラミング言語の機能だけでアプリのすべてを形作るということはあまり行われません。
定番や人気のあるフレームワークやライブラリを使って作るというのが一般的です。

たとえばWebアプリであれば↓の通りです。

  • RubyならRails
  • PHPならLaravel
  • PythonならDjango

(↑は2020年現在、人気のあるフレームワーク)

Pythonでデスクトップアプリを作るのであればTkinterPySimpleGUI, PyQtなどを使います。

フレームワークやライブラリは学習に時間がかかりますので、どっしりと構えて学習してください。
ネットのドキュメントを見ながらでもいいし、本を買ってもいいでしょう。
一度覚えたフレームワークやライブラリはあなたの財産になるでしょう。
これらのツールにはそれだけの価値があります。

フレームワークやライブラリの選び方

これらのツールは学習コストが高く、学習に時間がかかるのが特徴です。
そのため、選び方にはコツがあります。
その基準は↓の通りです。

  • 人気がある
  • 安定している
  • できれば公式がいい

フレームワークやライブラリは流行り廃りがあります。
そのため

  • 学んでいたフレームワークが気が付いたら時代遅れになった

ということがよくあります(ショッキングな話ですが)。
そういったことを避けるため、人気があって安定しているフレームワークやライブラリを選ぶようにしましょう。

そしてできればプログラミング言語が公式にサポートしているものを選ぶようにしましょう。
これは絶対ではありません。「できれば」の条件です。

ちなみにプロの世界ではこういった流行り廃りが当たり前のように起こっているので、プログラマーやエンジニアの人はその都度新しいフレームワークやライブラリを学びます。

しかし、皆さんは趣味でやるわけなので、そんなに時間が取れないでしょう。
だからこれらのツールは慎重に選ぶ必要があるわけです。

アプリをリリースしよう

フレームワークやライブラリを覚えたらアプリを開発してリリースしましょう。
ここで大事なのは、とにかくリリースすることです。
完璧主義者にならないでください。ちょっとぐらいバグや変なところがあっても気にせずにリリースしてください。

アプリはとにかくリリースするのが一番大事です。
あとのことは2の次3の次でかまいません。
とにかく素早くリリースすることを目的にしてください。

くだらないと思えるアプリや、あきれるぐらい簡単なアプリでもなんでもかまいません。
それ、リリースしましょう

このことについては以下の記事に詳しくまとめているので、よかったら読んでみてください。

おわりに

再び結論です。

  • 言語は1つ学んだら突き詰めよう
  • フレームワーク、ライブラリを学ぼう
  • アプリをリリースしよう

アプリ開発の独学ではこの3つのサイクルを重点的に行うといいです。
最初の1周目はぼろぼろになっていてもかまいません。
1周することを目標にしてください。

そして何周もするとこれらのサイクルが苦にならなくなります。
ぜひそこを目指してみてください。