プログラミング

プログラミング独学でスマホアプリ開発をしたい人におすすめの方法【現役エンジニアが紹介】

こんにちは。プロラボです。

この記事を書いている僕は、現役でシステムエンジニアをやっています。

現在31歳の年収は毎日定時で帰って年収600万くらいです。びっくりするほど高収入なわけではないですが、それなりにストレスのない生活をしています。

今回は、

  • プログラミング独学でスマホアプリ開発をしてみたい
  • 簡単にスマホアプリを開発する方法を知りたい
  • iPhoneもAndroidも同時に開発したい

こんな悩みを解決します!

プログラミング学習を始めたら、一度はスマホアプリの開発をしてみたいなと思いますよね。

スマートフォンが爆発的に普及した今、自分の作ったアプリが最も人目に触れるチャンスですし、アプリだけで副収入を得ているエンジニアもたくさんいます。

先に結論からお伝えすると、初心者のスマホアプリ開発にはハイブリットアプリ開発を利用します。

でもハイブリットアプリ開発って何?って感じですよね。

と言うわけで、

  • ハイブリットアプリとは何か
  • 普通のアプリ開発とは何が違うのか
  • どんなことができるのか

を解説しながら先程の悩みをキレイに解決して行こうと思います。

それではさっそく行ってみましょう!

ハイブリットアプリとは?

「ハイブリットアプリ」とはWebサイトを制作する技術で作られたスマホアプリのことで、AndroidにもiPhoneにも対応しています。

普通AndroidやiPhoneなどのスマホアプリを作るとき、以下のようなプログラミング言語を利用します。

Andriodの言語
  • Java
  • Kotlin
iPhoneの言語
  • Swift
  • objective-c

これらのプログラミング言語で作られたスマホアプリを「ネイティブアプリ」と呼びます。

見ての通りですが、AndroidとiPhoneで利用するプログラミング言語が異なるので、「ネイティブアプリ」によって両方のデバイスで同じアプリを開発しようとした場合、2つ以上のプログラミング言語を理解する必要があります。

 

「ハイブリットアプリ」の場合は、

Webサイトを作る時と同じ、HTML5/CSS3・JavaScirptを利用すればAndoridoもiPhoneも同時にアプリを開発することが可能です。

要するにHTML5/CSS3・JavaScirptだけ理解できれば、AndroidとiPhoneのアプリを開発することが可能になるので非常にコスパがいいのが「ハイブリットアプリ」です。

 

例えるなら、フランスではフランス語、スペインではスペイン語ですが、英語さえ使えればなんとなく生活ができてしまう。と言うようなイメージかなと思います。

 

さらにHTML5/CSS3・JavaScirptを理解していればWebサイトの作成もできるので、

  1. Webサイト開発
  2. Andoridアプリ開発
  3. iPhoneアプリ開発

このように、3種類の開発ができる技術者。ということになります。

ハイブリットアプリとネイティブアプリ

もう少し「ハイブリットアプリ」と「ネイティブアプリ」の違いについて深掘りしてみます。

ハイブリットアプリの特徴
  • 言語の難易度が低く、開発は低コスト
  • 複雑なアプリを作成すると動作が重い
  • Android、iPhoneでソースコードが1つなのでメンテナンスが楽
ネイティブアプリの特徴
  • 言語の難易度が高く、開発は高コスト
  • 複雑なアプリでも動作が軽い
  • Android、iPhoneでソースコードが別れるのでメンテナンスが大変

こんな感じかなと思います。

「ハイブリットアプリ」はHTML5/CSS3・JavaScirptと、比較的難易度の低い言語で開発ができるので、開発のコストは低く抑えることができます。

さらに1つのソースコードでAndorid、iPhoneのアプリを作成することができるので、バグ修正などのメンテナンスがとても楽だったりします。

ただし機能が多い複雑なアプリを作る場合、「ネイティブアプリ」と比べると、動作はモッサリしてしまいます。

どちらを選ぶべき?

結論、臨機応変に。といった感じですが、もう少し深掘りすると、

  • 初心者は「ハイブリットアプリ」
  • とにかくリリースまで急ぎたい人は「ハイブリットアプリ」
  • 複雑なアプリを作りたい人は「ネイティブアプリ」

といった感じかなと思います。

ちょっと悲報ですが、「ネイティブアプリ」に出来ても、「ハイブリットアプリ」には《出来ないこと》もしくは《出来ないに等しいくらい難しいこと》が必ずあります。

なので初心者の場合、まずは「ハイブリットアプリ」でアプリ開発を学び、アプリ開発エンジニアとしてさらなるステップアップがしたければ、「ネイティブアプリ」のアプリ開発を学んでいくのが確実なロードマップかなと思います。

 

こちらは朗報ですが、先述したとおり、「ハイブリットアプリ」が開発できるようになれば、Webサイトの開発もできるようになるので、単純に手持ちのスキルが増えることにもなります。

ハイブリットアプリのメリットとデメリット

ハイブリットアプリのメリットとデメリットをまとめておきます。

ハイブリットアプリのメリット
  • 言語の難易度が低い。
  • Android、iPhoneでソースコードが1つなのでメンテナンスが楽
  • Android、iPhoneでソースコードが1つなので開発のコストが低い
ハイブリットアプリのデメリット
  • 複雑なアプリを作成すると動作が重い

こんな感じです。

メリットはここまで述べてきた通り、言語の難易度が低く、開発・メンテナンスのコストが圧倒的に低いので、なれている人なら数日でアプリのリリースも可能です。

デメリットとしては、アプリが複雑化するにつれて動きがどんどんもっさりになっていきます。

ただ「ハイブリットアプリ」の技術もどんどん進んでいるのと、AndoridやiPhoneの性能も良くなっているので、最近では動作の重さについて気にならなくなってきています。

ハイブリットアプリの開発方法

と言うわけでここまで「ハイブリットアプリ」について解説してきましたが、ここからは実際に「ハイブリットアプリ」の開発方法についてご紹介します。

初心者が今から「ハイブリットアプリ」の開発に挑戦するなら、

Monaca」一択です。

Monaca」は「ハイブリットアプリ」開発プラットフォームのことで、個人で試しにアプリを作ってみる程度なら無料で利用することができます。

Monacaデバッカーと呼ばれる専用のスマホアプリをインストールすれば、Moacaで作ったアプリを手持ちのスマートフォンですぐに動作させることも可能です。

さらにサンプルアプリも用意されているので、どんなコードだとスマホ上でどんな動きをするのかもわかります。

Monaca」なら物づくりの楽しさを感じるには最適で、無料で使えるプランもあるので是非いちど試してみてください。

まとめ

と言うわけで今回はプログラミング独学で、スマホアプリ開発をしたい人におすすめの方法をご紹介いたしました。

まとめると、

  • HTML5/CSS3・JavaScriptを利用し、
  • 「ハイブリットアプリ」を
  • Monaca」で作るです。

HTML5/CSS3・JavaScriptはプログラミング言語の中でも比較的簡単なプログラミング言語なので、初心者には非常におすすめな言語です。

さらにプログラミング言語はどれも「似たようなモノ」なので、1つ覚えれば次に学びたい言語が驚くほど理解しやすくなります。

だったら最初は簡単なプログラミング言語から覚えた方が圧倒的にコスパがいいですよね。

ただプログラミングを独学で学んでいると、必ず壁にぶち当たる瞬間がやってきますし、習得まで時間がかかってしまいます。

ある調査によると、プログラミング言語を独学で始めた人のおよそ9割が挫折して、学習をやめてしまうそうです。

10人いたら1人しか残らない計算です。。。

個人的には本気でプログラミングを学びたい人はプログラミングスクールに通う方が圧倒的にコスパが良いと思います。

僕のおすすめするプログラミングスクールを以下の記事にまとめましたので、是非参考にしてください。

【無料あり】プログラミングスクールのおすすめ4社【現役エンジニアが紹介】システムエンジニアになるためにはプログラミングのスキルが必須です。 軽く自己紹介ですが、この記事を書いている僕は2010年に新...

今回は以上です。

おすすめ記事:【無料あり】プログラミングスクールのおすすめ4社【現役エンジニアが紹介】