プログラミング初心者がアプリ開発ができるまでの学習の始め方と勉強時間について紹介します。
巷には様々なスマートフォンアプリケーションが溢れています。
プログラミング初心者が気になるのは、
どれくらい学習すればアプリ開発ができるようになるのかなぁ・・
ということではないでしょうか。
そこで本記事では
- プログラミング初心者がアプリ開発をするまでのステップ
- アプリ開発においてオススメのプログラミング言語
- アプリ開発できるまでの学習時間の目安
などについてまとめてみました。
プログラミングをはじめてアプリ開発ができるようになるための言語
プログラミング言語は多種多様です。
スマホアプリを開発するのに必要な言語は、次の二つです。
- Java (androidアプリを開発するのに使用)
- Swift (iphoneアプリを開発するのに使用)
プログラミング初心者は、この2つのアプリケーション開発から始めると馴染みやすいでしょう。
androidアプリとiphone用アプリ(iosアプリ)の違い
androidアプリとiphoneアプリの大きな違いは、開発言語が違うことです。
それぞれ
- android用アプリ=Java
- iphone用アプリ=Swift
の言語で開発されています。
Swiftの開発は2010年から始められていて、比較的新しい言語です。
Javaは1995年にサン・マイクロシステムズ社から発表されていて、現在はオラクル社が提供しています。
javaは汎用性が高く、様々な場所に普及しています。
iphone用のアプリの開発言語swiftの特徴
アップル社は、「Swiftの特徴」として以下を挙げています。
モダン
Swiftは新しい言語のため、それまでに出ていた様々なプログラミング言語の良いところを取り入れています。
そのため、初心者でも読みやすく、分かりやすい言語になっています。
安全
swiftはこれまでの言語で主に「記述ミス」によって発生していたバグを文法的に解決しています。
バグを内包したコードが記述された際、他の言語では実行できてしまいます。
しかし、Swiftでは実行前の段階でエラーとなり、実行できません。
その為、バグが見つけやすいです。
高速
Swiftで作成されたアプリケーションは、処理速度が速いという特徴があります。
インタラクティブ
Swiftには「Playground」という機能があります。
この機能はプログラミングを行っている最中に、リアルタイムで実行結果が確認できるというものです。
ユーザーがパソコンを見ながら対話するようにプログラムを書くことができるということですね。
「記述ミス」や「バグ」にすぐ気が付くことが出来るので、開発スピードが上がります。
プログラミング初心者にも人気がある言語です。
android用の開発言語javaの特徴
Javaの特徴には、以下の様なものがあります。
オブジェクト指向
Javaは、オブジェクト指向プログラミングの代表的な言語です。
オブジェクト指向では機能ごとにプログラムをまとめます。
大人数で開発するときや同じモノを作るときに役に立ちます。
プラットフォームに依存しない
Javaはプラットフォームに依存せず、一度プログラムを書いてしまえば、どの環境でも同じ動きをするように設計されています。
元々「java」は家電製品開発用に作られた言語でした。
家電には多種多様な製品があります。
javaは多くの製品に対応するため汎用性の高いプログラムとして作られました。
そのため、ハードウェアまたはOS(WindowsやMac)などの環境に関係なく実行できます。
ガベージコレクション
javaはガベージコレクションと呼ばれる不要になったメモリを解放する機能があります。
プログラムが動作するとき、2つのステップを踏みます。
- プログラムに必要な情報をメモリ上に読み込む
- 読み込んだ情報をもとに、処理を実行する
この時処理が終われば読み込まれた情報は不要になってしまいます。
従来のプログラミング言語では、自分でメモリ領域を確保し、確保したメモリ領域は自分で開放しなくてはいけませんでした。
マルチスレッド
Javaでは従来のプログラミング言語に比べ、プログラムの同時実行を簡単に実装出来るようになっています。
複数の処理を同時に実行できるということですね。
マルチスレッドの反対に、「一つの処理だけで処理が終わってしまうプログラム」をシングルスレッドと呼びます。
例えば、Webサイトを見ているときどこかへのリンクボタンを押して、「やっぱりやめた」と他のリンクを押すことができます。
シングルスレッドでは通信途中は他のことはできません。
豊富なクラスライブラリ
Javaでは、APIと呼ばれるクラスライブラリが豊富に用意されています。
アプリ開発で、よく使われる機能を誰もが簡単に使えるように準備してくれます。
このクラスライブラリを参照する事によって、自分自身で複雑なプログラムを実装しなくても、様々な機能が使えるのです。
android用アプリの開発言語「java」の違い
Javaはandroid用アプリだけではなくパソコン用のソフトウェアや家電製品の組み込みシステムなどにも使用されます。
Javaのキャッチコピーは、「一度書けばどこでも動く」です。
そのコピー通り、android用アプリ以外の様々な用途にもJavaは使われています。
プログラミングを初めてアプリ開発ができるようになるための学習時間
初心者がプログラミング言語を扱えるようになるまで、おおよそ200時間必要だとされています。
この段階では、以下の事が出来るようになっているでしょう。
使用する言語の基本的な言語仕様を知っている
30~40時間程度学習すると言語の基本仕様が分かってきます。
開発を行うためには、JavaであればJavaの、SwiftであればSwiftの「基本的な言語仕様」を理解している必要があります。
初心者がtodoリストなどの簡単なアプリを開発できる様になるまでの学習時間
50時間学習すると、プログラミングの知識が身につき、簡単なアプリ開発が出来るようになります。
これには、どのようなアプリケーションを作成すれば良いのか、明確になっていることが条件となります。
例えば、todoリストを作成するためには、以下の様な技能が必要です。
プログラミングは、アプリケーションの動きを一つ一つ記述していく作業です。
その為、どんなアプリケーションを作る為にも、この技術が必要になります。
「todoリスト」でたとえるならば、
- Todoの追加ボタンを押下する→Todoが追加できる画面を表示する
- Todoが追加された→Todo一覧画面に追加されたTodoを表示する
- Todoの締切日になった→締切日であることをアラートする、該当Todoを目立つ色で強調するといった動きが必要である
と挙げられるようになっていることが望ましいです。
これぐらいの開発は初心者でも簡単に取り組みやすいです
1~2時間ほどで基本を学び、何度もこの作業を繰り返して行くことで身につけられます。
基本的なプログラミングの言葉の意味が分かる
200時間勉強するとプログラミングの基本的な知識が身につきます。
- オブジェクト指向
- クラス
- メソッド
など、プログラミングでは独特の言葉を数多く使います。
その内、基本的な言葉の意味を理解できるようになります。
設計書通りにアプリケーションの制作が行える
設計書が用意されているアプリケーションの製作が、問題無く行えるようになります。
これは目安の時間ですので、簡単なアプリ開発を行うだけであれば、もう少し時間を短縮することができます。
初心者がオリジナルのiosアプリを開発できる様になるまでは
オリジナルのアプリ開発を行うために必要なことを大まかにまとめると、以下の様になります。
- 要件定義
- 設計
- 開発
- 動作確認
それぞれ解説します。
要件定義:自分の作りたいアプリケーションについて、要件をまとめる
要件定義はまず作りたいアプリが「どのような機能を持っているか」をまとめます。
作成するアプリケーションの利用目的を明確にしておくといいでしょう。
設計:まとめた要件を元に、設計書を作成する
設計は「要件定義」で挙げた内容を、プログラミングが行えるレベルまで細かく切り出し、まとめていく作業になります。
画面上の
- ボタンの配置
- 表示する画像
- メッセージ
についてもこの設計書にまとめていきます。
開発:設計書を元に、プログラミングを行う
開発は「設計書」の内容に沿ってプログラミングを行います。
設計書にどれだけ細かく記載されているかによって、プログラミングの難易度が変わります。
動作確認(テスト):作成したアプリケーションが設計・要件通りに動いているか確認する
動作確認はプログラミングが完了した後、要件定義で挙げた内容や、設計書に記載された内容通りにプログラムが動いているかを確認する作業になります。
アプリ開発ができるようになるための3つのステップ
スマホアプリケーション開発ができるようになるまで、簡単にまとめると3ステップ必要です。
ステップその1:「iphoneアプリ」か「androidアプリ」か(os)を決める
初心者はandroidアプリを作ることをおすすめします。
androidアプリは「Java」で作られています。
なぜ「Java」がおすすめなのかというと
- 開発者が多く、有益な資料が沢山揃っている
- 経験者も多いため、アドバイスを貰いやすい
- 開発環境が用意しやすい
といったポイントが挙げられます。
「Swift」は、アップル社が用意している開発環境がMacOSでしか動作しません。
パソコンのOSはWindowsを使用している方が多いため、Javaの方が開発しやすいです。
ステップその2:選んだOSを学習する
OSを選んだら、次はOSについて学ぶ事が必要です。
- 「iphone」なら「iOS」
- 「Android」なら「Android」
について学びましょう。
ここでは、以下の事を学ぶと開発がやりやすくなります。
各OSの仕様
最新バージョンについて、簡単にでも良いので調べておきましょう
例えばOSのバージョンが変更されると
- 今まで出来ていたことが出来なくなる
- 反対に今まで出来なかった事が出来るようになる
ということがあります。
開発のために必要な環境
アプリケーション制作には、開発を行うための環境が必要になります。
◎学んでおきましょう。
- iOSであればアップル社が提供している「Xcode」について
- Androidであれば「Android Studio」について
アプリのリリースについて
開発したアプリケーションをリリースしたい場合は、アプリのリリース方法についても学んでおきましょう。
iPhoneであれば「App Store」、Androidであれば「Google Play」に公開することが一般的でしょう。
ステップその3:学びながら、実際にアプリを開発してみる
開発に必要な知識を学んだら、実際にアプリケーション開発を経験してみましょう。
プログラミングは、初心者が始めるには敷居が高いと思われています。
事実、自分でオリジナルのアプリケーションを開発出来るようになるまでは、非常に長い時間がかかるでしょう。
今回紹介したSwiftなどは、記述されているコードが理解しやすく、書きやすいと言った特徴があります。
これは、初心者の方には助かる要素ではないでしょうか。
是非、これを機にプログラミングに挑戦してみて下さい。
未経験からエンジニア転職!
副業・フリーランス転職にも完全対応!
社会人がエンジニア転職するなら
『プログラミングジャパン!』
まずは無料体験レッスンで詳しく話を聞いてみよう!