この記事は、今からプログラミングを学ぼうと思っているけど、何を学べばよいのかわからない。と思っているプログラミングの全くの初心者さん向けとなっています。
今日はそのうちのWebアプリについてみていきましょう。
ネイティブアプリ、ハイブリッドアプリについては、こちらで説明していますので、参考にしてみてください。
アプリの種類、そのアプリを製作するための言語、アプリの将来性などをひとつひとつ解説します。
プログラミング言語には得意なこと、不得意なことがあります。
皆さんが本当にしたいことは何なのか?を見つけるお手伝いができれば幸いです。
アプリの種類
アプリとひとことに言っても実はたくさんの種類があることをご存知でしょうか?
アプリ(アプリケーション)が動作する環境から考えるとこのように大きく分けて4つに分けることができます。
Webアプリ
皆さんが良く聞くであろう「Webアプリ」。
実際にどんなものなのか?を詳細に解説していきますね。
Webアプリとは
主にWebブラウザ上で動作するアプリケーションのことを指します。
アプリケーションを利用するユーザーはGoogleChromeやSafariなどのブラウザ上でURLを指定するとWebサーバにアクセスします。
アクセスされるとWebサーバ上のアプリケーションが動作を開始するんですね。
Webアプリケーションは様々な企業が取り入れていますが、例えば、AmazonなどのECサイトは特にわかりやすいでしょうか。
ブラウザでAmazonに接続するとお買い物ができますよね。これがWebアプリです。
Webアプリを製作できるプログラミング言語
Webアプリケーションに使用される言語は多数ありますが、最近よく使われている言語を一覧にしてみました。
言語 | 特徴 |
---|---|
Java | 1996年に発表され、現在でも良く使われている Java仮想マシン上であればどんなOS上でも動作する |
C# | 2002年に発表され現在でも根強い人気を誇る Javaによく似ているが独自性が高い部分もある |
JavaScript | ブラウザ上で動作するスクリプト言語 動作が軽い |
Ruby | シンプルで読みやすく習得がしやすいと評判 ECサイトや動きのあるサイトで採用されている |
Python | 処理スピードが速く機械学習やデータ分析に用いられることが多い AIやデータ分析に使用されることが多いが、フレームワークを使用してフロントでも よく見かけるようになった |
PHP | Webサイトに動きをつけることが得意 初心者でも学習しやすい |
Java
Javaはサンマイクロシステムズ社が1996年にリリースしました。その後同社がオラクル社が吸収合併しています。
JavaはJava仮想マシン上であればどんなOS上でも動作するという強みがあり、現在でも安定した動作で根強い人気を誇ります。
業務系のシステムではJavaを採用している企業が大多数を占めてます。
主要なフレームワークとしては以下が挙げられます。
- Spring Framework
- Play Framework
- JavaEE
良く使用されているIDE(統合開発環境)は以下です。
- Eclipse
- NetBeans
- IntelliJ
- VSCode
C#
C#はマイクロソフト社が開発した言語で、2001年に正式発表されました。
.NET Framework上であればどんなOS上でも動作します。
実は業務系のシステムで採用している企業も多いことでも知られています。
VisualStudioをIDEにすると環境構築に拠るエラーが発生しにくいため初学者にはおすすめです。
ゲームエンジンであるUnityでもC#が採用されています。
主要なフレームワークとしては以下が挙げられます。
- .Net Framework
- Unity(ゲームエンジン)
良く使用されているIDE(統合開発環境)は以下です。
- VisualStudio
- VSCode
- Unity
JavaScript
元々はブラウザ上で動作するプログラミング言語として開発されたため、フロントに動きを与えることが得意な言語です。
2010年にNode.jsが発表されたため、現在ではサーバーサイドでも利用できるようになりました。サーバーサイドでも動作の軽さで人気です。
フロントでの開発にはフレームワークを利用することでより効率的な開発が可能となり人気はますます高まっています。
主要なフレームワークとしては以下が挙げられます。
- React.js
- Vue.js
良く使用されているIDE(統合開発環境)は以下です。
- VSCode
- Atom
- IntelliJ
Ruby
Rubyはまつもとゆきひろ氏が開発したプログラミング言語です。
他の言語と比べてシンプルで記述が短くなる傾向が強いと言われており、習得のしやすさでも人気が高いです。
フレームワークRuby on railsと共に開発されている案件が多く、ドキュメントや開発記事が多いことも特徴のひとつです。
主要なフレームワークとしては以下が挙げられます。
- Ruby on rails
良く使用されているIDE(統合開発環境)は以下です。
- RubyMine
- Eclipse
- VSCode
Python
インデントを利用したオフサイドルールにより、書きやすい、読みやすいを実現しています。
記述量が少なくなるので、初心者でもベテランでも力量の差が出にくいと言われています。
研究やデータ分析の分やでPythonを好んで使用することが多く、豊富なライブラリを武器に今ではAIやデータ分析の得意な言語になりました。
2005年にフレームワークDjangoがリリースされたことにより、Webアプリケーションでの活用も多くみられます。
Djangoはデータベース主体のWebアプリケーションを簡単に構築することを目的としたフレームワークです。
主要なフレームワークとしては以下が挙げられます。
- Django
良く使用されているIDE(統合開発環境)は以下です。
- PyCharm
- VisualStudio
- PyScripter
- Eclipse
- VSCode
- Atom
PHP
Webサイトに動きをつけることが得意な言語です。
PHPはHTMLのプロプロセッサである。と謳われているように、HTMLのデータの入出力やデータ整形に注力されていると言っても過言ではないでしょう。
今ではブログの代名詞となっているWordPressはPHPを採用しています。
HTMLの中にコードを記述するため、すぐに確認することができるなどのメリットがあり、初心者でもとても学習しやすい言語です。
主要なフレームワークとしては以下が挙げられます。
- Laravel
良く使用されているIDE(統合開発環境)は以下です。
- NetBeans
- PHPStorm
- Eclipse
- Atom
Webアプリの将来性
Webアプリケーションは今後も開発され続けます。
上に挙げた言語を習得し、さらに自分の強みを見つけて身につけていくことが市場価値を上げていく要素になります。
まずはしっかりと基礎を身につけましょう。
おすすめ学習のロードマップ
Webアプリケーションの習得には①~⑦の順番で学習すると無理なく進めることができます。
独学で学ぶ
独学で学ぶのであれば、①~⑦までの教材をひとつひとつ選択しましょう。
筆者がおすすめする教材もいくつかご紹介します。
①プログラムの制御と構文を学ぶ
ブロックプログラミングなどを利用してプログラミングの制御と構文を学んでおくとプログラミング的な考え方を身につけることができます。
手前味噌ではありますが、筆者のUdemyの講座をおすすめします。
初心者でも挫折しない、ブロックプログラミングで学ぶプログラミングの仕組み
たくさんの練習問題でプログラミング脳を鍛えます。
②ローカルアプリを作る
外部のサーバを使用せずにローカル環境で完了するアプリを作成しましょう。
C#でWindowsアプリを作成することをおすすめします。
MacOSの場合は、コンソールに出力するアプリを選択してください。
こちらはUdemyで習得したい言語と作れるアプリを確認して、ご自分にぴったりの講座を見つけてください。
③~⑦については、こちらの記事でもおすすめの教材を紹介していますので参考にしてみてください。
スクールで学ぶ
もし、短期間で学びたいという想いがあるのでしたら、スクールで学ぶことをおすすめします。
スクールではプログラミング学習を体系的に学んでいくことができますし、エラーやトラブルがあった時には必ずフォローしてくれる講師やメンターがついています。
初めて学習する場合には、そういった人が身近にいることは挫折しない大きなポイントになります。
筆者がおすすめするスクールはこちらです。 オンライン完結型スクール DMM WEBCAMP PRO
ひとりでもくもくと学習をこなすことが苦手だ!という方にはおすすめします。
以前、DMM WEBCAMPについての記事も書いていますので参考にしてみてください。
まとめ
プログラミング学習は英会話と同じようにコツコツと毎日積み重ねることが大切です。
自転車の運転のようにいつか自然とできるようになりますが、一足飛びにはできません。
一歩一歩でもしっかりと歩みを進めてください。
プログラマーになろう!という皆さんを応援しています。