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

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

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

「どの程度学習をすればアプリ開発ができるようになるのか」

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

今回はアプリを開発するためのプログラミング学習の始め方と勉強時間についてまとめてみました。

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

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

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

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

・Java(アンドロイドアプリを開発するのに使用)
・Swift(iphoneアプリを開発するのに使用)

初心者の方は、この二つのアプリケーション開発から始めると馴染みやすいです。

アンドロイドアプリとiphone用アプリ(iosアプリ)の違い

アンドロイドアプリiphoneアプリの大きな違いは、開発言語が違うことです。

アンドロイドアプリとiphoneアプリの違い=開発言語が違う

アンドロイド用アプリはJava、iphone用アプリはSwiftという言語で開発されています。

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

Swift自体の開発は2010年から始められていて、比較的新しい言語になります。

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

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

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


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

モダン

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

swiftの特徴=他言語の良いところを取り入れている。

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

安全

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

swiftの特徴=従来のバグに強い

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

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

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

高速

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

swiftの特徴=処理速度が速い

インタラクティブ

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

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

swiftの特徴=ユーザーがパソコンを見ながら対話するようにプログラムを書くことができる

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

android用の開発言語javaの特徴

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

オブジェクト指向

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

Javaの特徴=オブジェクト指向で作られる

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

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

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

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

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

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

Javaの特徴=どの環境でも同じように実行できる

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

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

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

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

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

ガベージコレクション

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

javaの特徴=ガベージコレクション

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

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

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

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

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

しかしながら、Javaはそれを自動で行う機能がついています。

マルチスレッド

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

javaの特徴=複数の処理を同時に実行できる。

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

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

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

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

豊富なクラスライブラリ

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

Javaの特徴=APIが豊富

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

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

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

アンドロイド用アプリの開発言語javaの違い

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

Javaの特徴=アンドロイド用アプリ以外の用途でも使える

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

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

キャッチコピーの通り、Javaはアンドロイド用アプリ以外の様々な用途などにも使用されます。

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

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

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

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

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

30~40時間プログラミング学習すると=言語の基本仕様が分かってくる

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

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

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

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

50時間プログラミングを学習すると=簡単なアプリが作れるようになる

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

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

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

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

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

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

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

この技術はさほど難しい技術ではありません

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

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

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

200時間プログラミング学習すると=プログラミングの基礎知識が身につく
・オブジェクト指向
・クラス
・メソッド

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

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

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

設計書が用意されているアプリケーションの製作が、問題無く行えるようになります。
200時間プログラミング学習すると=設計書が通りのアプリが作れる

設計書通りにアプリが作れるようになっていると、プログラマの業務に参加することが出来る、と言われています。

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

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

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

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

それぞれ解説します。

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

まず作りたいアプリがどのような機能を持っているかまとめる。

オリジナルのアプリを作るために=作りたいアプリの機能をまとめる

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

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

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

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

オリジナルのアプリを作るために=必要機能を細かく分けて設計書を作る

画面上の

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

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

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

設計書の内容に沿ってプログラミングを行います

オリジナルのアプリを作るために=設計書に沿ってプログラミングする

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

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

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

オリジナルのアプリを作るために=テストする

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

プログラミングジャパンのLine公式アカウント

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

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

ステップその1:iphoneアプリかアンドロイドアプリか(os)を決める

初心者はアンドロイドアプリを作ることをおすすめします。

初心者がアプリ開発する=アンドロイドアプリがおすすめ。

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

アンドロイドアプリはJavaで作られています。

Javaは開発者が多く、有益な資料が沢山揃っています。

また、初心者の方が質問をしようとしたときも、Javaの方が経験者が多いため、答えを貰いやすいです。

また、開発環境が用意しやすいと言った事情もあります。

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

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

なので初心者はアンドロイドアプリをおすすめします。

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

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

iphoneであればiOS、AndroidであればAndroidについて学びましょう。

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

各OSの仕様

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

初心者がアプリ開発する=最新バージョンの仕様を調べよう

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

例えばOSのバージョンが変更されると、今まで出来ていたことが出来なくなったり、反対に今まで出来なかった事が出来るようになったりします。

開発のために必要な環境

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

初心者がアプリ開発する=開発環境について学ぶ

iOSであればアップル社が提供しているXcodeについて、AndroidであればAndroid Studioについて学んでおきましょう。

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

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

初心者がアプリ開発する=アプリをリリースする方法を学ぶ

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

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

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

初心者がアプリ開発する=実際にアプリを開発しながら学ぶ

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

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

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

しかしながら、今は学びやすい環境が揃っていると言えます。

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

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

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

プログラミングジャパンのLine公式アカウントにご招待

プログラミングジャパンのLine公式アカウント