スマホ開発のプラットフォーム別現状(iPhoneアプリ/Androidアプリ/ハイブリッドアプリ)

スマホアプリのプラットフォーム毎の開発言語(フレームワーク含)について整備

 

iPhoneアプリ

当初はObjective-Cで開発したが、現在はAppleさん的にはSwift使ってよ、という流れです。現状、個人的にはObjective-Cで検証用のアプリを1回作っただけでSwiftにおいては、何も知らないので、まずは試しに実装せねば。

Mac欲しいけど高いんだよなー。貧乏人としては開発PCを縛るの勘弁して欲しいっす

 

Androidアプリ

今も昔もJavaです。

が、少々気になる動向が。

itpro.nikkeibp.co.jp

 

 

Androidが、Java関連の著作権を侵害してるから金払えと、Javaを保有しているOracleAndroid産みの親Googleを訴えている問題で、現状、Google側の形勢が悪いみたい。

で、仮にGoogleがこのまま負けると、場合によってはJavaに見切りをつけ、別の策を講じるのではと噂されています。

ほんで、"別の策"という中の一つの選択肢が、

・kotlin

www.infoq.com

メンテ自体は、ジェットブレインズ社がやっています、

そもそもAndroid Studio 自体がジェットブレインズ社のIntejiをベースにしている事もあり、Googleとの結び付きも強く、現時点のAndroid Studioでも既にJava→kotlinへのコンバート機能があるみたい。

最近、v1.0(ベータ版)も出たみたいなので、だいぶ開発環境も揃いつつありそう。Swiftと似ているという話もちらほら目にするので、少しかじっとく必要ありかも。

 

ハイブリッド(Android+iPhone)アプリ

最近、よく聞くハイブリッドアプリ。HTML5アプリとも呼ばれます。

WebView上で動作するため、プラットフォームに(あまり)依存しないアプリ作成が出来る。

基本ブラウザで見るイメージですから、WebアプリみたいなもんでHTML5+Javascriptで作成します。またJavascriptは最近流行のAngular.jsなど使う事が多い。

ハイブリッドアプリでスマホアプリ開発するなら、今までのスマホアプリ開発者よりフロントエンドやっている人にお願いしたほうが早い気がします。Angularの概念とか、最初の一掴みが結構しんどい。

 

基本、フレームワークを使います(プラットフォームの制御とか必要なため)。

・Onsen UI

ja.onsen.io

日本製です。アシアルさんという会社がメンテされてます。

日本語のドキュメントなど充実しているので日本人ならこれで良いかと。

・Ionic

ionicframework.com

現状は、Onsen UIかこのIonicか、という感じ。

最近はGUIベースの画面デザイン環境も提供されてるみたいだし。

 

まとめ

ハイブリッドアプリですが、Android+iOSと2つ分のアプリを作るのが、理論上は1つになるなわけなので、非常に魅力的に感じる人も多いわけです。

なので、下手するとハイブリッドアプリの開発ノウハウが無いのに、いきなりハイブリッドアプリで作ってよ、と強制的にぶっこまれる可能性もあるので、ハイブリッドアプリのノウハウはなるだけ早く整えようと思います(学習コストもやや高いし)