ニフクラ mobile backend(mBaaS)お役立ちブログ

スマホアプリ開発にニフクラ mobile backend(mBaaS)。アプリ開発に役立つ情報をおとどけ!

一つの言語でマルチプラットフォームに対応する言語/フレームワークまとめ

f:id:mbaasdevrel:20200110154553p:plain

2020年現在、スマートフォンアプリを開発しようと思ったら、そのターゲットとしてはAndroidとiOSの二択になるでしょう。この二つのプラットフォームさえ押さえておけば、他を考えることはまずないはずです。

逆にいうと、二つのプラットフォームへの対応は必須ともいえます。それぞれに開発してもいいですが、変化が速い現状では個別に開発している予算が下りなかったり、工数がかかりすぎてしまうという問題もあります。そこで、一つのコードでマルチプラットフォームに対応できるフレームワークや言語へのニーズが高くなります。

今回はそんなプログラミング言語、そしてフレームワークを紹介します。

JavaScript

まず言語として注目したいのがJavaScriptです。JavaScriptは元々Webブラウザ上でのみ実行されるプログラミング言語でしたが、その実行エンジンだけを取り出してNode.jsとしてサーバサイドで動くようになったり、iOSやAndroid上でも実行できるようになっています。

Cordova/Monaca/Ionic

CordovaはiOS/Android上でWebViewを表示します。WebViewなので、その上ではJavaScriptが実行可能です。WebブラウザはiOS/Androidどちらにも備わっており、UIはHTMLで開発できます。

MonacaIonicはCordovaをより使いやすくするサービスになります。Web上で開発できる環境を提供したり、アプリ開発に便利なコンポーネントを提供します。Cordovaのままでも開発は可能ですが、より素早く、手軽にしてくれるでしょう。

ニフクラ mobile backendではJavaScript SDKプッシュ通知用プラグインを提供しており、Cordova/Monaca/Ionicと組み合わせて利用できます。

React Native

React NativeはWebViewは用いず、JavaScriptエンジンを直接利用することでワンコードでアプリ開発できるようにします。UIはネイティブのものをReact Native経由で利用します。

React Nativeは元々Reactとして知られているJavaScriptフレームワークをスマートフォン向けに開発したものです。JSXと呼ばれる独自のUI記述構文を用います。FacebookやInstagramといった大型なアプリでも使われているので、信頼性は高いといえるでしょう。

ニフクラ mobile backendでは非公式ながらReact Native SDKを提供しています。React Native開発でよく使われるexpoでも使えます。

Dart/Flutter

開発言語はDartになります。Googleがメインで開発を行っているフレームワークになります。UIコンポーネントは独自のものになっています。iOS/Androidの他、Webやデスクトップアプリも開発できます。

ニフクラ mobile backendでは非公式ながらFlutter SDKを提供しています。プッシュ通知の機能などでiOS/Android依存になっており、Webでは利用できません。

C

Unity

スマートフォン向けにゲームアプリを開発しようと思うならば選択肢にあがるのがUnityでしょう。Unityではメイン言語としてC#を用います。そしてiOS/Androidアプリの他、Webやデスクトップ向けにもアプリをビルドできます。

ニフクラ mobile backendではUnity SDKを公式提供しています

Xamarin

Xamarinは元々Xamarin社が開発していたスマートフォンアプリ開発用フレームワークです。2016年にMicrosoft社に買収されました。iOS向けの開発時にはmacOSが必要ですが、Android/iOS両OS向けの開発が可能です。Xamarin.FormsとネイティブUIのどちらかでUIを開発できます。

ニフクラ mobile backendでは残念ながらXamarin向けにはSDKを提供していません。

Delphi/RAD Studio

Delphiを使ってiOSやAndroid、macOS/Windowsなど多彩なアプリケーションを開発できるのがRAD Studioです。画面もビジュアルデザイナーを使って開発できます。

ニフクラ mobile backendでは残念ながらDephi向けにはSDKを提供していません。

Ruby/RubyMotion

スクリプト言語で知られるRubyを使ってiOS/Android、さらにmacOSアプリを作るならRubyMotionが利用できます。iOS13.2からAndroid 8.1まで対応し、watchOSやtvOSまで利用できます。

ニフクラ mobile backendでは非公式のRuby SDKがありますが、RubyMotionには非対応です。

まとめ

現在、多くのプログラミング言語でマルチプラットフォームに対応したアプリが開発できるようになっています。自分好みのプログラミング言語、そしてフレームワークを選択してください。

その多くにニフクラ mobile backendではSDKを提供していますので(一部非公式ですが)、ぜひ組み合わせて使ってみてください。

中津川 篤司

中津川 篤司

NCMBエヴァンジェリスト。プログラマ、エンジニアとしていくつかの企業で働き、28歳のときに独立。 2004年、まだ情報が少なかったオープンソースソフトの技術ブログ「MOONGIFT」を開設し、毎日情報を発信している。2013年に法人化、ビジネスとエンジニアを結ぶDXエージェンシー「DevRel」活動をスタート。