読者です 読者をやめる 読者になる 読者になる

マネー報道 MoneyReport

マネーにまつわる報道を取り上げ、自分の切り口で切り取り、噛み砕いてお伝えします。

スマートフォン(スマホ)アプリ開発の最適解はどの組み合わせ?iOSもAndroidも両方開発してみたい!

スポンサーリンク
あとで読む

スマートフォンのアプリ

スマートフォンをお持ちの皆さん、スマホのアプリって使っていますか?
私のこのブログを読んでくれている方の内、割合的には半数以上の方がスマートデバイス(スマホやタブレット等)を使ってアクセスしてくれています。
ブログを読む時に使うのがインターネット閲覧用ブラウザアプリであったり、はてなブログのアプリであったり、はたまたRSSリーダーからこのブログを読んでくれている方も多いかと思います。

いずれにしてもスマートフォンを使って何かを行おうとすると、大抵の場合はアプリアプリケーション)が必要です。
パソコンの場合だとソフトウェアとかシステムとかって呼んでいたものが、スマートフォンに限って言うと全てひっくるめてアプリと呼ばれるのが面白いというか、独特の特徴ですよね(^-^)w

便利系のアプリもあれば、実用的なアプリ、また多くの皆さんが使っているゲームアプリもあるのかな、と思います。
あ、私はゲームアプリは、やりません(^^;
ゲームをやりだすと止まらなくなってブログを書かなくなる恐れがあるので、怖くてやっていません。
本当はゲームは好きなんですけどね~。
ドハマリするのが目に見えているので、手を出さないようにしています(^o^;

アプリ開発

そんなスマートフォンのアプリって、何をするにも便利なアプリ探しから始まるんだと思うんですよね~。

「綺麗な写真が撮りたい!」

となれば、綺麗な写真が撮れたり、ミスした写真も綺麗に加工してくれるアプリを探したり。

「毎日の家計簿付けを簡単にしたい!」

と言う要望があれば、スマホのカメラでレシートを写真撮影するだけで家計簿を付けてくれたり、仕訳を自動で考えてくれたりするアプリを探したり。

「猫を集めてホワホワするゲームがしたい!」

と願えば、探してみたら「ねこあつめ」があってみたり♪

Neko Atsume: Kitty Collector on the App Store

上記の、のほほんとした猫ゲームだけはやりたい!と切に思っています、実は(^-^;
猫好きなんです♪

とにかくスマートフォンを使っていると「あれをしたい!」とか「こんな事をしたい!」となれば、アプリを検索して希望に添うアプリを探してインストールして試してみる、というのが割と日常的に発生している物と思われます。

そしてWebサイト開発の次には「アプリ開発にも手を出してみたい!」というのが現在の想いです(*^_^*)

アプリの日本市場

現在、日本国内で言うとiPhoneとAndroidのスマートフォンがほぼ全てのシェアを握っています。
iPhoneがスマホ市場の半数を握っているというのが日本の特徴だと思います。
海外の他の国では高価なiPhoneはそれほどシェアを持っていなくて、Androidの方がシェアが上ですが、日本では半々かiPhoneの方が多いのが実状ではないかと思います。

そんな日本市場向けにアプリ開発をしようとすると、当然iPhone用アプリとAndroid用アプリの両方を開発する必要があります。
まずは片方だけを作って人気があれば両方を作るという選択肢もありますが、考えるだけなら自由なので、まずは両方を作っていく道を考えてみたいと思います。

またスマホアプリ開発なんてした事も無いので、トンチンカンな事を言っているかもしれません。
スマホアプリ開発に従事している開発者の皆さん、気にせずビシバシ厳しく突っ込んで頂けると幸いですm(_ _)m

iOSアプリ開発に必要なものは?

iPhoneやiPad向けのアプリはiOS上で動くアプリとなります。
iOS向けのアプリを開発する上で必要な物は何でしょうか?
思いつくままに書いてみようと思います。

まずはAppleが販売するMacことMacintosh(マッキントッシュ)のパソコンが必要になるのかな~、と。
以前調べた時にも、WindowsのVisualStudioでiOS向けのアプリ開発が出来ると聞きました。
ですが、いざ作ったソースコードをコンパイルする時にMacが必要だと言うことでした。

Mac持っていませんね~(-_-;
「ノマドワーク向けに軽量なノートパソコンが欲しいな~」と思っていたのでMacBookAirが候補に挙がっています。

MacBook Air 1400/11.6 MD711J/B

MacBook Air 1400/11.6 MD711J/B

ありゃ、調べてみたら2015/03/25現在Amazonで¥ 98,440。
前回調べた時よりも11,000円位高くなってますねー。

ノマドワークの決定版!ノートパソコンのベストチョイス3選☆ - マネー報道 MoneyReport

APPLE MacBook Air 1400 MD711J/B 87,740円

先日MacBook発表時にMacBookAirも細かなアップデートがあったと聞きましたから、その影響で価格が上がったのでしょうかね?
それとも単純に円安の影響で値段が上がりましたかね(^^;

続いてiOSアプリ向け開発言語!
この辺は良く分からないのでCodeZineを見つつ勉強します。

Objective-Cより柔軟な新プログラミング言語「Swift」をはじめよう!~開発環境の構築とプロジェクトの作成 (1/3):CodeZine(コードジン)

最近の物だと「Swift」(スゥイフト?)がiOS向けの開発言語として登場しましたね~。これは事前に知ってました(^^)w
それ以前だと「Objective-C」(オブジェクト シー)がメインの開発言語だったのでしょうかね?

デバッグツールとしては「Xcode」を使えば良さそうですか。
それらをダウンロードしようとすると「iOS Developer Program」に参加する必要があるようです。

Apple Developer Program - Apple Developer
今すぐ登録年間参加費 11,800円 (税別)

オフ・・・。
年会費が11,800円掛かりますorz
あ、でもこれって開発したアプリケーションを App Store 上で配布できるようになるんじゃないですかね!
これは将来的には登録予定でしたから、それはそれで良いかも(^-^)w
でもアプリをある程度作ってから登録したかったですね、開発には時間が掛かるので年会費支払って開発環境を手に入れて、いざアプリをアップしようとしたら翌年の年会費の支払いが来ていた、なんて笑えない状態にもなりかねないので(^o^;

【iOSアプリ開発に必要なもの】

  1. Mac(コンパイル用に必要?)
  2. 開発言語「Swift」又は「Objective-C」
  3. デバッグツール「Xcode」
  4. iOS Developer Programへの参加(年会費11,800円)

Androidアプリ開発に必要なものは?

続いてはAndroidのスマートフォン向けのアプリ開発について調べたいと思います。
OSのAndroidはGoogle社が作ったOSで、OSが無料で公開されているので多数のスマホ開発企業が採用して、世界的に見ればこちらがデファクトスタンダード(世界標準)を握っているのかな~、と思うのですがいかがでしょうか?
日本のスマホ販売現場においてはiPhoneが圧倒的人気でAndroidスマホは

「なんだAndroidスマホ?人気ないから安くしときますよ」

みたいな可哀想な扱いを受けたりしていますが、世界では違うんじゃないかな、と(^^;

さてさて、そんなAndroidスマートフォン向けのアプリ開発の開発環境について。
まずは開発言語とデバッグツールから。

【初心者向け】ゼロからAndroidアプリ開発をマスターするためのまとめ 2016。 - NAVER まとめ


こちらの【1】~【6】の流れでインストールしよう!
以下のURLからダウンロードしてインストールしてください。


【1】Android SDK
SDKをダウンロード
http://developer.android.com/


【2】JDK
JDKをダウンロード
http://www.oracle.com/technetwork/java/index.html


【3】Eclipseのインストール
Eclipseをダウンロード
http://www.eclipse.org/


【4】Eclipseへ日本語化プラグインPleiadesのインストール
Eclipseを日本語化するためのプラグイン
http://mergedoc.sourceforge.jp/


【5】Eclipse起動後、Android Pluginをインストール
Eclipse起動後、[ヘルプ] - [新規ソフトウェアのインストール] 選択


【6】Eclipse起動後、Platform APIのインストール
Eclipseから、[ウィンドウ] - [Android SDK and AVD Manager] 選択

という訳で「Android SDK」と「Eclipse」での開発になるんですか~(-_-;
まぁ「Android SDK」も「Eclipse」も無償で使えますのでiOS向け開発よりはハードルが低い様に思いますが、一度この構成はチャレンジした事があって撃沈した苦い思い出が・・・(>_<)

「他にはないのかな~」

と思いつつ探すと「AndroidStudio(アンドロイドスタジオ)」なるものが!?

「AndroidStudio」を使ったアプリ開発環境の構築方法 | TechAcademyマガジン


2014年秋からThe official Android IDEとして正式にリリースされた新しい開発環境で、Intellij IDEAベースの統合開発環境です。


以前に使われていた、EclipseベースのADT(Android Development Tools)から移行した開発環境で、従来のADTもAll-in-Oneの配布は終了しましたがEclipseにプラグインとして導入することができます。


操作や機能は従来のADTと違和感なく使えるようになっているので、以前にアプリを開発したことがある方でも安心して使えることでしょう。

Eclipseじゃない開発環境になるんですかね?
それともEclipseの単なるプラグインになるんでしょうか?
AndroidStudioが日本語対応もしているなら、こっちとかで開発したいですね~。
2014年秋に正式リリースという事で、新しいですしこっちが良さそうですね♪
今までVisualStudioを使ってきた身としてはEclipseはあまり好きではなくて・・・。

あと、良く分かっていないのですがAndroidアプリの開発言語自体は「Java」(ジャバ)になるんでしょうかね?
Javaはほとんど書いた事がないので、こちらも一から勉強ですね~(-_-;

あと、作ったアプリを公開するのにはGooglePlayに公開したいですよね!
そうなると「GooglePlayデベロッパー」という物に参加する必要があるようです。
iOSの「iOS Developer Program」と同じような物ですか。

「GooglePlayデベロッパー」は年会費は不要なのかな?
登録時に「25米ドル」必要なようです。PayPalでの支払いが安心ですかね♪

Google Play デベロッパー コンソールの使い方 - Google Play デベロッパー ヘルプ

「GooglePlayデベロッパー」に参加し、アプリを作って審査を受けて通ると、晴れてGooglePlayに自分のアプリが登録してもらえるんでしょうかね~♪

【Androidアプリ開発に必要なもの】

  1. Windowsマシン(Macでも良いようですが)
  2. 開発言語「Java」
  3. デバッグツール「Eclipse」又は「AndroidStudio」
  4. GooglePlayデベロッパーへの参加(登録費用$25.00)

ハイブリッド開発

ここまで取り上げてきたスマートフォンの開発環境は言わば王道的な物を書いてきました。

「iOS向けアプリ作るなら、これが王道!」

みたいな。
ですが、ちょっと横道にそれた開発も可能と聞きましたので少し載せておきたいと思います。

それはVisualStudioでプラグインを導入して、iOSアプリもAndroidアプリもどちらも作ることの出来るハイブリッド開発とかって呼ばれるもの。

HTMLとCSS、JavaScriptを書く要領でアプリを作る事が出来るそうです。
しかも同じコードでコンパイルを変えるだけで、iOS向けにもAndroid向けにも作ることが出来るという正にハイブリッドな開発環境なんですよ!

それがCordova(PhoneGapとも呼ばれる)です。
VisualStudioのアドインとしてインストールすればVisualStudioでiOSやAndroid向けアプリ開発が出来ちゃうと言う(^-^)w

ただ良く分からないのが「Cordovaで何でも作れるのか?」という点です。
スマホのカメラやGPSを使う様なそんなアプリも作れるのか、というところ。
あくまでもHTMLとJavaScriiptで出来る「HPチックなアプリしか作れないんじゃないのかなぁ?」という疑念が残ります。

本格的なアプリを作るのならCordovaじゃダメで、SwiftなりAndroidStudioなりを使わないと作れないのかなぁ、と。
この辺、どうなんでしょうか?

詳しい開発者の皆さん、教えて下さい<(_ _)>

まとめ

それぞれの王道の開発方法が見えてはきましたが、果たしてそれが最適解なのかどうかが素人の私には分かりません(;_;)
素人目線で言うと最後に紹介させてもらったCordovaとかで「1つのソースコードでiOSもAndroidも両方作れるならそっちが楽で良いんじゃ・・・」と思ってしまいます(^^;

この辺の突っ込んだ話は実際に開発で各言語を使っている方に聞かないと、見えてこない部分があるかと思っています。

ぜひiOS向けアプリ開発を行っている方、Android向けアプリ開発を行っている方

「スマホアプリ開発ならコレが最強!この言語にあの開発環境で突っ走れ!」

とアドバイスを頂けると幸いです(*^_^*)

スマホアプリ開発者の皆様、コメントやブコメにてアドバイスをお待ちしています(^o^)/