見出し画像

プログラミング初学者が先にWebアプリを学ぶ理由

こんにちは、システムエンジニアのようへいです。

今日の記事は、駆け出しエンジニアさん向けに、自分が考えるプログラミング学習論についてのお話です。

プログラミングと言っても、WindowsなどのOS上で動くデスクトップアプリと、OS問わずブラウザで動くWebアプリの2パターンあります。

デスクトップアプリとWebアプリでは、プログラミングの概念、作り方が大きく変わります。

デスクトップアプリはWebアプリを凌駕するほどパワフルでグラフィカルな表現が可能な反面、それを実現できる高度なスキルが必要になります。

Webアプリは多少のブラウザ依存はありますが、どのブラウザ、どのOSでもレスポンシブに動くものが作れる反面、デザインスキルや通信の仕組みの理解が必要になります。

この2つのプログラミングの道、これからプログラミングを学ぼうとしている方は、どちらを進むべきか?
この記事では、オススメする道とその理由についてまとめます。


最初の学びはWebアプリをおすすめ

近年の開発動向を振り返ると、Webアプリの開発が多いと感じています。
また、ITを活用した様々なサービスも世の中至る所で増加しており、今後はWebアプリが主流になるだろう、という観測もあります。

これは自分の考えですが、きっと以下の理由だからかな、と考えています。

  • スマートフォンやタブレットなどのモバイル端末の普及により、いつでもどこでもWebアプリにアクセスできる環境が整っている

  • ブラウザの性能向上により、より高度で情報量の多いWebアプリを実現できるようになった

  • Webアプリならクロスプラットフォーム対応がしやすく、様々なOSやデバイスに配信できる

  • サーバサイドの処理能力が向上し、クライアント側の処理をサーバに集約できるようになった

  • JavaScriptやHTML、Ajaxなどの技術進歩により、デスクトップアプリに近い体験をブラウザでも実現できる

  • アップデートの配信がWebアプリの場合は簡単で、ユーザーに簡単に新機能を届けられる

こうした理由から、Webアプリが今後主流になっていくだろう、と考えています。
だからこそ、Webアプリの学習をおすすめします。
時代の流れに取り残されないエンジニアになるために。

Webアプリの学習メリット

ここからはWebアプリの作り方を学習するメリットをまとめていきます。

Webアプリの学習効果の高さ

デスクトップアプリにも共通して言えることですが、プログラムを書くことで、変数や関数、条件分岐、ループといったプログラミングの基礎的な概念を実践しながら学ぶことができます。

Webアプリ特有の話としては、HTMLやCSSといったWeb表現の技術も合わせて習得でき、プログラムの基礎文法+デザイン技術という幅広い能力が身につきます。

Webアプリの開発環境の手軽さ

Webアプリの開発はデスクトップアプリの開発と違い、ハイスペックPCや開発ツールはマストではありません。
必要最低限で言えばブラウザとテキストエディタがあれば開発できるので、初学者でも気軽に始められます。

開発環境構築、環境の学習時間の手間が省ける分、プログラミングに集中する時間が増え、効率的に学習できます。

基礎が何となくわかってきたら、開発言語に対応した開発環境を構築し、より効率的な開発をしてみてください。

Webアプリの公開・配布のしやすさ

Webアプリはインターネットに接続された端末であれば、OSやデバイスを選ばずに利用できます。
サーバにアップロードするだけで簡単に公開でき、URLを知らせることで手軽に配布が可能です。

つまり、開発者がサーバにアップロードするだけでリリースができ、利用者は特に何もすることがない、ということ。

デスクトップアプリであれば、アプリを利用者に配布し、インストールしてもらうとか、開発者がリモートでインストールするとか、場合によっては利用者にも作業が発生します。

インストールにひと手間掛かるようなケースは、QA対応も発生します。

デスクトップアプリ開発に進むための土台づくり

これは自分の経験ですが、デスクトップアプリの開発に長けた人がWebアプリを学ぼうとすると、開発作法が違い過ぎて、なかなか勘所が呑み込めません。

デスクトップアプリの開発がそれだけ強力だ、ということ。

ちょっと難しい話になるかもしれませんが、デスクトップアプリのプログラミングは、業務を実現するロジック(プログラムの基礎文法も含む)、パワフルな表現を実現するロジック、ボタン押下などのイベントロジックが密接な関係になっています。
つまり、基礎文法と表現の実装が密になっている。

これに対しWebアプリは、業務を実現するロジックと表現の実装が切り離して開発することが一般的で、分けて理解することができます。

なので、Webアプリから学習を始めることでプログラムの基礎とデザインを分けて学べ、このうち、プログラムの基礎を応用・活用すると、スムーズにデスクトップアプリを学べることになります。

もちろん表現(UI)部分の実装で詰まる部分はきっとあると思いますが、デスクトップアプリ開発→Webアプリ開発のような苦労は少ないと思います。

まとめ

Webアプリ開発から始めることで、プログラミングの基礎を効率的に学ぶことができます。
開発環境が手軽で実践的な経験が学びやすいことがメリットです。

デスクトップアプリ開発に進む土台として、これからエンジニアを目指す方は、ぜひWebアプリの開発を学ぶことをおすすめします。

ところで、
Webアプリをどの言語で学ぼうかな、と考えている方は、Pythonをおすすめします!
詳細は以下の記事をご覧ください。


この記事が気に入ったらサポートをしてみませんか?