在宅「ママ×プログラミング」でライフステージに合わせた働き方を実現アプリを開発してみたい!と思ったとき、そもそもどのプログラミング言語を学べばいいのか?というところでつまづく人は少なくありません。確かにどのプログラミング言語を選ぶかで今後のエンジニア人生が決まると考える方もいらっしゃると思います。どのプログラミング言語を学ぶかによって、出来ることや、働ける業種、将来性など大きく変わってきます。難しい言語を選んでしまうと挫折しがちです。選択を間違えたら時間を無駄にしてしまうかもしれない..自分のやりたいことと違っていたらどうしよう..と考えて、迷ってしまうことはごく自然なことなのです。目的別でおすすめな言語こちらの内容を初心者にもわかりやすく解説します。「どのアプリを開発するのか、そのアプリを開発するための言語選定」はこれから学習をするためにしっかり決める必要があります。この記事を読んで、アプリ開発に必要な基礎知識を学びましょう。まとめまずアプリ開発の基礎を知ろう画像:shutterstockアプリ開発を始める前に、アプリ開発に必要な基礎知識から見ていきましょう。そこで、まずはスマホ・Webアプリの種類についてご紹介します。スマホ・Webアプリの種類スマホ・Webアプリで開発できるモノまず、アプリの種類は大きく分けて3つあります。Webアプリスマホアプリハイブリットアプリなんとなくイメージはできましたか?それでは、それぞれを詳しく見てみましょう。Webアプリとは?スマホ・Webアプリで開発できるモノWebアプリとは、インターネット(ウェブ)などのネットワークから利用できるアプリケーションソフトウェアのことを指します。Webアプリは、Webサーバー上で動作します。GoogleやYahooなど普段よく使っているWebブラウザでそのWebアプリを操作することができます。ランチに出かけるときなど「食べログ」を使う機会があると思います。食べログはインターネット上でレストランの情報をまとめているWebアプリで、回線さえあればどこでも見ることができますよね。このようにインターネット上で動作するアプリがWebアプリに分類されます。ネイティブアプリとは?スマホ・Webアプリで開発できるモノネイティブアプリとは、アプリ自体をスマートフォンやタブレットにインストールし、端末上のみで作動するアプリのことです。Playからインストールして、スマートフォンやタブレット上で使用するアプリは全て、ネイティブアプリケーションに分類されます。端末へインストールするので、写真アプリやゲームはオフラインでも動き(アプリによってはオフラインで利用できない)、動作が速いのも特徴の一つです。デバイス自体が持つプッシュ通知や位置情報などを使った機能を簡単に実装できるのもネイティブアプリのメリットです。ハイブリットアプリとは?スマホ・Webアプリで開発できるモノハイブリッドアプリは、今までに紹介したWEBアプリとネイティブアプリの特徴を兼ね備えたアプリです。ブラウザでも端末にインストールしても使用することができます。Mapsなどはインターネット上でもアプリとしても使用できますよね。食べログやAmazonもアプリとインターネット上どちらでも使用可能です。最近では、そういったハイブリッドアプリの開発が一般的になっています。2019年11月13日スマホ・Webアプリ開発に必要な言語まずはスマホ・Webアプリを開発できるプログラミング言語(の名前)をざっと挙げてみました。RubyPHPPythonJavaJavaScriptKotlinSwiftそれぞれ、Webアプリ開発とスマホアプリ開発の2つに分けて、開発に必要なプログラミング言語をご紹介します。スマホ・Webアプリ開発に必ず必要なスキルまずは、スマホ・Webアプリ開発に必ず必要となるスキルをご紹介します。基礎となるスキルなので、しっかり覚えておきましょう。Language(ハイパーテキスト・マークアップ・ランゲージ)の略で、Webページを作成するためのマークアップ言語です。今あなたがスマホやPCでみている画面(WEBページ)は、基本的にはこのHTMLという言語(文字)によって作られています。HTMLは、ハイパーテキストというテキストを使って印をつけて、文字、画像、表などを表示する言語ということになります。Sheets(カスケーディング・スタイル・シート)の略で、ホームページの見た目を変えるための言語です。プログラミングの言語だと思われがちですが、正しくはスタイルシート言語という種類になります。ホームページを作るとなるとまず必要なのは、先程紹介したHTMLです。HTMLだけのサイトは色味もなくただ並んでいるだけの味気ないものです。これにCSSを組み合わせると、文字に色をつけたり、枠をつけたり、画像の位置を変更したりすることができます。2019年10月11日JavaScriptJavaScriptとは、Webサイトに動きをつけるために開発された言語です。近年はWebサイトやアプリを開発をする上で無くてはならない存在になっており、昨今のWebサイトのほとんどにJavaScriptが使われています。JavaScriptで作れるものは、基本的に以下のものになります。WEBページの動作WEBアプリ開発スマホアプリ開発ゲーム開発JavaScriptの最も一般的な使われ方がWEBページに動きを付けることですが、他にもデスクトップアプリやスマホアプリ、ゲーム、IoTや人工知能開発など、様々な業界で利用が可能になっており、今後かなり用途の広がる言語として注目をされています。2019年12月5日Webアプリ開発に必要な言語RubyRubyは、自然な英語で読めるように工夫されており、複雑な部分が排除されていること、わずかなコードで多くの機能が実現できることが最大の魅力です。中でもテキスト処理機能が強力です。プログラミングの自由度も非常に高いので、初心者から上級者まで高い人気を誇っています。Railsというフレームワークを使えることも、Rubyを習得する大きなメリットと言えます。Railsが日本で普及し始めた2006年ごろは、ベンチャー企業を中心に採用されていましたが、最近では生産性が高いことを理由に、一般企業でも採用が増えています。生産性が高いため1つあたりの仕事単価が高いこと、またRubyはプログラミングを楽しむことを目的に作られているので楽しく働いている方ばかりです。Rubyの詳しい解説については、以下の記事をご覧ください。2019年11月21日PHPPHPは、WebサービスやWebアプリ開発で使用されるプログラミング言語で、国内でもPHP人口が10万人いると言われているほど人気のある言語です。そのため、ネット上にも情報が多く、仮にわからないことがあってもすぐに調べられます。スクリプト言語であるため、すぐに動作を確認できることから比較的手軽に扱えて広く使用されている言語の1つと言えるでしょう。PHPの詳しい解説については、以下の記事をご覧ください。2019年4月27日PythonPythonは、文法がシンプルでわかりやすい言語です。数学を使った専門的なモノも開発できます。数学が使える専用のツールやライブラリなどが充実しており、数学的な難しい機能も楽に作れます。今の情報社会では情報分析や人工知能などの高度な技術に非常に関心が集まっています。そのような高度な技術を取り扱えるPythonは、注目度が非常に高く、今後需要が上がっていく言語でしょう。これらの専門的な分野をこなせるエンジニアは非常に少ないので、Pythonには大きなチャンスがあると言えます。Pythonの詳しい解説については、以下の記事をご覧ください。2019年12月30日スマホアプリ開発に必要な言語Java【Androidアプリ】Javaは、オブジェクト指向と呼ばれる考え方がしっかりしている言語です。他のプログラミング言語に比べると、難易度は高いというデメリットはありますが、比較的動作速度が速く、堅牢性も高いので、挑戦に値する言語です。Frameworkというフレームワークもありますので、スムーズに開発できるでしょう。Javaの詳しい解説については、以下の記事をご覧ください。2019年8月21日Kotlin【Androidアプリ】Kotlin(コトリン)は2011年ごろに発表されたプログラミング言語です。JVM上で動作する静的型付けのオブジェクト指向で、静的なnull安全が保証されているのが特徴としてよくあげられます。Scalaなどの現代的な言語からも影響も受けており、Javaに比べてコードの記述量が少なく済むといわれています。Javaとの相互利用も出来るように配慮されている最新のプログラミング言語です。2017年にAndroid公式開発言語に追加された事で、知名度がぐんと上がりました。Kotlinの詳しい解説については、以下の記事をご覧ください。2019年4月18日Swift【iOSアプリ】Swiftとは、Apple社が2014年に発表した新しいプログラミング言語です。iPhoneやMacなどのApple製品のアプリをはじめ、Webアプリケーションまで開発することができます。2015年には、全世界にSwiftのコードが公開されました。それによって、Swiftは誰でも自由に改良できるようになったため、様々な可能性を秘めています。Swiftの詳しい解説については、以下の記事をご覧ください。2019年10月8日ハイブリットアプリ開発に必要なスキルハイブリットアプリの基本的な作り方はWebアプリをベースとしているので、HTML/CSSやJavaScriptなどの言語を主に使用します。必要な知識は以下の通りです。HTML/CSSJavaScriptネットワーク関係の処理それと、Webアプリにネイティブアプリの機能を追加するには、フレームワークを使用します。そのためフレームワークに関する知識とスキルが必要とされます。フレームワークは数多く存在し、用意されている機能はフレームワークによって違うので、開発したいアプリに合わせて最適なものを選択する必要があります。初学者にとってハイブリットアプリをいきなり開発するのは無理ではありませんが、難易度は高いでしょう。今まで、それぞれのアプリ開発に必要な言語を紹介してきました。あって正直どの言語を学ぶか悩んでしまいますよね。なんとなく作りたいものは決まっているけど、正直どの言語がいいか悩んでしまう・・・このように思う人は、弊社の「学習プラン診断」を活用してください。あなたの作りたいものや目指したい働き方から最適な言語と学習プランを提案致します。1分程度でサクッと終わるので、下のボタンより気軽に診断してみてください。https://jp.stanby.com/media/programming_ranking2017/みんなのスタンバイによると、Pythonが2位の601万円で最も平均年収が高く、次いでRubyの562万円、PHPの522万円となっています。PythonはWEBアプリ以外にも機械学習や統計学の分野でも広く使われており、需要が高まっているためと予想されます。スマホアプリ開発でいうと、3位のKotlin、4位のSwiftが年収ベースで考えるとおすすめと言えます。Webアプリ開発はPython年収ベースで、Webアプリ開発の言語を選ぶならPythonがおすすめです。上でも紹介した通り、Pythonは機械学習の分野で使用されることが多く、AIを開発を目的とする人が多く学んでいる言語です。Webアプリの開発も行うことができるし、将来的にAIの開発を目指すことも可能になります。2020年1月17日スマホアプリ開発はKotlin年収ベースで、スマホアプリ開発の言語を選ぶならKotlinがおすすめです。Kotlinは、主にAndroidアプリの開発を目的として学ぶ人が多いです。特徴としては、Javaと同じオブジェクト指向言語で、Javaと相互利用することができます。JavaのコードをKotlinで呼び出したり、その逆もできます。Javaで作られている資産を活用することができるのもメリットの一つです。※各2019年5月22日時点での計測値Webアプリ開発はPHP求人数の多さでWebアプリ開発の言語を選ぶならPHPがおすすめです。PHPはWEBで動いている様々なサービスやページ作りがとっても得意なプログラミング言語です。初心者から上級者までいろいろなレベルのエンジニアが使用しています。プログラミング学習の目標がWEBアプリ開発なら、PHPは適した言語だと言えます。2019年9月11日スマホアプリ開発はJava求人数の多さでスマホアプリの言語を選ぶならJavaがおすすめです。Javaは昔から良く使われている言語で日本でも未だに人気が高い言語です。その人気の理由として、Javaは基本的にどんな環境でも使える言語で、システム開発やWeb開発、アプリケーション開発など多岐にわたる用途で様々な開発に利用されているという理由があります。※サイト数は無料で学べるサイトがどのくらいあるかで評価しています。例)ドットインストール、Progate、Udemyなど5個以上→◎、3個以上→◯、3個以下→△Webアプリ開発はRuby学びやすさでWebアプリ開発の言語を選ぶならRubyがおすすめです。Rubyは日本で開発されたプログラミング言語で、初めて国際規格に認証された言語です。そのため他の言語に比べて圧倒的に日本語で理解出来る情報が多いので、初学者の方にもぴったりです。2019年5月16日スマホアプリ開発はSwift学びやすさでスマホアプリ開発の言語を選ぶならSwiftがおすすめです。Swiftは、言語自体としても優れていて、「コードが書きやすく読みやすい」ようなモダン設計になっているので初心者にもわかりやすく、高速で安全な動作をするようにつくられています。Webアプリケーションを開発できる有用なフレームワークやライブラリが充実してくると、「WebアプリケーションをSwiftで開発する」ということも当たり前になってくるかもしれません。2019年4月19日どのアプリを開発するか迷ってしまったら?開発しやすさを重視するならWebアプリどのアプリを学ぶか迷ってしまったらWebアプリ開発を学んでみましょう。Webアプリは比較的に学びやすいRubyで開発することができます。基礎となる仕組みやスキルを覚えることができるので、まずがその基礎を身につけるところから始めてレベルアップしていきましょう。需要を考えるならスマホアプリ需要を考えてアプリ開発をしたいのであれば、スマホアプリがおすすめです。現在、ほとんどの人がスマホを利用してインターネットを見れる時代です。今後はもっとその需要も伸び、より良いサービスが求められます。そのために新しいスマホアプリがどんどんでてきます。スマホアプリ開発者が足りてない状況です。SwiftやKotlinは、他の言語と比べて比較的新しい言語です。この言語を扱える人もまだまだ少ない状況なので、未経験開発者が参入できるチャンスがあります。2019年12月5日ハイブリットアプリは難易度が高いハイブリットアプリの基本はWebアプリをベースとしています。そのため、Webアプリの知識やスキルがないと、初心者ではいきなり開発するのは難しいと言えます。無理ではないですが、まずはWebアプリの開発から始めてスキルを磨き、ハイブリットアプリを開発するステップを踏みましょう。画像:shutterstock独学で自力で学ぶ学習するにのあまりお金をかけたくない・・・こんなことを思う人は多くいると思います。そんな時、独学で学ぶ方法はいくつかあります。無料学習サイト本などの参考書スマホアプリなどがあります。プログラミング学習はとても難しくエラーを直す時間が約8割と言われています。298名を対象とするアンケート独学で学習する298名の人に侍エンジニア塾では、アンケートを実施いたしました。その結果、独学での学習に挫折や行き詰まりを感じると答えた人は87.5%もいることがわかりました。大半の人は挫折してしまうという現実があります。挫折してしまう理由としは、エラーが解決できないモチベーションが保てない不明点を聞けないこの3つが主な原因となっています。独学で学ぶことは決して無理ではありません。挫折してしまうリスクがあることを覚えておきましょう。2019年11月21日プログラミングスクールで本格的に学ぶ先程、独学の挫折率についてご紹介しました。それを見て独学のリスクを感じたかと思います。誰もが「挫折しない方法」を知りたいですよね。そこで、侍エンジニア塾では「挫折を感じた時にあったらよかったと感じたこと」についてもアンケートをとっています。298名を対象とするアンケートその結果、1番多かったものとして「不明点を気軽に聞ける環境」があげられています。プログラミング学習には必ずエラーがつきものです。いったエラーで挫折する人が多いんです。プログラミングスクールではそういったエラーのサポートをする体制が整っているため、挫折しにくい環境になっています。未経験の人にプログラミングスクールがおすすめなんです。スクールに入るのは抵抗あるな・・・このように感じる人は、サクッと話の聞ける「無料体験レッスン」に参加してみましょう。あなたの悩みや疑問点を解決することができます。無料体験レッスンを予約するまとめこの記事を読んでも選べない!となったらPHPです。重要なことですのでもう一度お伝えします。私は1つのプログラミング言語で何かしらのアプリを開発していれば、他のプログラミング言語の習得も非常に容易になることを経験的に知っています。1つのプログラミング言語を習得し、アプリを開発することが本当に大事です。さあ、もう迷わないで、プログラミング習得へ向けた第一歩を踏み出してみましょう!TweetPocket「プログラミング、右も左もわからない...」という方にオススメ当プログラミングスクール「侍エンジニア塾」では、これまで6000人以上のエンジニアを輩出してきました。その経験を通して、プログラミング学習に成功する人は、「目的目標が明確でそれに合わせた学習プランがあること」「常に相談できる人がそばにいること」「自己解決能力が身につくこと」この3つが根付いている傾向を発見しました。侍エンジニア塾は上記3つの成功ポイントを満たすようなサービス設計に磨きをかけております。「自分のスタイルや目的に合わせて学習を進めたいな」とお考えの方は、ぜひチェックしてみてください。侍エンジニア塾は「人生を変えるプログラミング学習」をコンセンプトに、過去多くのフリーランスエンジニアを輩出したプログラミングスクールです。プログラミングに役立つ情報や有用な情報を発信していきます。Reserved.現役生徒500名以上が在籍する弊社のプログラミング学習プランをあなたに合わせて最短1分で診断します。