クロスプラットフォーム開発環境でモバイルアプリを作りたい(調査)

皆さんこんにちは。光永です。
クロスプラットフォームアプリ開発ってそこんとこ(?)どうなん?
という調査をしましたので、例のごとく技術ブログに見せかけた社内共有記事です。
さっくりご参照ください。

TL;DR

ざっくり調べただけで環境が11こ。
纏めんのはちょっと無理です。

クロスプラットフォーム開発ってなんなんなん?

クロスプラットフォーム??

挙動の異なる環境(ハード・OSなど)上で同じ仕様のものを動かすことができるソフトウェア。

実装方法等

技術ベースは 開発環境によってさまざまだが、HTML(+CSS) & JS で実装しようぜ!!というのがここ数年の流行。
特別なスキルセットが無くてもWebアプリの開発ができる知識(特にフロント側)があればすぐモバイルアプリに参入できる(語弊有)というのが魅力のようです。

課題

何せ流行しているので、めっちゃくちゃ選択肢があります。
しかし開発環境の選定は、大事。

クロスプラットフォーム開発環境

環境 言語 Mac Win WinApp iOS Android
Unity C#
Xamarin C#
Titanium HTML,JS,CSS × × ×
Cordova HTML,JS,CSS × ×
Monaca
PhoneGap
Telerik Platform HTML,CSS,
JS/C#(.NET)
Electron HTML,CSS,
JS/C#(.NET)
× × ×
React Native HTML,CSS,
JS(React)
NativeScript HTML,CSS,
JS
Weex HTML,CSS,
JS(Vue.js/Rax)

個別メモ

  1. Unity
    あくまでゲーム向けなので、業務向けでの使いやすさは微妙。
  2. Xamarin
    MicroSoft謹製。開発環境の準備が結構大変&重たい。
    また、クロスプラットフォームで共通にできるのは「コア」部分だけ。
  3. Titanium
    名前のせいかググラビリティがたいへん低い。
  4. Cordova
    Apache製。HTMLとJSでやるクロスプラットフォームの「はしり」です。
  5. Monaca
    環境構築が楽。webアプリ上で開発~ビルドまでできる。※ベースはCordova
  6. PhoneGap
    Adobe製。※ベースはCordova
  7. Telerik Platform
    日本語情報が少ない。紹介記事:リンク
  8. Electron
    どっちかというとPCアプリの印象の方が強いかも。GitHub製。
    Atom(IDE)の開発のために作られたフレームワークで、VSCodeなど、IDEをこれで開発するのがちょっとした流行です。
    しかし日本語情報が少ない。
  9. React Native
    ReactをつかいつつNativeなJSでアプリ開発ができる。
    UIがネイティブなものを使用するという仕様になっているのが一大特徴。よって早いし安定している。
    App向けに開発したものをWebアプリに逆輸入するというなかなか強引なこともできちゃう。(React Native Browser
  10. NativeScript
    ReactなしのReact Native(みたいなもの)。NativeなJSでアプリ開発ができる。
  11. Weex
    React NativeのVue版のようなもの。もとはアリババ製。

ご参照ください。
光永でした!!!