手軽になった!?スマホアプリの開発手法いろいろ

  • このエントリーをはてなブックマークに追加

「自分でスマホアプリを開発したい!」と思ったことはありませんか?

自分で開発したアプリを、知らない誰かに使ってもらうって素敵ですよね。自分のブログ記事を誰かに読んでもらうというのと同じように、自分が生み出したもので誰かが「便利だ」「ためになった」と感じてもらうのは素晴らしいことです。

アイデア次第で一攫千金?

インターネットが普及し始めて20年以上経ちますが、ますます誰でも自分の情報や作ったものを世界中に届け、またそれを売り込むことができるようになりました。個人であってもビジネスチャンスが広がり、アイデア次第で収益化につなげることができるようになったと思います。

工夫次第でいろんな楽しみやビジネスが可能なネットの世界、私もこれからという段階ですが、やはり収益化を目指していきたいなと思っています。

個人でも、ヒットすればひとつのブログ、ひとつのアプリで一攫千金が狙えるかもしれません!

アプリ開発の手法いろいろ

アプリを開発するにはどのような方法があるのでしょうか。これまで調べて来たことをご紹介したいと思います。

まず、アプリ開発の手法は大きく分けて以下の3つがあります。

  1. 純正の開発環境を使った完全なネイティブアプリ
  2. HTML5/javascriptで作るハイブリッドアプリ(WebView)
  3. クロスプラットフォームの開発環境を使ったハイブリッドアプリ

これらについて、順番に説明します。

その前に、「WEBアプリ」と呼ばれるものがありますが、これはWEBサーバーで展開するアプリで、通常ブラウザ上で動作します。この点においては通常のWEBサイトと明確な区別がありません。WEBアプリはサーバーサイドの言語であるphpやRuby、またクライアントサイドのhtmlやjavascriptを使って開発します。

最近ではgoogleが提唱する「PWA」というものがありまして、こちらはブラウザで表示するページなのにネイティブアプリのようにふるまう機能(例えばプッシュ通知など)を有するWEBアプリとなります。こちらについてはまた調査をして記事を書きたいと思います。

1、純正の開発環境を使った完全なネイティブアプリ

純正の開発環境とは、Androidの場合は「Android Studio」、iPhoneの場合は「Xcode」となります。これらのツールを使い、プログラミングしていくことでアプリが作れるわけですが、別々の開発環境とプログラミング言語を習得しなければなりません。Androidの場合、 プログラミング言語はJAVAかKotlinを使いますし、Xcodeの場合は、以前はObjective-Cという言語を使用していましたが、今ならSwiftという言語を使うことになります。

まとめると、

Androidアプリを開発するなら、

開発環境は「Android Studio」、プログラミング言語は「JAVA」もしくは「Kotlin」

iPhoneアプリを開発するなら、

開発環境は「Xcode」、プログラミング言語は「Swift」

となります。

こののように、二つのOS別々に全く異なる環境で開発をしなければならないため、ネイティブアプリ開発における最大のデメリットは学習コストがかかるということになります。ここでいう学習コストというのは、費用のことではなく学習にかかる時間のほうが問題となります。

ネイティブアプリのメリットは、動作が軽快なこと、OSの機能が100%使える(もちろん利用できるものに限ります)ことにあります。

2、HTML5/javascriptで作るハイブリッドアプリ(WebView)

これはWEB技術、しかもHTML5やCSS、javascriptといったクライアントサイドの技術でアプリが作れる、というものです。この方法だと、WEBサイト制作者やWEBデザイナーの方たちであれば簡単にアプリづくりに参入できます。

WebViewという、アプリ内でWEBを表示する機能を利用して開発します。パフォーマンスは完全なネイティブアプリには劣るものの、ちょっとしたツールやWEBコンテンツを表示するアプリなら問題なさそうです。しかも、プッシュ機能や位置情報、カメラなど、OSの機能と連携する事も可能なのです。もちろんPlayストアやAppStoreからダウンロードするアプリです。

有名なのはCordovaというフレームワークです。Monacaというクラウドプラットフォームを使うのが便利でしょう。WEB開発の経験者なら、ブラウザひとつですぐに始めることができます。

とはいえ、「やりたいと思う事ができない、不便だ」と思う事も多々あります。バリバリのプログラマやアプリでがっつり食べていきたい人は、やはりネイティブアプリ一択でしょう。

3、クロスプラットフォームの開発環境を使ったハイブリッドアプリ

こちらは、純正ではなくサードパーティ製の開発環境でありながら、AndroidとiPhone両方のネイティブアプリをビルドすることができます。WebViewと違い、完全なネイティブアプリと同じパフォーマンスを実現します。有名どころでは、XamarinReactNativeあたりでしょうか。ゲーム開発ならUnityがパワフルな開発環境です。Xamarinはなんとマイクロソフト製。VisualStudioを使ってAndroidとiOSのアプリを開発するなんて、よく考えたら凄いことだと思いませんか?とはいえ私は試したことはありません。言語はC#です。

ReactNativeはFaceBook社製。試しにメモ帳アプリを作ったことがありますが、ちょっと学習コストは高いかなと感じましたし、まだまだ発展途上でバージョンアップが頻繁なため、私のように作ったらしばらく放置したいとう横着者には向かないかもしれません。しかし一度開発すれば両OSでネイティブビルドできるのは魅力です。

私は、ReactNativeを動画学習サイトのUdemyで学びました。安価で良質な動画でレクチャーを受けられるので自信を持っておすすめします。

そしてUnity。これも試したことがありますがなかなかすごいです。趣味としても十分楽しめます。3Dゲームもその気になれば個人で作れちゃいます。もっと時間があればじっくり取り組んでみたいですね。言語はC#がおすすめです。

 

以上、勉強中の身で恐縮ですが、だらだらとアプリを開発する手法を紹介しました。私は素人のくせに、いや素人だからこそ、開発環境が決められずあれこれ試していました。今は作りたいものがあり、Monacaを使ってアプリを開発中です。完成したらPRさせていただきます!

私はプログラミングは独学でやっていますが、今ではネット上にオンライン学習サイトが多数あり非常に助かります。特におすすめなのが、動画で講義を受けられるUdemyというサービスです。何と言っても動画は分かりやすい!

今後、動作しているのがWEBなのかネイティブなのか、だんだん区別がつかなくなってきそうです。そもそもユーザーにとっては、安全で快適に使えれば仕組みなんて関係ないですけどね。

今後ますます、開発環境も動作環境も快適に便利になっていくような気がします。

世界最大級のオンライン学習サイトUdemy

 

SNSでもご購読できます。

コメントを残す

*