プログラミングを始めてアプリ開発ができるまでの学習の始め方と勉強時間

プログラミング初心者がアプリ開発ができるまでの学習の始め方と勉強時間について紹介します。

巷には様々なスマートフォンアプリケーションが溢れています。

プログラミング初心者が気になるのは、

プログラミング学習者プログラミング学習者

どれくらい学習すればアプリ開発ができるようになるのかなぁ・・

ということではないでしょうか。

そこで本記事では

  • プログラミング初心者がアプリ開発をするまでのステップ
  • アプリ開発においてオススメのプログラミング言語
  • アプリ開発できるまでの学習時間の目安

などについてまとめてみました。



プログラミングをはじめてアプリ開発ができるようになるための言語

プログラミング言語は多種多様です。

今回はその中でも、初心者の方にも身近な「androidアプリ」と「iphoneアプリ」を開発出来る言語に的を絞りました。

スマホアプリを開発するのに必要な言語は、次の二つです。

  • Java (androidアプリを開発するのに使用)
  • Swift (iphoneアプリを開発するのに使用)

プログラミング初心者は、この2つのアプリケーション開発から始めると馴染みやすいでしょう。

androidアプリとiphone用アプリ(iosアプリ)の違い

androidアプリiphoneアプリの大きな違いは、開発言語が違うことです。
それぞれ

  • android用アプリ=Java
  • iphone用アプリ=Swift

の言語で開発されています。

Swiftは、アップル社が提供している自社のOS(iOSmacOS)上で動作するアプリ開発言語です。

Swiftの開発は2010年から始められていて、比較的新しい言語です。

Javaは1995年にサン・マイクロシステムズ社から発表されていて、現在はオラクル社が提供しています。

javaは汎用性が高く、様々な場所に普及しています。

iphone用のアプリの開発言語swiftの特徴

アップル社は、「Swiftの特徴」として以下を挙げています。

モダン

Swiftは新しい言語のため、それまでに出ていた様々なプログラミング言語の良いところを取り入れています。

そのため、初心者でも読みやすく、分かりやすい言語になっています。

安全

swiftはこれまでの言語で主に「記述ミス」によって発生していたバグを文法的に解決しています。

従来のバグに強い仕様となっています。

バグを内包したコードが記述された際、他の言語では実行できてしまいます。

しかし、Swiftでは実行前の段階でエラーとなり、実行できません。

その為、バグが見つけやすいです。

高速

Swiftで作成されたアプリケーションは、処理速度が速いという特徴があります。

インタラクティブ

Swiftには「Playground」という機能があります。

この機能はプログラミングを行っている最中に、リアルタイムで実行結果が確認できるというものです。

エンジニアエンジニア

ユーザーがパソコンを見ながら対話するようにプログラムを書くことができるということですね。

「記述ミス」や「バグ」にすぐ気が付くことが出来るので、開発スピードが上がります。

総じて「Swift」は「読みやすさ」と「書きやすさ」に定評があります。

プログラミング初心者にも人気がある言語です。

android用の開発言語javaの特徴

Javaの特徴には、以下の様なものがあります。

オブジェクト指向

Javaは、オブジェクト指向プログラミングの代表的な言語です。

オブジェクト指向とは、「プログラムを細かく部品に分け、その部品を組み合わせてプログラミングを行う」という設計思想です。

オブジェクト指向では機能ごとにプログラムをまとめます。

何度も同じ機能を使うときにまとめてあるものを再利用できます。

大人数で開発するときや同じモノを作るときに役に立ちます。

プラットフォームに依存しない

Javaはプラットフォームに依存せず、一度プログラムを書いてしまえば、どの環境でも同じ動きをするように設計されています。

元々「java」は家電製品開発用に作られた言語でした。

家電には多種多様な製品があります。

javaは多くの製品に対応するため汎用性の高いプログラムとして作られました。

javaは「一度書けばどこでも動く」というキャッチフレーズで、様々な分野に応用されてきました

そのため、ハードウェアまたはOS(WindowsやMac)などの環境に関係なく実行できます。

ガベージコレクション

javaはガベージコレクションと呼ばれる不要になったメモリを解放する機能があります。

プログラムが動作するとき、2つのステップを踏みます。

  1. プログラムに必要な情報をメモリ上に読み込む
  2. 読み込んだ情報をもとに、処理を実行する

この時処理が終われば読み込まれた情報は不要になってしまいます。

プログラムが確保したメモリ領域のうち、「不要になった部分のみ開放する機能」をガベージコレクションといいます。

従来のプログラミング言語では、自分でメモリ領域を確保し、確保したメモリ領域は自分で開放しなくてはいけませんでした。

Javaはそれを自動で行う機能がついています。

マルチスレッド

Javaでは従来のプログラミング言語に比べ、プログラムの同時実行を簡単に実装出来るようになっています。

エンジニアエンジニア

複数の処理を同時に実行できるということですね。

マルチスレッドの反対に、「一つの処理だけで処理が終わってしまうプログラム」をシングルスレッドと呼びます。

例えば、Webサイトを見ているときどこかへのリンクボタンを押して、「やっぱりやめた」と他のリンクを押すことができます。

シングルスレッドでは通信途中は他のことはできません。

しかし、マルチスレッドにしておくと途中で処理を中断したり、別のページにジャンプすることができます。

豊富なクラスライブラリ

Javaでは、APIと呼ばれるクラスライブラリが豊富に用意されています。

JavaのAPIは、「アプリケーションを作成するために必要となる機能」を提供するものです。

アプリ開発で、よく使われる機能を誰もが簡単に使えるように準備してくれます。

このクラスライブラリを参照する事によって、自分自身で複雑なプログラムを実装しなくても、様々な機能が使えるのです。

android用アプリの開発言語「java」の違い

Javaはandroid用アプリだけではなくパソコン用のソフトウェアや家電製品の組み込みシステムなどにも使用されます。

Javaは、アップル社OS向けに開発されているSwiftとは違い、「どんな環境でも動くこと」を目指して設計されました。

Javaのキャッチコピーは、「一度書けばどこでも動く」です。

そのコピー通り、android用アプリ以外の様々な用途にもJavaは使われています。

プログラミングを初めてアプリ開発ができるようになるための学習時間

初心者がプログラミング言語を扱えるようになるまで、おおよそ200時間必要だとされています。

この段階では、以下の事が出来るようになっているでしょう。

使用する言語の基本的な言語仕様を知っている

30~40時間程度学習すると言語の基本仕様が分かってきます。

開発を行うためには、JavaであればJavaの、SwiftであればSwiftの「基本的な言語仕様」を理解している必要があります。

これを覚えるためには、使用する言語にもよりますが30~40時間ほど必要です。

初心者がtodoリストなどの簡単なアプリを開発できる様になるまでの学習時間

50時間学習すると、プログラミングの知識が身につき、簡単なアプリ開発が出来るようになります。

これには、どのようなアプリケーションを作成すれば良いのか、明確になっていることが条件となります。

例えば、todoリストを作成するためには、以下の様な技能が必要です。

プログラミングは、アプリケーションの動きを一つ一つ記述していく作業です。

その為、どんなアプリケーションを作る為にも、この技術が必要になります。

「todoリスト」でたとえるならば、

  • Todoの追加ボタンを押下する→Todoが追加できる画面を表示する
  • Todoが追加された→Todo一覧画面に追加されたTodoを表示する
  • Todoの締切日になった→締切日であることをアラートする、該当Todoを目立つ色で強調するといった動きが必要である

と挙げられるようになっていることが望ましいです。

エンジニアエンジニア

これぐらいの開発は初心者でも簡単に取り組みやすいです

1~2時間ほどで基本を学び、何度もこの作業を繰り返して行くことで身につけられます。

基本的なプログラミングの言葉の意味が分かる

200時間勉強するとプログラミングの基本的な知識が身につきます。

  • オブジェクト指向
  • クラス
  • メソッド

など、プログラミングでは独特の言葉を数多く使います。

その内、基本的な言葉の意味を理解できるようになります。

設計書通りにアプリケーションの制作が行える

設計書が用意されているアプリケーションの製作が、問題無く行えるようになります。

「設計書通りにアプリが作れる」と「プログラマの業務に参加出来る」といわれています。

これは目安の時間ですので、簡単なアプリ開発を行うだけであれば、もう少し時間を短縮することができます。

初心者がオリジナルのiosアプリを開発できる様になるまでは

オリジナルのアプリ開発を行うために必要なことを大まかにまとめると、以下の様になります。

  • 要件定義
  • 設計
  • 開発
  • 動作確認

それぞれ解説します。

要件定義:自分の作りたいアプリケーションについて、要件をまとめる

要件定義はまず作りたいアプリが「どのような機能を持っているか」をまとめます。

どのような機能が必要か、どのような機能を持たせたいかを大まかにまとめる作業になります。

作成するアプリケーションの利用目的を明確にしておくといいでしょう。

設計:まとめた要件を元に、設計書を作成する

設計は「要件定義」で挙げた内容を、プログラミングが行えるレベルまで細かく切り出し、まとめていく作業になります。

画面上の

  • ボタンの配置
  • 表示する画像
  • メッセージ

についてもこの設計書にまとめていきます。

開発:設計書を元に、プログラミングを行う

開発は「設計書」の内容に沿ってプログラミングを行います。

設計書にどれだけ細かく記載されているかによって、プログラミングの難易度が変わります。

動作確認(テスト):作成したアプリケーションが設計・要件通りに動いているか確認する

動作確認はプログラミングが完了した後、要件定義で挙げた内容や、設計書に記載された内容通りにプログラムが動いているかを確認する作業になります。

これら全ての手順がこなせるようになるまでは、800~1000時間ほど必要だと言われています。



アプリ開発ができるようになるための3つのステップ

スマホアプリケーション開発ができるようになるまで、簡単にまとめると3ステップ必要です。

ステップその1:「iphoneアプリ」か「androidアプリ」か(os)を決める

初心者はandroidアプリを作ることをおすすめします。

まずは自身が作りたいアプリケーションのOSを決めましょう。

androidアプリは「Java」で作られています。

なぜ「Java」がおすすめなのかというと

  • 開発者が多く、有益な資料が沢山揃っている
  • 経験者も多いため、アドバイスを貰いやすい
  • 開発環境が用意しやすい

といったポイントが挙げられます。

「Swift」は、アップル社が用意している開発環境がMacOSでしか動作しません。

パソコンのOSはWindowsを使用している方が多いため、Javaの方が開発しやすいです。

初心者にはandroidアプリをおすすめします。

ステップその2:選んだOSを学習する

OSを選んだら、次はOSについて学ぶ事が必要です。

  • 「iphone」なら「iOS」
  • 「Android」なら「Android」

について学びましょう。

ここでは、以下の事を学ぶと開発がやりやすくなります。

各OSの仕様

最新バージョンについて、簡単にでも良いので調べておきましょう

選んだ「OSについての知識」は必要です。

例えばOSのバージョンが変更されると

  • 今まで出来ていたことが出来なくなる
  • 反対に今まで出来なかった事が出来るようになる

ということがあります。

開発のために必要な環境

アプリケーション制作には、開発を行うための環境が必要になります。

◎学んでおきましょう。

  • iOSであればアップル社が提供している「Xcode」について
  • Androidであれば「Android Studio」について

アプリのリリースについて

開発したアプリケーションをリリースしたい場合は、アプリのリリース方法についても学んでおきましょう。

iPhoneであれば「App Store」、Androidであれば「Google Play」に公開することが一般的でしょう。

ステップその3:学びながら、実際にアプリを開発してみる

開発に必要な知識を学んだら、実際にアプリケーション開発を経験してみましょう。

様々なアプリケーションを開発していくことによって知識も深まりますので、色々と挑戦してみましょう。

プログラミングは、初心者が始めるには敷居が高いと思われています。

事実、自分でオリジナルのアプリケーションを開発出来るようになるまでは、非常に長い時間がかかるでしょう。

今は学びやすい環境が揃っています。

今回紹介したSwiftなどは、記述されているコードが理解しやすく、書きやすいと言った特徴があります。

これは、初心者の方には助かる要素ではないでしょうか。

是非、これを機にプログラミングに挑戦してみて下さい。

未経験からエンジニア転職!
副業フリーランス転職にも完全対応!

社会人がエンジニア転職するなら
プログラミングジャパン!
まずは無料体験レッスンで詳しく話を聞いてみよう!