スマートフォンアプリを開発するときに、iOSであればObjective-CSwiftAndroidであればJavaを別々に使えるようにならなければいけない、と思いがちです。
しかしながら、iOSAndroidの両方に対応したスマホアプリを作ろうとすると、全ての言語を習得するのは至難の技です。

今回は、JavaScriptHTML5を使ったスマホアプリの開発方法をご紹介します。
これらの言語はすでにホームページを作成したことがある人であれば基本的な知識を押さえているので、スマホアプリを開発するときにもそれほど学習コストがかかりません。

必要最低限の知識さえ押さえておけば、あとは各プラットフォームのルールにしたがって実装を行っていけばいいのです。

それでは、プラットフォームや開発の流れを紹介していきます。

JavaScriptやHTML5でスマホアプリが作れるプラットフォーム

まず、iOSアプリ開発ならX-Code、AndroidならAndroid Studioにあたる、JavaScriptHTML5で開発できるプラットフォームを選んでいきましょう。

1. React Native

reactnative.jpeg
https://facebook.github.io/react-native/

React Nativeは、Facebookが開発するUIフレームワークであるReactをベースに、モバイルアプリケーションを開発することができるフレームワークです。
もともとはiOS用に公開されていましたが、今ではiOSAndroid両対応になっています。
JavaScriptとJSXタグを使って開発を行います。

2. Titanium

titanium.jpeg
http://www.appcelerator.com/mobile-app-development-products/

TitaniumJavaScriptを使ってロジック部分やUI部分を組み立てていくスマホアプリ開発プラットフォームです。
デフォルトでついているAPIによってダッシュボードでリアルタイムに分析を行うこともできます。
また、ドラッグ&ドロップでモバイルプロトタイピングが行える「App Designer」や、JavaScriptとiOSAndroidコードの相互変換やサードパーティー製のライブラリを行うことができる「Hyperloop」という機能も利用できます。

3. AppGyber

appgyber.jpeg
https://www.appgyver.com

AppGyberHTML5をベースにスマホアプリ開発を行うプラットフォームです。
UI部分はドラッグ&ドロップでデザインすることもでき、外部APIとの連携も数クリックで行うことができます。
ロジック部分もコーディングではなく、ブロックをつなぎあわせるようなビジュアルエディタを採用しているので、直感的にスマホアプリ開発を行うことができます。

4. AppDeck

appdeck.jpeg
http://www.appdeck.mobi

AppDeckHTML5やCSS、JavaScriptを使っているので、ホームページを作るような感覚でスマホアプリ構築を行えます。
プッシュ通知機能やオフラインモードなど、通常ではプラグインや外部機能として提供されている機能も、デフォルトで用意されています。
すでにWebサイトを所有している場合は、そのコードを使い回ししてスマホアプリ開発ができるのも強みのひとつです。

5. Monaca

monaca.jpeg
https://ja.monaca.io

Monacaは国産のスマホアプリ開発プラットフォームで、クラウド版と「Localkit」と呼ばれるローカル開発版があります。
こちらもHTMLCSSJavaScriptを使って開発していくので、ホームページを作るようにスマホアプリ開発を行うことができます。
Onsen UIと呼ばれる便利なUIキットもあり、美しくてシンプルなデザインのスマホアプリを開発することができます。

6. Applican

applican.jpeg
https://www.applican.com

ApplicanHTMLCSS、JavaScriptを使って開発を行う国産のスマホアプリ開発プラットフォームです。
一旦配布したスマホアプリコンテンツを、CMS上で自由に書き換えて更新する機能があります。
広告が入ってしまいますが、全て無料で利用することができます(アップグレードすると広告なしにできます)。