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

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

ワンソースマルチデバイス対応アプリ開発サービス/フレームワークまとめ

複数のデバイスに対応したアプリを開発しようと思うと、複数のプログラミング言語を覚えるのが基本になります。しかしそれが障壁となって、異なるデバイスへのアプリ展開ができないのは勿体ないです。

そこで今回はワンソース(一つのプログラミング言語のソースコード)でマルチデバイス対応できるフレームワーク、サービスを紹介します。一つの言語、フレームワークさえ習得すれば、iOS/Androidをはじめ複数のデバイス向けの開発が一気に行えますよ。


Monaca

Monaca
MonacaはPhoneGap/CordovaをベースにWebベースでiOS/Android/Windows 8アプリ/Chromeアプリの開発が可能です。開発言語はHTML5/JavaScriptになります。

Monaca - Hybrid mobile development cloud for cross-platform app

Herlock

Herlock
JavaScriptをOpenGLに変換することで実行速度の速いマルチデバイス対応を可能にしています。Android/iOSアプリの開発ができます。

Herlock - Native Apps Development

MoSync

MoSync
C/C++またはHTML5/JavaScriptを使ってアプリ開発を行います。SDKを使うことでJavaScriptからネイティブUIにアクセスできます。iOS、Android、Windows Phoneアプリが開発できます。

Create native mobile apps for multiple platforms │ HTML5/JavaScript and C++ developer tools

Titanium

Titanium
JavaScriptを独自のフレームワークに合わせて利用します。iOS、Android、BlackBerryアプリが開発できます。

Titanium Mobile Application Development | Appcelerator Inc.

Telerik/Icenium

Telerik/Icenium
PhoneGapを使って、HTML5/JavaScriptでiOS/Android/Windows Phoneアプリが開発できます。

AppBuilder Cross-Platform Mobile Application Development IDE | Telerik (formerly Icenium)

Xamarin

Xamarin
C#で開発します。Visual Studioと組み合わせて使うようになっています。iOS/Android/Windows Phoneアプリが開発できます。さらにMac OSX/WindowsアプリやGoogle Glass向けのアプリ開発もできます。

Build apps in C# for iOS, Android and Windows Phone. - Xamarin

Application Craft

Application Craft
PhoneGapを使って、HTML5/JavaScriptで開発を行います。iOS/Androidアプリが開発できます。

Visual IDE in the Cloud - App development for Mobile and Desktop with Application Craft

Delphi XE6

Delphi XE6
Delphiで開発します。Windows、Mac OSX、Android、iOSに対応したアプリが一つのコードベースから開発できます。

Delphi XE6 | Develop Apps Windows, Mac OS X, iOS and Android

Trigger.io

Trigger.io
HTML5/JavaScriptで開発しますが、PhoneGapとは異なる技術になります。iOS/Androidアプリが開発できます。

Trigger.io - mobile platform for web developers

Corona Labs

Corona Labs
Luaを使って開発します。iOS/Android/Kindle Fire/NOOKアプリが一つのコードから開発できます。さらにWindows Phone 8/Windows 8アプリにも近く対応するとのことです。

Develop Cross Platform Mobile Apps and Games | Corona Labs

Tabris

Tabris
Javaで開発します。企業向けのシステムになるようです。iOS/Androidアプリが開発できます。

Tabris. The Cross-Platform Mobile Framework for Java. - EclipseSource Developer Portal

Unity

Unity
3D/2Dゲームを開発する際に有名なゲームフレームワークです。C#、JavaScript、Booで開発ができます。iOS、Android、Windows、Mac OSX、Linux、Flash、PlayStation 3、Xbox 360、Wii U向けにアプリが開発できます。

Unity - Game Engine

Cocos2D

Cocos2D
Cocos2dではApportableを使うことでObjective-Cを使ってiOSはもちろんAndroid向けゲームが開発できるようです。

Cocos2D – Open-source cross-platform game framework


いかがでしたか。一つのコードから複数環境への対応ができれば、メンテナンスや開発コストは大幅に軽減されそうです。マルチデバイス対応のため、機能が最大公約数(特定デバイスだけの機能が使えない)になってしまったり、速度面がネイティブに比べると落ちるケースが多いのがデメリットかも知れません。

とは言え速度を重視するゲームでUnityが使えたり、逆にユーティリティ系アプリなどは速度重視ではないと思いますので、カテゴリを選べば十分選択肢として考えられるのではないでしょうか。

f:id:mbaasblog:20180927104348p:plain