
スマートフォンアプリを開発する際にiOSであればSwiftやObjective-C、AndroidならJavaを覚えないといけないと思いがちです。しかし代替言語になるものはRuby、C#などいくつもあります。今回はその中でも最も選択肢が多いと思われるJavaScriptを使ったアプリ開発を提供するプラットフォーム/フレームワークをまとめました。
CordovaはHTML5/CSS/JavaScriptで作ったWebアプリケーションをラッピングしてネイティブアプリ化する技術です。そしてプラグインを通してスマートフォンネイティブのAPIをJavaScriptで呼び出せるようになっています。
MonacaはCordovaをベースに、アプリ開発環境やビルド環境をクラウドで提供しています。そのため一度設定してしまえばWindowsからiOSアプリをビルドすることも可能です。また、開発環境をローカルコンピュータ上に作らなくても良いというのが大きなメリットです。
Monaca - HTML5ハイブリッドアプリ開発プラットフォーム
Facebookが開発しているUIフレームワークReactをスマートフォンにも展開したのがReact Nativeです。元々iOS向けでしたが、Android版もリリースされています。JavaScriptと独自タグのJSXを使ってUIを組み立てます。
React Native | A framework for building native apps using React
HTMLをベースにしつつ、ネイティブなコンポーネントをタグで呼び出せるようになっています。その意味ではUI構成はReact Nativeに近いかも知れません。ネイティブなUIなので、実行速度は高速です。
基本的にはHTML/CSS/JavaScriptでアプリを作りますが、多くの機能がネイティブで実装できるようになっています。例えばメニュー開閉、Pull to Refresh、スクロールなどがネイティブ化されることで高速に実行できるようになっています。
AppDeck
技術的にはReact Nativeに近く、JavaScriptだけでUIやロジックを組み立ててスマートフォンアプリを開発します。ワンコード、マルチプラットフォームとなっており、一つのコードでAndroid/iOS両方に利用できます。プラグインによる拡張も可能です。
Products | Appcelerator Inc.
HTML5/CSS/JavaScriptでiOS/Android両方で動作するスマートフォンを開発します。技術的にはCordovaに近いですが、プラグインの仕組みはなくすべてアプリカンで提供される機能のみが使えます。そのためJavaScriptのみで開発できるのが特長となっています。
アプリカン | アプリ開発支援プラットフォーム
さいごに
Web開発者であればJavaScriptは普段使い慣れたプログラミング言語だと思います。そのためアプリ開発に対する敷居が低くなるのではないでしょうか。ただしコーディングルールがWebとは異なる場合も多いので注意が必要です。